[WordPress] Advanced Custom Fieldsで設定したフィールドに値を動的に入れるフィルター

Advanced Custom Fields」で設定したリンクURLフィールドにPressThisからのURLを入れるのに使いました。

Press This Reloaded」をカスタマイズしていますが、カスタムフィールド「external_link」へURLを入れます。

function load() {
  ・
  add_filter('acf/load_value/name=external_link', array(__CLASS__, 'my_acf_load_value'));
  ・
}
function my_acf_load_value( $value ) {
  $value = self::$url;
  return $value;
}

参考:WordPress › Support » [Plugin: Advanced Custom Fields] Allow PHP in field ‘Default Value’

function my_acf_load_value( $value, $post_id, $field ) {
  if ( $value == 'php_default_hack' ) {
    // do your php magic here...
    $value = 'this is set from php';
  }
  return $value;
}
add_filter( 'acf/load_value/name=my_field', 'my_acf_load_value', 10, 3 );

ACFは設定も簡単だし、フィルターが使えるのがすごいですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)