1

我在我的 Wordpress 网站的 functions.php 文件中定义了以下函数,它应该提供打开或关闭评论的选项:

$wp_customize->add_section( 'display_comments', array(
    'title'     => 'Comments',
    'priority'  => 36,
) );

$wp_customize->add_setting( 'mytheme_comments' );

$wp_customize->add_control( 'mytheme_comments', array(
    'label'   => 'Comments on or off',
    'section' => 'display_comments',
    'type'    => 'select',
    'default' => 'Off',
    'choices' => array(
        'value1' => 'On',
        'value2' => 'Off',
        ),
) );

然后我在我的 single.php 文件中有这个,这是显示单个博客文章的页面:

<?php if (get_theme_mod ( 'mytheme_comments' == 'On' ) ) : ?>
<?php comments_template(); ?>
<?php elseif (get_theme_mod ( 'mytheme_comments' == 'Off' ) ) : ?>
<?php endif ?>

默认情况下评论是关闭的,但从下拉列表中选择“开启”没有任何效果。

有什么想法我可能做错了吗?

4

1 回答 1

3

你应该改变

if (get_theme_mod ( 'bistheme_comments' == 'On' ) )

if (get_theme_mod ( 'bistheme_comments') == 'On'  )

elseif (get_theme_mod ( 'mytheme_comments' == 'Off' ) )

elseif (get_theme_mod ( 'mytheme_comments') == 'Off'  )

重写代码的更好方法

$var = get_theme_mod('mytheme_comments');
if ($var == 'On') {
    comments_template();
} else if ($var == 'Off') {
    // Var is Off
} else {
    // Var was not set 
}
于 2012-10-12T10:43:38.953 回答