gpt4 book ai didi

php - 在 Wordpress/Timber 中获取当前类别 slug

转载 作者:行者123 更新时间:2023-12-02 21:01:29 26 4
gpt4 key购买 nike

在我的 Single.php 中,我正在尝试获取当前的帖子类别别名:

$category = get_category(get_query_var('cat'));
$cat_slug = $category->slug;

但是它没有返回任何东西。帖子上肯定有一个类别。我做错了什么?

最佳答案

您可以使用 get_the_category(),但由于您使用 TwigTimber 标记了您的问题,我想也许您想要做它是“Timber 方式”。

使用 Timber,您可以通过对象上的方法访问许多功能。对于 TimberPost 类,有一个方法 terms() ,这将为您提供帖子的所有条款。传递您想要获取术语的分类法的名称。在您的情况下:类别

单.php

<?php

$context = Timber::get_context();
$post = Timber::get_post();

$context['post'] = $post;

// Get all categories assigned to post
$categories = $post->terms( 'category' );

// Get only the first category from the array
$context['category'] = reset( $categories );

Timber::render( 'single.twig', $context );

在低于 Timber 1.x 的版本中,还有类似 category()categories() 的方法来获取类别分类法的一个或所有术语,但是它们似乎现在已弃用

单根 Twig

在您的 Twig 文件中,您可以通过以下方式轻松访问 slug

{{ category.slug }}

您也可以直接从 Twig 调用 terms() 方法并将结果传递给 for 循环。这将回显分配给帖子的所有类别。

{% for category in post.terms('category') %}
{{ category.slug }}
{% endfor %}

关于php - 在 Wordpress/Timber 中获取当前类别 slug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38048928/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com