我正在尝试仅为存档页面添加文本小部件。下面的第一个代码块是主题的默认代码。
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;
}
结果是一个空白页面,所以这里显然有问题。是否有某种方法可以将这两个块压缩成更优雅的东西?
答案 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;
}