在“存档-产品.php”中获取类别ID

时间:2013-05-04 作者:Slevin

如何在中获取类别IDarchive-product.php 样板我试图通过$category var,但此var在此模板文件中不可访问。

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

通常情况下,这应该与get_queried_object_id().

无论如何,由于我不知道Woo对查询究竟做了什么,这也可能是错误的,因为API函数引用了当前查询的对象。这是上次查询中的对象。因此,您还可以执行以下操作:

免责声明:以下编写的函数未经测试,您应该var_dump() 你的方式,直到它的工作(然后编辑这个问题与你的结果和删除这行在这里)

<?php 
defined( \'ABSPATH\' ) OR exit;
/** Plugin Name: Cat ID helper for WooCommerce */

add_action( \'pre_get_posts\', \'wpse_98288_get_object_id\', 0 );
function wpse_98288_get_object_id( $query = null )
{
    static $id = 0;

    if ( \'pre_get_posts\' === current_filter() )
        remove_filter( current_filter(), __FUNCTION__ );

    $query->is_main_query()
        AND $id = $query->get( \'cat_id\' );

    if ( null !== $query )
        return $query;

    return $id;
}
因此,这是一个多用途函数,必须用作插件(更好的是:用作mu插件)。它将自己添加到循环/wp\\u查询构建过程中,并尝试从主循环获取ID。然后,您可以在模板中通过其函数名再次调用它,它应该输出ID。

重点是你必须var_dump( $wp_query ) 要确定具体设置了什么,并获取您需要的内容,因为我现在还不知道值名称。

结束

相关推荐

Travel Blog Plugins

今年晚些时候,我将使用Wordpress创建一个关于我旅行的博客。我希望该博客具有以下功能我的帖子将被地理定位一张包含帖子位置的地图,可以单击地图上的各个点到达帖子</我正在寻找最好/最合适的插件。谢谢,艾尔。