获取类别标题/描述将返回第一个匹配的帖子?

时间:2022-01-11 作者:sackadelic

我正在做一个template-part 调用heading 它显示页面标题和下方的可选字幕。我让它在页面上工作,但在像我们的博客或产品类别页面这样的归档页面上,它会返回第一个匹配的帖子标题。

代码如下:


$id = get_the_ID();
$heading = get_the_title();
$sub_heading = get_field(\'sub_heading\', $id);


if (is_home() || is_category()) {
    $heading = get_the_title(12);
    $sub_heading = \'Learn, Modify, Create.\';
} else if (is_404()) {
    $heading = \'404\';
    $sub_heading = "Well, this is awkward.";
} else if (is_shop()) {
    $heading = \'SHOP\';
    $sub_heading = "Explore our complete product offering here";
} else if (is_product_category()) {
    $sub_heading = category_description();
}

?>

<div class="page-heading-section-wrapper">

    <div class="page-heading-section">

        <h1 class="main-heading"><?php echo $heading; ?> </h1>

        <?php if ($sub_heading) {
            echo \'<h2 class="sub-heading">\' . $sub_heading . \'</h2>\';
        }; ?>

    </div>

</div>

示例:

如果我的产品类别为;引出序号“;其中我的产品是;生日“"E;假日“;等等,档案页上的标题将是;生日;。这个category description 看起来效果不错。

我做错了什么?

1 个回复
SO网友:DeltaG

对于可以使用的类别/分类get_queried_object 获取当前类别。从那里你可以很容易地得到这个名字。从你的例子来看:

if ( is_category() ) {
    $cat = get_queried_object();
    $heading = $cat->name;
}

相关推荐

如何从unction.php中排除Get_Categories返回的类别?

我有一个插件,可以创建我的网站地图。它首先获取所有类别get_categories 然后获取每个页面的所有页面。但是,我有一个类别不能包含在插件代码中:$args[\'exclude\']=2; $cats = get_categories( $args ); 问题是,如果插件替换文件,我的修改将被删除,我尝试了以下方法:function exclude_cat($taxonomy, $args) { $args[\'exclude\']=2;