我需要创建一个wordpress模板来收集所有Woocommerce订阅,但是我在文档方面遇到了麻烦。我需要知道要导入的文件和要调用的函数。
谢谢你的指教。
更新-您可以使用多种方式:
1)wcs_get_subscriptions()接受特定参数的内置函数。对于您的情况,要获得所有订阅,您将使用:
wcs_get_subscriptions()
$subscriptions = wcs_get_subscriptions(['subscriptions_per_page' => -1]);
您将获得一个受订阅保护的对象数组,您可以在每个对象上使用WC_Data get_data()方法来访问数据:
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)您也可以使用 SQL查询 来获取所有订阅
SQL查询可以更轻松,并且可以进行更多过滤。这样,您可以以更有效的方式仅获取所需的数据。
由于订阅是Wordpress的自定义帖子类型,因此您可以首先获取所有订阅ID。然后在foreach循环中,您将可以获取WC_subscription对象。
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。
$subscription
$subscription_id
WC_Subscription