我有一个名为'Property'
的帖子类型。
我想以两种不同的方式展示单一帖子。
如果有人点击帖子,那么它将显示一个名称为帖子和描述的简单布局。
现在我也有床的类别。现在,如果有人进入类别'2 Bed'
,那么您可以查看包含'2 Bed'
类别('its done'
)的所有帖子。但现在如果有人点击帖子那么它必须显示不同的单页。
我的英语很差,请原谅。
答案 0 :(得分:2)
您可以使用single_template挂钩为单个类别设置单个模板。
将它放在你的functions.php文件中:
function my_category_templates($single_template) {
global $post;
if ( in_category( 'property' )) {
$single_template = dirname( __FILE__ ) . '/single-property.php';
}
// Copy the above for your other categories
return $single_template;
}
add_filter( "single_template", "my_category_templates" );
然后,您可以为每个类别创建单独的单个模板,只需添加更多条件并将其指向您创建的模板。
答案 1 :(得分:0)
有类别模板的概念,如下所示 模板层次结构但是因为你在询问如何显示"单个"发布基于类别,您将需要使用模板文件中的in_category()条件标签来显示单个帖子。 Loop文章有一个使用in_category的例子。
或者看看这个概念: http://www.nathanrice.net/blog/wordpress-single-post-templates/
或者这个: http://justintadlock.com/archives/2008/12/06/creating-single-post-templates-in-wordpress
或者这个插件: http://wordpress.org/extend/plugins/custom-post-template/
或者这个插件: http://guff.szub.net/2005/07/21/post-templates-by-category/
答案 2 :(得分:0)
因此,根据Wordpress模板层次结构,只有一个single.php,不能按类别分隔(例如存档页面。)
https://developer.wordpress.org/themes/basics/template-hierarchy/
因此,在这种情况下,我建议您阅读single.php文件中的当前类别ID,然后根据需要调整内容。您可以使用get_the_category()执行此操作(参考:https://developer.wordpress.org/reference/functions/get_the_category/),它将返回一个包含类别的数组。在我的简单示例中,我只选择第一个类别来执行某些操作:
$categories = get_the_category();
$category_id = $categories[0]->cat_ID;
if($category_id == 1) echo 'do something here';
答案 3 :(得分:0)
谢谢你的帮助。我自己完成了。 我为简单格式创建了single.php,并且在类别结果中,我没有使用the_permalink并调用post的id并创建了一个像http://localhost/demo/page?id= $ id
的网址