$wpdbはワードプレスのデータベース接続のためのグローバル変数です。$wpdbをワードプレス外のPHPファイルから高速で利用できるようにし、データベースのデータ処理を行う方法を解説いたします。
$wpdbを利用してデータベースのデータを処理する
下記のコードで$wpdbをワードプレス外のPHPから高速で利用できるようにすることができます。
define( 'SHORTINIT', true ); require( 'wp-load.php' );//ワードプレスのコアファイルのwp-load.phpのパスを指定します global $wpdb;
最初の1行のdefine( ‘SHORTINIT’, true ); という表記が、ワードプレスの最小限の機能しか使用しないで高速で初期化するという意味になります。
この表記がある場合、最小限の機能($wpdbは可)しか利用できませんので
・フィルターやアクションは利用できません
・ユーザーのログイン状況は取得できません
・テーマやプラグインの関数は使用できません
といった形になり、基本的にはデータベース関連の処理のみとなりますのでご注意ください。
$wpdbを使用してデータを呼び出す
上記の読み込みを追加すれば後は一般的な$wpdbの利用方法で、データベースのデータを自由に処理することが可能です。
下記のコードは$wpdbを使用して、コンテンツに日本が含まれる投稿を取得してそのIDを出力するコードです。
define( 'SHORTINIT', true ); require( 'wp-load.php' ); global $wpdb; $query = "SELECT * FROM $wpdb->posts WHERE post_content like '%日本%' and post_status = 'publish'"; $results = $wpdb->get_results( $query ); foreach ($results as $row){ echo $row->ID; }
そのほか$wpdbを利用するコードはる義の記事を参考にされてください
ワードプレスの$wpdbでSQLを実行する技5選
WordPress ワードプレスのテーマやプラグインの修正、ワードプレスサイトの復旧のご依頼・ご相談はWPドクターまでお気軽にお送りください