ソーシャルリンクというカスタマイザに新しいセクションを設定し、その下にFacebookというオプションとテキストフィールドコントロールを設定しました。これが私のfunctions.phpのコードです。
// SOCIAL LINKS
$wp_customize->add_section( 'social_links_section' , array(
'title' => __( 'Social Links', 'my_theme' ),
'priority' => 100,
) );
// Facebook
$wp_customize->add_setting( 'social_link_facebook' , array(
'default' => ''
) );
$wp_customize->add_control(
'social_link_facebook',
array(
'label' => __( 'Facebook', 'my_theme' ),
'section' => 'social_links_section',
'settings' => 'social_link_facebook',
'type' => 'url',
)
);
しかし、テーマテンプレートファイルでsocial_link_facebookの値を取得しようとしても、何も返されません。これが私のheader.phpのコードです。
<?php $facebook = get_option( 'social_link_facebook' );
if( !empty($facebook) ) { ?>
<a href="<?php echo $facebook ?>" target="_blank" ><span class="dashicons dashicons-facebook-alt"></span></a>
<?php } ?>
なぜこれがあるかもしれないの任意のアイデア?
これを解決するには2つの方法があります。
1 modをそのままにして、get_theme_mod
の代わりにget_option
を使用する
2設定を変更して、MODをオプションとして保存します。
$wp_customize->add_setting( 'social_link_facebook' , array(
'default' => '',
'type' => 'option'
) );