テーマカスタマイザを使わずにecho get_theme_mod ();
を使用してwp_customize
テキストフィールドタイプのデフォルト値を出力し、何かを変更して保存する方法はありますか
私はもう一つの stackexchangeの質問を読みましたget_theme_mod
はテーマカスタマイザで保存した後にのみ何かを表示します。 wp_customize
設定のデフォルト値を出力できないのは、デフォルト値を使用する目的に反するようです。
それでは、ここで質問に戻ります。フロントエンドにwp_customize
設定のデフォルト値を自動的に表示する方法はありますか?
残念ながら、すべてのカスタマイズコントロールはcustomize_register
にフックされているので、初めてテーマをカスタマイズするときにのみ機能します。
get_theme_mod()
は「デフォルト」の値に2番目の引数を取ります - はい、それはあなたのコード内のデータの2つのインスタンスを意味しますが、それは半解決策です。
もっと多くの _ dry _ /アプローチはグローバルとヘルパー関数のカップリングだろうと思います:
$my_theme_defaults = array(
'foo' => 'bar',
'baz' => 'boo',
);
function my_theme_customize( $wp_customize ) {
global $my_theme_defaults;
$wp_customize->add_setting(
'foo',
array(
'default' => $my_theme_defaults['foo'],
)
);
}
function my_theme_mod( $name ) {
global $my_theme_defaults;
echo get_theme_mod( $name, $my_theme_defaults[ $name ] );
}
実際にはデフォルト値を出力することができます。正しい方法はこのようにあなたのモッズのデフォルトを設定することです:
echo get_theme_mod( 'MOD_ID', 'YOUR DEFAULT OUTPUT' );