php - 从 WooCommerce 商店获取所有产品

标签 php woocommerce wordpress

我正在尝试获取我的 Woocommerce 在线商店中的所有产品。我想获取所有产品的数据,并将其打印为 json。但页面一直显示为空白。

我尝试了以下方法来获取所有产品 ID,以便显示所有产品。

$args = array( 'post_type' => 'product', 'post_status' => 'publish', 'p' => '*');

我也尝试过这个:

    $args = array( 'post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => 470);

   $loop = new WP_Query( $args );

还有这个:

    $args = array( 'post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => -1);

   $loop = new WP_Query( $args );

所有结果都相同,页面显示为空白,没有获取任何数据。

我之前使用过与此类似的代码,例如显示特定类别中的所有产品,并且它有效。但我似乎无法让这个工作,以显示商店中的所有产品。

请帮忙吗?

最佳答案

WooCommerce 2.1+ 现在附带它自己的 REST API 。你绝对应该检查一下。 请注意,您必须使用 https 或 OAuth 来访问它,因此您可能需要使用像这样的客户端 one (我与这个库无关)。

尚不清楚您要从商店检索哪些数据,但根据上面的设置,您可以尝试这个简单的演示示例:

add_action( 'init', function() {
    add_rewrite_endpoint( 'wooexport', EP_ROOT );
});

add_action( 'template_redirect', function() {
    if( 'json' === get_query_var( 'wooexport' ) ) {
        $posts = get_posts( array( 'post_type' => 'product' ) ); 
        wp_send_json_success( $posts );
    }  
});

您必须记住刷新重写规则,例如通过重新保存永久链接设置。然后,您可以根据需要修改查询参数并从 example.com/wooexport/json/ 访问它。

很可能您遇到了 PHP 语法错误,导致白屏?。因此,请始终在测试站点上使用 WP_DEBUG,例如检查 Debugging in WordPress来自法典。

关于php - 从 WooCommerce 商店获取所有产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26365904/

相关文章:

android - 当 URL 来自 Internet 服务器时,如何将自定义 css 应用于 android Webview?

php - php函数 'overload'是做什么的?

php - 如何从 WooCommerce 产品属性分类中获取术语?

php - 将 CSS 添加到 Php Wordpress 插件

wordpress - Woocommerce 通过猫和子猫订购购物车数组

wordpress - 将 CSS 类添加到具有(或基于)产品类别的 WooCommerce 购物车项目

php - If 语句调用自定义样式表

wordpress - 如何从 header.php 文件中获取页面 ID

javascript - 我无法在我的网站上显示产品的详细信息

php - 外部 js 和 css 未在 codeigniter 中加载