自定义帖子的Category.php模板

时间:2011-07-10 作者:daysrunaway

我正在尝试使用我的类别。php文件,用于显示具有给定类别的特定自定义帖子类型(例如“公司”)的所有帖子。然而,当我试图通过导航到域来使用它时。com/category/company/category1是由wp\\u list\\u categories()自动生成的链接,不会出现帖子。

我使用的代码是:

<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( \'type-company\', get_post_format() ); ?>
<?php endwhile; ?>
我做错了什么?

3 个回复
最合适的回答,由SO网友:daysrunaway 整理而成

我想出来了!对于有相同问题的人,我通过添加

$cat_id = get_query_var(\'cat\'); 
query_posts("post_type=company&cat=$cat_id");
就在环路的正前方。任何有同样问题的人也可能从this, 也

SO网友:Leo Caseiro

正确的方法是使用pre_get_posts 为此。

您可以在搜索时添加以显示。php和模板层次结构中的其他页面,如:

add_action(\'pre_get_posts\', function($query) {
    if ( ! is_admin() && $query->is_main_query() ) {

        if ( is_archive() || is_category() ) {
            $query->set( \'post_type\', \'company\' );
        }

        if ( $query->is_search() ) {
            $query->set( \'post_type\', array( \'company\' ) );
        }
    }
});
了解更多关于pre_get_posts() 你应该watch this talk of Andrew Nacin (WP的主要开发商之一)

SO网友:Chip Bennett

你在用核心吗category 分类法,通过将其应用于自定义帖子类型,或者您是否定义了自定义分类法?

如果使用自定义分类法,则需要使用模板文件taxonomy-{taxonomy}.php, 或taxonomy-{taxonomy}-{term}.php.

但实际上,使用category.phptaxonomy.php 真的可能不是你想做的。您是否尝试过使用archive-{post-type}.php, 用于显示自定义帖子类型中帖子的存档索引列表?

您还存在以下问题:

<?php get_template_part( \'type-company\', get_post_format() ); ?>
Post格式分类仅适用于Post类型;不适用于任何任意帖子类型。再次说明:您是否对自定义帖子类型自定义应用了帖子格式分类法?

EDIT

注意:您可能需要在中修改循环查询category.php 和/或tag.php, 以显示您的CPT。

结束

相关推荐

Posts vs Pages and categories

我正在为图书馆的收藏/档案室创建一个基本上静态的网站。由于我希望大多数内容只创建一次,并随着时间的推移慢慢添加或修改,而不是常规的帖子,所以我的第一个倾向是将所有内容都变成一个页面。另一方面,我有两个或三个类别的页面/帖子,我非常希望能够生成这些页面/帖子的列表,除了使用类别和帖子,我想不出一个好的方法来做到这一点。我知道有一个插件允许您使用类别标记页面,但我这样做时get\\u帖子并不总是有效。我有需要多个类别并相互重叠的内容,这一事实是否比这一内容基本上应该是静态的更重要?我有一个由专门针对特定主题的