概要
ショートコードを使えばサーバサイドにある 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 件のコメント:
コメントを投稿