Práce s databází pomocí třídy $wpdb

**Načtení** ID a nadpisů čtyř nejnovějších příspěvků a jejich seřazení podle počtu komentářů (sestupně):

/—code php
get_results(„SELECT ID, post_title FROM $wpdb->posts WHERE post_status = ‚publish‘
AND post_type=’post‘ ORDER BY comment_count DESC LIMIT 0,4“)

// Echo the title of the first scheduled post
echo $posts[0]->post_title;
?>
\—

Objekt $results obsahuje pole s výsledky.

**get_row** načte pouze jediný záznam z tabulky:

/—code php
get_row(„SELECT ID, post_title FROM wp_posts WHERE post_status = ‚publish‘
AND post_type=’post‘ ORDER BY comment_count DESC LIMIT 0,1“)

// Echo the title of the most commented post
echo $posts->post_title;
?>
\—

**get_col** načte celý sloupec:

/—code php
get_col(„SELECT ID FROM wp_posts WHERE post_status = ‚publish‘
AND post_type=’post‘ ORDER BY comment_count DESC LIMIT 0,10“)

// Echo the ID of the 4th most commented post
echo $posts[3]->ID;
?>
\—

**get_var** načte jedinou hodnotu:

/—code php
get_var(„SELECT user_email FROM wp_users WHERE user_login = ‚danielpataki‘ „)

// Echo the user’s email address
echo $email;
?>
\—

**Vkládání do databáze**

/—code php
insert( $table, $data, $format);
$wpdb->insert($wpdb->usermeta, array(„user_id“ => 1, „meta_key“ => „awesome_factor“, „meta_value“ => 10), array(„%d“, %s“, „%d“));

// odpovídá:
// INSERT INTO wp_usermeta (user_id, meta_key, meta_value) VALUES (1, „awesome_factor“, 10);
?>
\—

**Updatování databáze:**

/—code php
// $wpdb->update($table, $data, $where, $format = null, $where_format = null);

// $where parameter – can be an array in the form of column-value pairs:
$wpdb->update( $wpdb->posts, array(„post_title“ => „Modified Post Title“), array(„ID“ => 5), array(„%s“), array(„%d“) );
\—

„Zdroj »“:http://wp.smashingmagazine.com/2011/09/21/interacting-with-the-wordpress-database/