wordpress - 按类别 ID 获取产品

标签 wordpress woocommerce

我正在为 woocommerce 编写定价表插件。用户插入带有 woocommerce 产品类别 id 的短代码,更新页面后,用户可以看到一个包含产品名称和价格列表的表格。
我怎样才能获得带有类别 ID 的产品列表?!
在下面的代码中 $pid 是用户输入的简码, 'object_id' 是 wp_posts 表中每个产品的 ID。

<?php
    $products = $wpdb->get_results("SELECT object_id FROM {$wpdb->term_relationships}
                                      WHERE term_taxonomy_id = " . $pid);
    if(!empty($products))
    {
        foreach($products as $product)
        {
            //the code
        }
    }
?>  

提前致谢。

最佳答案

 $args = array(
    'post_status' => 'publish',
    'tax_query' => array(
         'taxonomy' => 'product_cat',
         'field'    => 'term_id',
         'terms'     =>  '[ category id here ]', // When you have more term_id's seperate them by komma.
         'operator'  => 'IN'
         )
    );
    $the_query = wp_query($args);

未经测试,但应该工作

关于wordpress - 按类别 ID 获取产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19818406/

相关文章:

mysql - 将 WP 站点手动移动到新主机和域时如何调整 URL 设置?

php - get_the_id 与 post->ID 与 the_id/get_post_meta

css - Wordpress 子主题导致填充更改而无需修改

wordpress - WooCommerce 中的 "Validation error: PayPal currencies do not match"

php - cron 更新数据库中的表时选择查询速度变慢

javascript - 如何仅在 WooCommerce 结帐页面中启用 Bootstrap css

css - 我的 CSS 在桌面上看起来很完美,但在移动设备上向右留下了 2-5 像素的线,我如何找到问题所在?

wordpress - 如何更改 woocommerce 电子邮件模板宽度?

php - 更改默认目录 orderby 会删除 WooCommerce 中的 menu_order 选项

php - 如何一起概述选项卡和内容