ブログ

【WordPress】ACF Pro「関連フィールド」の選択肢から現在の投稿を除外する方法

WordPressのプラグイン「Advanced Custom Fields」のPro版にある「関連フィールド」をご存じでしょうか?

ある記事の関連記事を表示したい場合、カテゴリーやタグなど条件として出力させることで、関連記事として出力させる事ができますが、任意の記事を手動で関連記事として紐づけたい場合は少々面倒です。

そんな時にACF Proの「関連フィールド」を使えば、管理画面内から指定した条件で記事や固定ページを抽出して、記事が一覧表示されます。その一覧から記事を選択するだけで、関連記事を現投稿記事に紐づけることができるようになります。

ただし、管理画面内で表示される記事の一覧には、関連付けようとしてる現投稿記事も表示されます。表示されたところで大して困らないのですが、この記事選択肢一覧から現投稿記事を除外する方法のご紹介です。

除外方法

functions.phpに以下のコードを追記してください。

add_filter( 'acf/fields/relationship/query', 'custom_acf_relationship_query', 10, 3 );
function custom_acf_relationship_query( $args, $field, $post_id ) {
  $args['post__not_in'] = array( $post_id );
  return $args;
}

上記で関連フィールドの記事選択肢一覧から、現投稿記事が表示されなくなります。関連記事に現投稿を選択する間違いを無くす程度の効果しかありませんが、クライアントさんにはやさしい気配りかと思います。

この記事を書いた人管理人

SAKURAGRAPHICA代表
会社員の傍ら、フリーランスでWEBサイトの制作やWordPressによるCMSの構築・障がい者の就労支援としてホームページ制作の指導を行っております。

SAKURAGRAPHICAができること

最近の記事 おすすめ記事
PAGE TOP