【问题标题】:WooCommerce: function that returns all product ID's in a particular categoryWooCommerce:返回特定类别中所有产品 ID 的函数
【发布时间】:2015-01-12 13:34:54
【问题描述】:

我认为问题的标题是不言自明的,但要详细说明...

我正在尝试在 Woocommerce 中制作自定义类别页面。

我需要返回特定类别中的所有产品 ID。

我见过this post,但是它使用了WP_Query的做事方式,非常丑陋。

我更喜欢在 WooCommerce 类中使用一些东西来实现这一点。

理想情况下,应该有如下某种函数/方法(但我找不到):

get_products_in_category( $category_ID );
// Returns array of product ID's

任何帮助都会很棒。

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    给你:

    function get_products_ids_from_category_by_id( $category_id ) {
    
        $products_IDs = new WP_Query( array(
            'post_type' => 'product',
            'post_status' => 'publish',
            'fields' => 'ids', 
            'tax_query' => array(
                array(
                    'taxonomy' => 'product_cat',
                    'field' => 'term_id',
                    'terms' => $category_id,
                    'operator' => 'IN',
                )
            )
        ) );
    
        return $products_IDs;
    }
    

    【讨论】:

    • 谢谢纳比尔。拯救了我的一天。使用 WP_Query 是从 Wordpress 获取自定义信息的首选方式。
    • WP_Query 几乎是从数据库获取帖子的方式。 @nabil-kadimi 你不需要 foreach() 循环。您可以通过 "fields" => "ids" 查询参数修改查询以仅返回 ID。
    • @3Dom 你可以使用 WP_Query,the beast you must avoid is query_posts()
    • @NabilKadimi 完成!希望这有效,但似乎应该如此。
    猜你喜欢
    • 2017-04-01
    • 2022-08-24
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    相关资源
    最近更新 更多