WordPress:Advanced Custom Fieldsの「関連」フィールドで、日付や作成者などタイトル以外の情報も表示させる方法

WordPress:Advanced Custom Fieldsの「関連」フィールドで、日付や作成者などタイトル以外の情報も表示させる方法

WordPressでカスタムフィールドを扱いやすくするプラグイン「Advanced Custom Fields」の「関連」フィールドタイプで、デフォルトでは記事選択部分には基本的にタイトルのみが表示されていますが、そこへ日付や作成者など任意な情報も表示させる方法です。

※「Advanced Custom Fields」の概要や使用方法については省略します。
また、ここで紹介しているものは Ver 4.4.12 で検証した内容になります。

関連フィールド内で表示させる情報はacf/fields/relationship/resultを使用することでカスタマイズが可能で、同じ記事タイトルにすることはほぼないと思うのでタイトル表示だけでも十分ではありますが、何らかの理由で別の情報も表示させたいというときに使えます。

関連フィールドのタイトル表示部分に日付を追加

ここではサンプルとして上のイメージ(右)のようにタイトルだけでなくその上に記事公開日も表示されるようにしていきます。
実装にはfunctions.phpに下記のように記述し、デフォルトで記事タイトルのみを表示させている$titleの部分に日付と改行を追加しています。

functions.php

add_filter( 'acf/fields/relationship/result', 'custom_acf_relationship_result', 10, 4 );
function custom_acf_relationship_result( $title, $post, $field, $post_id ) {
  $rr_date = get_the_time( 'Y.m.d', $post->ID );
  $title = '[' . $rr_date . ']<br>' . $title;
  return $title;
}

同じ要領で他の情報を表示することも可能で、例えば下記のように記述すれば記事タイトル上に作成者を表示させることができます。

functions.php

add_filter( 'acf/fields/relationship/result', 'custom_acf_relationship_result', 10, 4 );
function custom_acf_relationship_result( $title, $post, $field, $post_id ) {
  $rr_author = get_the_author();
  $title = '[' . $rr_author . ']<br>' . $title;
  return $title;
}

Close the search window,
please press close button or esc key.