首页 文章

Woocommerce获得在存档页面中显示的产品

提问于
浏览
1

我正在尝试将所有产品展示在我店铺的存档页面中 . 我想得到他们的ids . 我正在使用我的钩子,它在wp_head上运行并检查

if(is_product_category())

我想以某种方式访问产品的查询并获取他们的ID .

if(is_product_category()) {
    $current_category = get_queried_object();
    $category_id = $current_category->term_id;
    $category_name = $current_category->name;

这是我到目前为止获得当前类别ID的代码

3 回答

  • 0

    经过一些研究,我找到了答案,这很简单,这里是每个人都在努力解决同样的问题 .

    woocommerce_product_loop_start(false);
        while ( have_posts() ) {
            the_post();
            $id = get_the_ID();
        }
        woocommerce_product_loop_end(false);
    

    有了这个,再次为当前页面调用woocommerce循环,以便我们可以获取我们想要的信息 . PS:我们必须在完成后重置查询吗?

  • 0

    您可以按照此处获取woocommerce产品ID

    http://www.remicorson.com/easily-find-woocommerce-products-id/

    只需在插件文件夹中创建一个文件夹并将代码粘贴到那里,或者也可以将代码粘贴到theme function.php文件中 . 希望这会帮助你 .

  • 0

    如果您在存档页面上,则主查询应包含帖子 . 最简单的方法是从$ wp_query全局中的“posts”属性中获取ID . 有一个名为wp_list_pluck的实用程序函数,它从数组数组中获取每个索引,因此最终会得到一个ID数组 .

    global $wp_query;
    $ids = wp_list_pluck( $wp_query->posts, "ID" );
    

    请注意,虽然wp_list_pluck确实使用循环来遍历数组,但它比使用has_posts(),the_post()的WordPress循环样式更好 . 这是因为它没有移动$ wp_query和$ post全局变量之间的所有数据,也不必混淆重置查询 .

相关问题