Language
データベースから情報を取得する際に、通常のPHPではPDOなどを使用し、データを取得すると思われます。
ではワードプレスの場合にはどうでしょう?
ワードプレスには便利な関数が用意されています。
この$wpdb->prepare関数を使用することで、セキュリティ的にも安全にデータベースとのやりとりを行うことができます。
下記記載させていただきます。
これはデータベースから特定のページIDと日時で検索をし、情報を取得している例です。
IDは15、日時は2019-7-25となります。
まず、global $wpdb;でデータベースクラスを取得します。
$wpdbはWordPressデータベースとやりとりするためにあらかじめインスタンス化されていて、グローバル変数で宣言することで使用することができるようになります。
次にテーブル名を代入します。
詳しくはこちらの記事も参考になります。
https://global-s-h.com/article/ja_article.php?id=27
そして、その後に$wpdb->prepareが入ります。これはセキュリティを考慮しているため、第2引数、第3引数を使って値をプレースホルダーに代入する形をとっています。
今回は$post_idの15という数字が%dとして代入されています。そして、$current_nowである「2019-7-25」が%sに入ることになります。
この代入はお使いのPHPのバージョンにもよりますが、必ず使うようにします。
代入するものがなくても、第2引数、第3引数までのいずれかをあえて使うようにした方がいいと思います。
これを行わないとPHPのバージョンによっては動かないことがあるので注意が必要です。
また、あまり推進されていませんが、下記のように第2引数のダブルクオーテーション内を空にする方法もあります。
$wpdb->prepareに関して詳しくはCodexに書かれています
Codex ページはこちらから
そして、これらの結果を取得するのが、get_resultsです。
今回は$queryに取得した情報を$rowsに代入し、配列で代入されることになります。
get_resultsに関してCodexに書かれています
Codexページはこちらから
ワードプレスデータベースからデータを取得する際には、セキュリティ対策がされているこれらの関数を使用するといいでしょう。