WordPress:Advanced Custom Fieldsの「関連」フィールドで、公開済みの投稿のみ表示させる方法

  • Posted on
  • Category : WordPress
WordPress:Advanced Custom Fieldsの「関連」フィールドで、公開済みの投稿のみ表示させる方法

カスタムフィールドを扱いやすくするプラグイン「Advanced Custom Fields」で「関連」というフィールドタイプを利用することで関連記事を任意で選んで出力させることができますが、デフォルトだとその選択部分に下書きや非公開記事も含まれて表示されます。それを公開済みの投稿のみ表示させる方法です。

※以下で紹介する内容は「Advanced Custom Fields」を既に使用(有効化)している想定のものになります。

下書きや非公開状態の記事も表示されている

「関連」フィールドを利用すると投稿画面に上のイメージのようなボックスが表示され、ここで関連記事として表示させたいものを選択していくのですが、デフォルトのままだと下書き(draft)や非公開(private)な状態の投稿も選択一覧に表示されます。
ただ、ここで下書きや非公開状態の記事を選択することはほぼないでしょうし、そういった投稿が沢山あると邪魔になってくるので、それらを消して公開済みの投稿のみがこの一覧に表示されるようにします。

実装には下記をfunctions.phpに記述します。

functions.php

add_filter( 'acf/fields/relationship/query', 'custom_acf_relationship_filter' );
function custom_acf_relationship_filter( $args, $field, $post_id ) {
	$args['post_status'] = 'publish';
	return $args;
}
公開済みの記事だけが一覧に表示されている

記述後に関連記事を選択する部分を見てみると、もともと表示されていた下書きや非公開状態の投稿は表示されなくなり、公開済みの投稿のみが表示されているのを確認できます。

Back to Top

WordPress:Advanced Custom Fieldsの「関連」フィールドで、公開済みの投稿のみ表示させる方法

WordPress:Advanced Custom Fieldsの「関連」フィールドで、公開済みの投稿のみ表示させる方法

/ WordPress

NxWorld

Sorry... doesn't support your browser

To get the best possible experience using our site we recommend that you upgrade to a modern web browser.NxWorldではご利用中のブラウザサポートはしていません。
Internet Explorerのアップグレード行う、もしくはその他のブラウザを使用しての閲覧をお願いします。