所以我试图建立一个条件语句来根据所选的选项显示不同的布局。
有点麻烦。
$wp_customize->add_setting('layout', array(
'default' => 'stream',
)); // add our default setting.
$wp_customize->add_control('layout', array(
'label' => __('Select layout', 'Ari'),
'section' => 'layout',
'settings' => 'layout',
'type' => 'radio',
'choices' => array(
'stream' => 'Stream',
'grid' => 'Grid',
),
)); // use radio buttons with (so far) two choices.
$wp_customize->add_section('layout' , array(
'title' => __('Layout','Ari'),
)); // add our layout section in the customize panel.
显示我们的布局。
<?php if ( get_theme_mod( 'stream' ) ) : ?>
<p>stream</p> if ( have_posts() ) etc
<?php elseif ( get_theme_mod( 'grid' ) ) : ?>
<p>grid</p> // if ( have_posts() ) etc
<?php else : //Nothing ?>
<?php endif; ?>
就什么都没有。我已经浏览了手抄本,但我无法看清我做错了什么。它只是没有显示任何输出。
@Stewartside指出我应该使用get_setting,但我无法使用它。任何人吗?
答案 0 :(得分:0)
get_theme_mod()
返回一个字符串,而不是布尔值。因此,您的if
语句将始终失败,因为他们期望1
或true
或0
或false
。
您应该在get_setting
功能中使用$wp_customize
。