获取所有 WooCommerce 订阅
Get all WooCommerce subscriptions
我需要创建一个 wordpress 模板来收集所有 Woocommerce 订阅,但我在处理文档时遇到了问题。我需要知道要导入哪些文件以及调用哪个函数。
谢谢你的建议。
更新 - 您可以使用多种方式:
1) 接受specific arguments 的内置函数wcs_get_subscriptions()
。在您的情况下,要获得所有订阅,您将使用:
$subscriptions = wcs_get_subscriptions(['subscriptions_per_page' => -1]);
您将获得一组受订阅保护的对象,您可以在其中对每个对象使用 WC_Data
get_data()
方法来访问数据:
$subscriptions = wcs_get_subscriptions(['subscriptions_per_page' => -1]);
// Loop through subscriptions protected objects
foreach ( $subscriptions as $subscription ) {
// Unprotected data in an accessible array
$data = $subscription->get_data();
print_r( $data ); // Display the subscription raw data array
}
相关:
2) 您还可以使用 a SQL 查询 获取所有订阅
SQL 查询可以更轻量并允许更多过滤。这样您就可以更有效地只获取所需的数据。
由于订阅是 Wordpress 自定义 post 类型,您可以先获取所有订阅 ID。然后在 foreach 循环中,您将能够获得 WC_subscription
对象。
global $wpdb;
// get all subscriptions IDS
$subscriptions_ids = $wpdb->get_col("
SELECT ID FROM {$wpdb->prefix}posts
WHERE post_type LIKE 'shop_subscription'
");
// Loop through subscriptions Ids
foreach($subscriptions_ids as $subscription_id){
// Get an instance of the WC_Subscription object
$subscription = new WC_Subscription( $subscription_id );
$data = $subscriptions->get_data();
print_r( $data ); Display the subscription raw data (unprotected accessible array)
}
然后使用 $subscription
对象和 $subscription_id
你就可以做你想做的事了, 使用 WC_Subscription
方法获取所需数据或在专用功能上使用订阅 ID。
官方开发者文档:
您可以使用内置函数 wcs_get_subscriptions($args) 并传递以下 $args
$args = array( 'subscriptions_per_page' => -1 );
$subscriptions = wcs_get_subscriptions( $args );
您甚至可以在参数中按订阅状态进行过滤。
我需要创建一个 wordpress 模板来收集所有 Woocommerce 订阅,但我在处理文档时遇到了问题。我需要知道要导入哪些文件以及调用哪个函数。
谢谢你的建议。
更新 - 您可以使用多种方式:
1) 接受specific arguments 的内置函数wcs_get_subscriptions()
。在您的情况下,要获得所有订阅,您将使用:
$subscriptions = wcs_get_subscriptions(['subscriptions_per_page' => -1]);
您将获得一组受订阅保护的对象,您可以在其中对每个对象使用 WC_Data
get_data()
方法来访问数据:
$subscriptions = wcs_get_subscriptions(['subscriptions_per_page' => -1]);
// Loop through subscriptions protected objects
foreach ( $subscriptions as $subscription ) {
// Unprotected data in an accessible array
$data = $subscription->get_data();
print_r( $data ); // Display the subscription raw data array
}
相关:
2) 您还可以使用 a SQL 查询 获取所有订阅
SQL 查询可以更轻量并允许更多过滤。这样您就可以更有效地只获取所需的数据。
由于订阅是 Wordpress 自定义 post 类型,您可以先获取所有订阅 ID。然后在 foreach 循环中,您将能够获得 WC_subscription
对象。
global $wpdb;
// get all subscriptions IDS
$subscriptions_ids = $wpdb->get_col("
SELECT ID FROM {$wpdb->prefix}posts
WHERE post_type LIKE 'shop_subscription'
");
// Loop through subscriptions Ids
foreach($subscriptions_ids as $subscription_id){
// Get an instance of the WC_Subscription object
$subscription = new WC_Subscription( $subscription_id );
$data = $subscriptions->get_data();
print_r( $data ); Display the subscription raw data (unprotected accessible array)
}
然后使用 $subscription
对象和 $subscription_id
你就可以做你想做的事了, 使用 WC_Subscription
方法获取所需数据或在专用功能上使用订阅 ID。
官方开发者文档:
您可以使用内置函数 wcs_get_subscriptions($args) 并传递以下 $args
$args = array( 'subscriptions_per_page' => -1 );
$subscriptions = wcs_get_subscriptions( $args );
您甚至可以在参数中按订阅状态进行过滤。