如何在 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()->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的主要内容,如果未能解决你的问题,请参考以下文章