2024年9月10日火曜日

Wordpress でショートコードを使ってデータベースの情報を取得する方法

Wordpress でショートコードを使ってデータベースの情報を取得する方法

概要

ショートコードを使えばサーバサイドにある functions.php を呼び出せるのでデータベースにある情報を表示することができます

環境

  • macOS 14.6.1
  • MySQL 9.0
  • Wordpress 6.6.1
  • docker 27.2.0

functions.php

function get_first_user_by_db() {
    global $wpdb;
    $result = $wpdb->get_results("SELECT user_login FROM wp_users LIMIT 1");
    foreach($result as $row) {
        return $row->user_login;
    }
}

add_shortcode ( 'first_user_name', 'get_first_user_by_db' );

ショートコード

[first_user_name]

動作確認

mysql> select user_login from wp_users limit 1;
+------------+
| user_login |
+------------+
| test       |
+------------+
1 row in set (0.00 sec)

おまけ: wordpress のテーブル一覧

mysql> show tables;
+-----------------------+
| Tables_in_wordpress   |
+-----------------------+
| wp_commentmeta        |
| wp_comments           |
| wp_links              |
| wp_options            |
| wp_postmeta           |
| wp_posts              |
| wp_term_relationships |
| wp_term_taxonomy      |
| wp_termmeta           |
| wp_terms              |
| wp_usermeta           |
| wp_users              |
+-----------------------+
12 rows in set (0.00 sec)

最後に

functions.php を使えばデータベースにある情報もサイトに表示することができます
他のデータベースにアクセスしたい場合は wordpress で使用しているユーザが他のデータベースにアクセスできるように権限設定する必要があります

functions.php は正直何でもできるのでこれだけ極めても Wordpress を使いこなせるようになると思います

参考サイト

0 件のコメント:

コメントを投稿