自制wordpress主题中特定页面的侧边栏

时间:2013-09-02 14:38:24

标签: php wordpress templates if-statement sidebar

我正在研究由一些人自己设计的主题。主题默认为右侧边栏。

我为视频页page-videos.php制作了新模板,并在那里调用了2个侧边栏(左侧和右侧)。

视频页面显示视频帖子的摘录。视频帖子的模板文件为tpl-video.php

视频页面调用视频帖子的模板,如: while ( have_posts() ) : the_post(); { get_template_part('tpl-video');

Video Post模板没有调用侧边栏,只有内容编码, 模板的开头:<?php if( is_single() ) { ?> 模板结尾:<?php } ?>

现在我想调用相同的布局或侧边栏Video Post模板,我为视频页面制作。

但结果是默认和视频页面模板的混合意味着有3个侧边栏,2个右侧和1个左侧。

当我将'tpl-video.php'模板设为默认模板'page.php'时,它会更改视频页面上的设置, 可能是由page-videos.php中的这一行引起的: while ( have_posts() ) : the_post(); { get_template_part('tpl-video');

请任何人指导我通过tpl-video.php在视频帖子页面添加左侧边栏而不会打扰任何其他内容的解决方案。

3 个答案:

答案 0 :(得分:0)

在没有查看主题的实际代码的情况下难以回答。 但是通过你所说的“默认情况下主题有右侧边栏”。然后你说“并在那里打电话给2个侧边栏(左边和右边)。”然后表明它有3个侧边栏,这是默认的右侧边栏,你添加它的左侧和右侧看起来像默认的侧边栏挡住了你的方式。

查看调用默认侧边栏的位置,并根据模板调用将其设为if语句

或者,如果您只想要1个右侧边栏,则不应将其添加到视频模板中,只添加左边的一个,因为默认情况下右边的那个

HTH 埃德

答案 1 :(得分:0)

我不确定我是否正确理解您的问题,但如果您需要在特定模板中添加侧边栏,则可以先检查侧边栏是否处于活动状态,然后将其加载到您想要的任何模板中。如果对于单个帖子,您可能会执行以下操作:

if( is_single() ) {    
    if ( is_active_sidebar( 'SIDEBAR_ID' ) )
         dynamic_sidebar( 'SIDEBAR_ID' );
}

如果我不理解你的问题,请告诉我。

答案 2 :(得分:0)

请访问测试页面并查看其中的帖子。 fruityim.com/testing/videos

这是主视频页面和视频帖子的链接,它们有不同的模板。类似于在帖子上应用页面模板而不影响页面的外观。