我正在使用一种使用普通WordPress类别的自定义帖子类型
我可以修改我的类别模板,以准确显示我的自定义帖子类型。
问题是,一旦我这样做,正常的博客帖子也会受到影响。
当然,我可以将普通博客帖子或帖子类型限制为一个类别,并创建一个category-ID.php来处理该类别。
但我想知道是否有更灵活的解决方案
是否可以制作特定于帖子类型的类别模板,即一个用于显示帖子,一个用于显示自定义帖子类型等?
这有可能吗?如果没有,最好的解决方法是什么?
我正在使用一种使用普通WordPress类别的自定义帖子类型
我可以修改我的类别模板,以准确显示我的自定义帖子类型。
问题是,一旦我这样做,正常的博客帖子也会受到影响。
当然,我可以将普通博客帖子或帖子类型限制为一个类别,并创建一个category-ID.php来处理该类别。
但我想知道是否有更灵活的解决方案
是否可以制作特定于帖子类型的类别模板,即一个用于显示帖子,一个用于显示自定义帖子类型等?
这有可能吗?如果没有,最好的解决方法是什么?
对于具有自定义分类法的自定义帖子类型,可以为该分类法创建模板。您的自定义分类模板将命名为taxonomy-{taxonomy}.php
. 例如,如果您的分类法被称为“烹饪类别”,您将命名您的文件taxonomy-cooking-categories.php
.
有关特殊分类法档案的模板文件的更多信息,请参见codex:http://codex.wordpress.org/Template_Hierarchy#Custom_Taxonomies_display
你可以根据帖子类型这样说:假设你有category.php
对于常规职位和your-custom-type-category.php
对于您自定义的帖子类型,只需将其添加到您的常规类别中即可。php位于最顶端。
<?php if (have_posts()){
the_post();
if( \'your_custom_type\' == get_post_type( $post ) ) {
rewind_posts();
get_template_part(\'your-custom-type-category\');
exit();
}
rewind_posts();
}
?>
现在,当需要分类时,它将检查您的自定义帖子类型,如果找到,它将使用您的your-custom-type-category.php
作为模板,所有常规帖子将使用category.php
没有变化。希望这有帮助
你好@Kelvin Jayanoris:
有什么原因不能只测试$post->post_type
使用if..elseif
在您的Loop, 像这样:
<?php if ($post->post_type==\'foo\'): ?>
Put HTML for \'foo\' post type here...
<?php else if ($post->post_type==\'bar\'): ?>
Put HTML for \'bar\' post type here...
<?php else if ($post->post_type==\'post\'): ?>
Put HTML for \'post\' post type here...
<?php endif; ?>
或者如果有原因,您无法以文件名的形式创建自己的模板文件名层次结构,如post-foo.php
, post-foo.php
, post-post.php
, 也在你的圈子里?这类代码可以做到这一点:<?php include("post-{$post->post_type}.php"); ?>
我正在尝试删除最后一个分隔符(通常是<br/> 标记,但我将其从wp\\u list\\u categories的最后一个链接更改为“/”)。基本上我想要这个:类别1//类别2//类别3//看起来像这样:类别1//类别2//类别3以下是我当前使用的代码:<?php $cat_array = array(); $args = array( \'author\' => get_the_author_meta(\'id\'),&#x