如何在 loop-start.php 中获取类别 ID

Posted

技术标签:

【中文标题】如何在 loop-start.php 中获取类别 ID【英文标题】:How to get category ID in loop-start.php 【发布时间】:2019-12-02 15:09:36 【问题描述】:

我有一个对 WooCommerce 短代码的 Ajax 调用,如下所示:

global $wpdb;
// get_the_data
$term_id = $_POST['term_id'];
do_shortcode [products category='$term_id'];

这可以正常工作,但我需要能够确定我在 loop-start.php 中的哪个类别,我已将其覆盖以根据类别以不同方式显示内容。

我尝试了很多方法来获取 loop-start.php 中的类别

global $wpdb;
global $wp_query;

$tableTitle = $wpdb->get_results(
    "SELECT slug FROM `wp_terms` WHERE name = '$page_title'"
);
$page_title = $tableTitle[0]->slug;
echo "<h2>page_title is ".$page_title."</h2>";

$cat = $wp_query->get_queried_object();
echo "CAT IS:".print_r($cat,true); // the category needed.

echo "<h2>query_var = ". get_query_var('cat') ."</h2>";

我尝试过的每一种方法都没有任何回报。我怎样才能获得这个短代码正在构建的类别或其他一些指示符?

【问题讨论】:

你应该可以使用get_queried_object()-&gt;term_id; 或者只是get_queried_object_id(); 【参考方案1】:

我想我明白了。我可以使用 $_POST['term_id']

$tableTitle = $wpdb->get_results(
    "SELECT slug FROM `wp_terms` WHERE term_id = '$term_id'");
$page_title = $tableTitle[0]->slug;
echo "<h2>page_title is ".$page_title."</h2>";

【讨论】:

以上是关于如何在 loop-start.php 中获取类别 ID的主要内容,如果未能解决你的问题,请参考以下文章

如何在asp.net的新闻中获取类别计数使用

我如何从某个类别及其子类别中获取文章?

如何获取所有类别和子类别?

如何在w / django中获取类别内的项目数?

如何在 Kotlin 中按类别获取问题

如何在 Laravel 刀片类别下获取子类别