開発初心者・Wordpress 初心者です。
Wordpress でウェブサイトを作っていて、MySQL で登録ユーザーに関する情報のレコードを直接修正しようとしたのですが、Dataabse 上では反映されても WP のサイト上では表示されません。DB から MySQL で直接修正したデータは、その後なにか追加の処理をしないと本番サイトに反映されないのでしょうか?
(フロントエンドからは、Ultimate Member というプラグインをつかって登録時の入力項目を増やしています)
###やったこと
- 開発環境(VirtualBox / Vagrant)内で MySQL にログイン
sudo mysql -u root
- 使うテーブルを選択:
SHOW databases;
=>USE wordpress_project;
- 使用するテーブルの構造を確認
DESCRIBE wp_usermeta;
↓結果
+------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+---------------------+------+-----+---------+----------------+ | umeta_id | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | user_id | bigint(20) unsigned | NO | MUL | 0 | | | meta_key | varchar(255) | YES | MUL | NULL | | | meta_value | longtext | YES | | NULL | | +------------+---------------------+------+-----+---------+----------------+
- 参照したい meta_key で参照
SELECT * FROM wp_usermeta WHERE meta_key = 'title';
↓結果(イメージ)
+----------+---------+----------+-----------------------+ | umeta_id | user_id | meta_key | meta_value | +----------+---------+----------+-----------------------+ | 226 | 1 | title | AAA | | 250 | 3 | title | CCC | | 433 | 4 | title | DDD | +----------+---------+----------+-----------------------+
- user_id = 2 のユーザーに対して title の metadata を追加したいので MySQL で挿入
INSERT INTO wp_usermeta (user_id, meta_key, meta_value) VALUES (2, 'title', 'BBB');
- DB のレコードに反映されたことを確認
SELECT * FROM wp_usermeta WHERE meta_key = 'title';
(同様)
↓結果(イメージ)
+----------+---------+----------+-----------------------+ | umeta_id | user_id | meta_key | meta_value | +----------+---------+----------+-----------------------+ | 226 | 1 | title | AAA | | 250 | 3 | title | CCC | | 433 | 4 | title | DDD | | 561 | 2 | title | BBB | +----------+---------+----------+-----------------------+
しかし、サイト上で該当ページを更新してみても、他のユーザーなら AAA や CCC と表示される場所に、ユーザー 2 に対しては BBB は引き続き表示されませんでした。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。