wpdb()


WordPressの関数wpdb()は、WordPressデータベースにアクセスするために使用される非常に重要なクラスです。この関数は、クエリの実行、データの取得、挿入、更新、削除など、多くの操作を簡単に実行できます。

構文

global $wpdb;

主なプロパティとメソッド

  • $prefix (string) — テーブル名のプレフィックスを取得します。
  • get_results() (method) — カスタムクエリから結果を取得します。
  • insert() (method) — テーブルに新しいレコードを挿入します。
  • update() (method) — 既存のレコードを更新します。
  • delete() (method) — レコードを削除します。

例 1: データの取得

以下のコードは、wp_postsテーブルから公開された投稿を取得します。

<?php
global $wpdb;
$results = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} WHERE post_status = 'publish'" );
?>

例 2: データの挿入

以下のコードは、wp_my_tableに新しいレコードを挿入します。

<?php
global $wpdb;
$wpdb->insert(
    "{$wpdb->prefix}my_table",
    array(
        'name' => 'サンプルデータ',
        'value' => '1234'
    )
);
?>

例 3: データの更新

以下のコードは、wp_my_tableの特定のレコードを更新します。

<?php
global $wpdb;
$wpdb->update(
    "{$wpdb->prefix}my_table",
    array(
        'value' => '5678'
    ),
    array(
        'name' => 'サンプルデータ'
    )
);
?>

例 4: データの削除

以下のコードは、wp_my_tableから特定のレコードを削除します。

<?php
global $wpdb;
$wpdb->delete(
    "{$wpdb->prefix}my_table",
    array(
        'name' => 'サンプルデータ'
    )
);
?>

例 5: プリペアードステートメントの使用

以下のコードは、プリペアードステートメントを使用して安全にデータを取得します。

<?php
global $wpdb;
$results = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->posts} WHERE post_status = %s", 'publish' ) );
?>

注意事項

  • 直接クエリを使用する場合、SQLインジェクションに注意してください。prepare()メソッドを使用してクエリを安全に処理してください。
  • wpdbクラスはグローバル変数$wpdbとして利用できます。

関連機能: