我正在尝试包含动态侧栏来解压主题。我创建了子模板,然后创建了所有文件,现在我有了一段显示内容和侧栏区域的代码。
在里面functions.php
我创建了动态侧栏:
add_action( \'widgets_init\', function () {
$args = array(
\'name\' => __( \'Sidebar Messages Single\', \'uncode\' ),
\'id\' => \'sidebar-messages-single\',
\'description\' => \'\',
\'class\' => \'dynamic-widget\',
\'before_widget\' => \'<li id="dynamic-sidebar" class="widget">\',
\'after_widget\' => \'</li>\',
\'before_title\' => \'<h2 class="widgettitle">\',
\'after_title\' => \'</h2>\'
);
register_sidebar( $args );
});
然后在
single-portfolio.php
我正在尝试包括那个侧边栏。
$sidebar_widgets = is_active_sidebar( \'sidebar-messages-single\' ) ? dynamic_sidebar( \'sidebar-messages-single\' ) : null;
$the_content = \'<div class="row-container">
<div class="row row-parent\' . $row_classes . $limit_content_width . \'">
<div class="row-inner">
\' . (($layout === \'sidebar_right\') ? $main_content : \'\') . \'
<div class="col-lg-\' . $sidebar_size . \'">
<div class="uncol style-\' . $portfolio_style . $expand_col . $sidebar_padding . (($sidebar_fill === \'on\' && $portfolio_bg_color !== \'\') ? \'\' : $sidebar_sticky) . \'">
<div class="uncoltable\' . (($sidebar_fill === \'on\' && $portfolio_bg_color !== \'\') ? $sidebar_sticky : \'\') . \'">
<div class="uncell\' . $sidebar_inner_padding . \'">
<div class="uncont">
<div>
\' . $sidebar_widgets . \'
</div>
\' . $footer_content . \'
</div>
</div>
</div>
</div>
</div>
\' . (($layout === \'sidebar_left\') ? $main_content : \'\') . \'
</div>
</div>
</div>\';
在我看来,一切都很好,但当我渲染页面时,我得到了这个结果。
边栏应该呈现的位置I get int(一)。而侧边栏是在另一个地方渲染的。
起初我以为它是通过JavaScript操纵DOM的,但当我调试并禁用JS时,它的工作原理是一样的。
此外,当我将普通字符串添加到<div>
旁边的变量$sidebar_widget
. 字符串呈现在正确的位置。
非常感谢您的帮助!