サポート » プラグイン » 「新規投稿を追加」ボタンをクリックした時にカスタムフィールドにデフ

  • 解決済 t.katayose

    (@tkatayose)


    wordpress ver.3.6.1
    Advanced custom fields ver.4.2.2 を使っています。

    新規投稿時、カスタムフィールドにデフォルト値(プロフィールから取得した値)を設定したく、function.phpに以下のように書込み実現しました。

    function load_basic_address( $basic_address ) {
    	$basic_address = get_user_option('basic_address');
    	return $basic_address;
    }
    add_filter('acf/load_value/name=address', 'load_basic_address');

    ※ $basic_address は、Advanced custom fields で作成したプロフィール画面の住所欄です。

    ただ、これだと新規投稿画面で「公開」ボタンをクリックした際にもデフォルト値を読み込んでしまいます。

    つまり、「新規投稿を追加」ボタンクリック時に読み込んだ値を修正しても意味が無くなってしまうのです。

    新規投稿を追加ボタンをクリックしたときだけ適用するにはどのように書けば良いでしょうか。

    ご教示、よろしくお願い致します。

    ※以下の質問の続きです。
    Advanced Custom Fields のデフォルト値に変数を設定したい。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター jim912

    (@jim912)

    ちょい遠回りな感じにもなりますが、load-post-new.php フックで add_filter をかけるようにすると、新規投稿時のみフィルターフックをかけられるはずです。

    function load_basic_address( $basic_address ) {
    	$basic_address = get_user_option('basic_address');
    	return $basic_address;
    }
    
    function add_default_address_filter_hook() {
    	add_filter('acf/load_value/name=address', 'load_basic_address');
    }
    add_action( 'load-post-new.php', 'add_default_address_filter_hook' );
    トピック投稿者 t.katayose

    (@tkatayose)

    jim912さま

    ご教示、ありがとうございます。
    確かに実現できました!ありがとうございます!

    ※単純な所でつまづいて、確認・返信が遅れてしまいました。すみません。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「「新規投稿を追加」ボタンをクリックした時にカスタムフィールドにデフ」には新たに返信することはできません。