【実装背景】
背景としては、カスタム投稿が公開された時に全購読者権限を持つユーザーにフラグを追加して、その記事を閲覧すれば、そのフラグを起こして該当記事の既読or未読の管理をしたくこのようにしております。
Wordpressでカスタム投稿が公開された時にuser_metaにフラグを追加したく、add_actionでカスタム投稿の公開時にadd_filterでuser_meta情報を追加しています。(下記コード参照)
php
1/* カスタム投稿(連絡事項[tag='info'])公開時にuser_metaにフラグ追加 */ 2add_action( 'transition_post_status', function( $new_status, $old_status, $post ) { 3 if ( 'publish' == $new_status && 'publish' != $old_status && 'info' == $post->post_type ) 4 { 5 $post_id = $post->ID; 6 $info_flg = 'info-' . $post_id; 7 add_filter('user_contactmethods', 8 function($user) 9 { 10 $user[$info_flg] = '連絡事項(' . $post_id . ')フラグ( 既読:1, 未読:0)'; 11 return $user; 12 }, 13 10, 14 1); 15 } 16}, 10, 3 );
ですが、user_metaにフラグが追加されません。
どうもadd_filterが動いていないような感じです。
もしかして、add_actionの中では、add_filterはできないのでしょうか。
改善策や他の良いやり方があればご教授いただきたいです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/01/28 03:16