尝试将一些代码添加到WordPress

时间:2016-03-09 05:27:07

标签: php wordpress

我正在尝试仅为存档页面添加文本小部件。下面的第一个代码块是主题的默认代码。

if (Bunyad::posts()->meta('featured_slider') == 'rev-slider' && function_exists('putRevSlider')) {

    echo '<div class="main-featured"><div class="wrap cf">'
        . do_shortcode('[rev_slider ' . esc_attr(Bunyad::posts()->meta('slider_rev')) .']')
        . '</div></div>';

    return;
}

除了上面的代码,我在它下面直接添加了第二个块。唯一的区别是我在第一行添加&& is_archive()以定位所有存档页面以及从第5行开始的三行代码。

if (Bunyad::posts()->meta('featured_slider') == 'rev-slider' && function_exists('putRevSlider') && is_archive() {

    echo '<div class="main-featured"><div class="wrap cf">'

        if (!dynamic_sidebar('categories')) :
            _e('', 'bunyad');
        endif;

        . do_shortcode('[rev_slider ' . esc_attr(Bunyad::posts()->meta('slider_rev')) .']')
        . '</div></div>';

    return;
}

结果是一个空白页面,所以这里显然有问题。是否有某种方法可以将这两个块压缩成更优雅的东西?

1 个答案:

答案 0 :(得分:0)

由于语法错误,可能会显示白页。 if块位于echo的中间。尝试类似:

if (Bunyad::posts()->meta('featured_slider') == 'rev-slider' && function_exists('putRevSlider') && is_archive()) {

    echo '<div class="main-featured"><div class="wrap cf">';

    if (!dynamic_sidebar('categories')) :
        _e('', 'bunyad');
    endif;

    echo do_shortcode('[rev_slider ' . esc_attr(Bunyad::posts()->meta('slider_rev')) .']') . '</div></div>';

    return;
}