类别自定义模板未显示正确的帖子

时间:2018-01-19 作者:MauF

我有一个自定义类别模板,它工作正常,显示了6个不同类别的帖子。在我添加了两个新类别后,所有的类别页面都变得疯狂,2个类别页面显示的帖子过滤错误,尽管所有类别页面在H1中仍然显示正确的类别标题。我正在为几个html块使用模板部分。

从哪里开始检查错误?

我还注意到

$category = get_the_category(\'\');
var_dump($category);
其中一个类别现在有一个类别父级,我可能错误地选择了它,但取消选择它显然并没有修复关系。

这是我的主要类别帖子模板:

<?php

$category = get_the_category();
$catTerm = $category[0]->cat_name;

$args = array(
    \'post_type\' => \'post\',
    \'posts_per_page\' => 1,
    \'featured\' => \'featured\',
    \'post_status\' => \'publish\',
    \'category_name\' => $catTerm
    );


    $lastPost = new WP_Query($args);

    if( $lastPost->have_posts() ):
    echo \'<div id="mainArticleBox">\';
    while( $lastPost->have_posts() ): $lastPost->the_post();
    //  get_template_part(\'content\', \'featured-big\');
    if (has_post_thumbnail()) :
    $category = get_the_category( $id );

    echo \'

    <div class="hero-img" style="background-image: url(\'
        . get_the_post_thumbnail_url() . 
        \');">
            <div class="tag-id hidden-xs hidden-sm">\';
                    $category = get_the_category();
                    echo \'<a href="\'.get_category_link($category[0]->cat_ID).\'">\' . $catTerm. \'</a>
            </div>
        </div>
    \';
        echo \'
            <div class="mainArticle-texts">
                <h1 class="h1"><a href="\' . get_permalink() . \'">\' . get_the_title(). \'</a></h1>
                <div class="excerpt"><a href="\' . get_permalink() . \'"> <span>\' . excerpt(30) . \'</span> </a></div>
            </div>
        </div>\';

    endif;
    endwhile;
endif;
    ?>

1 个回复
SO网友:janh

category_name expects a category slug, 尽管是参数的名称。

get_the_category 应该与ID一起使用或在循环内使用-它返回给定/当前帖子的类别。但即使这样做有效,你也会得到WP_Term 对象-cat_name 不是属性。使用者->name 获取名称,或->slug 去拿子弹。

如果您知道类别ID或slug,只需使用get_term_by, e、 g。

if($term = get_term_by("id", $id, "category")) {
    // set your arguments for WP_Query
    $args["cat"] = $term->term_id;
}

结束

相关推荐

GET_CATEGORIES返回顶级类别而不是子类别

我用下面的代码制作了一个基本的子类别导航菜单。问题出在一个类别上(没有子类别),它将顶级类别作为子类别返回,例如:新闻、未分类等(我尝试分配子类别,但它实际上从菜单中消失,而不是修复内容)这可能是什么原因造成的?function display_category_breadcrumbs () { $current_cat_id = get_cat_id( single_cat_title(\"\",false) ); $parent_cats = get_categ