为自定义帖子类型设置模板

时间:2013-06-26 作者:OC2PS

我正在使用Weaver II Pro 主题1.3.8和WordPress 3.5.2

该主题非常灵活,提供了许多模板。在单独的页面上,我甚至可以选择要使用的模板,这既酷又方便。

是否有办法为特定的自定义帖子类型指定特定模板,例如bbPress论坛页面没有侧栏,或者时间没有侧栏。ly多功能活动日历等?

3 个回复
SO网友:jounileander

如果您的主题和插件遵循基本的WP模板层次结构,并且不同的内容类型实际上有自己的自定义帖子类型,那么您应该能够通过模板命名来实现这一点。从中了解更多信息http://codex.wordpress.org/Post_Type_Templateshttp://codex.wordpress.org/Template_Hierarchy

不幸的是,许多插件(以及一些主题)都有自己的模板结构,这可能会导致问题。

如果不能使用模板命名,可以检查主模板中的当前帖子类型,并通过If-else语句输出侧栏和其他内容(参见下面的示例)。

if ( get_post_type() == \'yourposttypewithsidebar\' )
{
    get_sidebar();
}
else
{
    // don\'t show sidebar
}

SO网友:Remi

创建单个模板,如:single-{post_type}.php 在你的主题的根。

另请参见:http://codex.wordpress.org/Post_Types#Custom_Post_Type_Templates

SO网友:mantis

这取决于自定义帖子类型的设置方式。在管理页面上检查帖子类型,看看是否有一个名为“页面属性”的框这将允许您从现有模板中进行选择。否则,你很可能不得不像其他人所说的那样创建自己的。您需要为最相似的页面复制模板(即另一个没有侧栏的页面),并将其另存为single-{post_type}.php 例如,如果您的自定义帖子类型称为product,则会将其称为single-product.php.

对于bbpress,您必须命名要复制的页面forum.php. 通常,您只需删除侧栏即可摆脱侧栏<?php get_sidebar(); ?>但您可能需要相应地修复其余内容。

结束

相关推荐

Custom Post Type Templates?

是否可以为自定义帖子类型设置模板?例如,您有一个具有4种不同布局变体的公文包页面,您希望用户能够选择此帖子/页面所需的布局?想知道你们这些好人有没有办法?谢谢:)