かわろぐ

ITビジネス、ガジェット、メディア、経済、子育て、遊び、飯とかなんでも配信していくよ。WordPress関連の記事はメモ感覚で書いてるので、乱文で失礼仕り候。ガジェ通とかにも記事提供してるので、よろしくね!

update_comment_metaは使えない!?

LINEで送る
Pocket

とりあえずupdate_comment_metaをやってみる

どうやら「update_comment_meta」という関数でコメントのmeta_keyの値を変更できるらしい。
※結果「update_comment_meta」は使えなかったよ!
return update_comment_meta('2','comment_author_email','a@b.com');

途中結果:失敗!update_comment_metaは使えなかったよ!

なにも変わらないのでphpMyAdminでデータベースを確認してみる

001

やっぱだめだね。

今いれた「a@b.com」を検索してみる

003

あれ、いるじゃん!
結論、update_comment_metaという関数はwp_commentmetaのキーや値を変更したりするものであって、wp_commentsのキーや値を変更するもんじゃないらしい。

 

失敗の原因

DBを見る限り、update_comment_metaは、単純にwp_commentmetaの登録データを変更したり、更新したりするものであって、そのコメント自体のメタキーとかを変えるもんじゃないらしい。

wp_update_commentというものを発見する

いろいろ調べていく中でwp_update_commentってもんを発見。
wp_update_comment」で検索しても日本語のリファレンスとかは全然出てこない。。。
めんどくさいけど、英語を読んでみると、どうやらwp_update_commentでいけるっぽい。

参考サイト(英語):https://codex.wordpress.org/Function_Reference/wp_update_comment

とりあえずwp_update_commentをやってみる

とりあえずリファレンス通りにやってみる
$commentarr = array();
$commentarr['comment_ID'] = 2;
$commentarr['comment_author_email'] = 'a@b.com';
wp_update_comment( $commentarr );

最終結果:成功!コメントのmeta_keyの値はwp_update_commentでできる!

002

実行した結果、ちゃんとcomment_author_emailの値がa@b.comに変更されてました!

成功方法まとめ

特定のコメントの値を変更するには

× update_comment_meta
○ wp_update_comment

ということ。

成功したコード

$commentarr = array();
$commentarr['comment_ID'] = 2;
$commentarr['comment_author_email'] = 'a@b.com';
wp_update_comment( $commentarr );
LINEで送る
Pocket

-WordPress, 記事一覧
-, , , ,