サポート » 使い方全般 » pre_get_commentsの絞り込みについて

  • 管理画面のコメントにつきまして、下記条件で絞込みを行いたいと思っております。

    ・コメントが追加された投稿(カスタム投稿も含む)のカスタムフィールドに値がある物だけ表示

    ログインしたユーザーが作成した投稿については、下記コードで絞込み表示ができたのですが、コメント通知のカスタマイズの関係で、別途カスタムフィールドに値を持たせてそこで絞込みができたらと考えております。

    function exclude_other_comments( $wp_comment_query ) {
        if ( is_admin() && !current_user_can( 'administrator' ) ) {
            $user = wp_get_current_user();
            $wp_comment_query->query_vars[ 'post_author' ] = $user->ID;
        }
    }
    add_action( 'pre_get_comments', 'exclude_other_comments' );

    下記のように「query_vars」のmeta_queryに対して外套のカスタムフィールドの値を試しに指定してみたのですが、管理画面ではコメントが見つかりませんと絞込みできませんでした。

    function exclude_other_comments( $wp_comment_query ) {
        if ( is_admin() && !current_user_can( 'administrator' ) ) {
            $user = wp_get_current_user();
            $wp_comment_query->query_vars['meta_query'] = array(
    			array(
    				'key' => 'cf',
    				'value' => 'aaa'
    			)
    		);
        }
    }
    add_action( 'pre_get_comments', 'exclude_other_comments' );

    「pre_get_comments」にて投稿データの情報を読み込むこと自体難しいのでしょうか?
    何か良い方法があればお教えいただけますでしょうか。

    ちょっと強引な気もしますが、コメントにもカスタムフィールドを追加し、コメントを追加したときに追加した投稿のカスタムフィールドの情報を複製するという方法も可能なのでしょうか。

    よろしくお願いいたします。

    • このトピックはnon888が10ヶ月、 3週前に変更しました。
  • トピック「pre_get_commentsの絞り込みについて」には新たに返信することはできません。