Hier ist ein Beispiel für eine Funktion, die eine Liste aller aktiven Abonnements von einem Datum zu einem anderen angezeigt werden , in einer formatierten HTML-Tabelle. In diesem Beispiel erhalten Sie für jedes Abonnement: die Abonnement-ID, das Datum, die Kunden-ID und den Kundennamen (Sie können den Code anpassen, um zu erhalten, was Sie wollen).
Diese Funktion hat also 2 Datumsparameter. Für die Verwendung und Spezifikationen siehe den Abschnitt am Ende.
Der Funktionscode:
function active_subscription_list($from_date=null, $to_date=null) {
// Get all customer orders
$subscriptions = get_posts(array(
'numberposts' => -1,
'post_type' => 'shop_subscription', // Subscription post type
'post_status' => 'wc-active', // Active subscription
'orderby' => 'post_date', // ordered by date
'order' => 'ASC',
'date_query' => array(// Start & end date
array(
'after' => $from_date,
'before' => $to_date,
'inclusive' => true,
),
),
));
// Styles (temporary, only for demo display) should be removed
echo "<style>
.subscription_list th, .subscription_list td{border:solid 1px #666; padding:2px 5px;}
.subscription_list th{font-weight:bold}
.subscription_list td{text-align:center}
</style>";
// Displaying list in an html table
echo "<table class='shop_table subscription_list'>
<tr>
<th>" . __('Number ID', 'your_theme_domain') . "</th>
<th>" . __('Date', 'your_theme_domain') . "</th>
<th>" . __('User ID', 'your_theme_domain') . "</th>
<th>" . __('User Name', 'your_theme_domain') . "</th>
</tr>
";
// Going through each current customer orders
foreach ($subscriptions as $subscription) {
$subscription_id = $subscription->ID; // subscription ID
$subscription_date = array_shift(explode(' ', $subscription->post_date)); // Date
$subscr_meta_data = get_post_meta($subscription->ID);
$customer_id = $subscr_meta_data['_customer_user'][0]; // customer ID
$customer_name = $subscr_meta_data['_billing_first_name'][0] . ' ' . $subscr_meta_data['_billing_last_name'][0];
echo "</tr>
<td>$subscription_id</td>
<td>$subscription_date</td>
<td>$customer_id</td>
<td>$customer_name</td>
</tr>";
}
echo '</table>';
}
Dieser Code geht in function.php Datei Ihres aktiven Kind Thema (oder Thema) oder auch in jeder Plugin-Datei.
USAGE(Beispiel):
Sie haben diese numerische Datumsformat zu beachten: YEAR-MONTH-DAY
$from_date = '2016-06-19'; // start date
$to_date = '2016-09-21'; // End date
active_subscription_list($from_date, $to_date);
Diese Liste aller aktiven Abonnements angezeigt werden von 2016-06-19 bis 2016-09-21 ...
Dieser Code wurde getestet und funktioniert.
Bitte klären Sie, was Sie unter Abonnementliste verstehen. – helgatheviking
HI, danke https://woocommerce.com/products/woocommerce-subscriptions/ – Leon
Ich weiß, was das WooCommerce Subscriptions-Plugin ist. Ich bitte um Klarstellung zu Ihrer Frage. Möchten Sie alle Abonnements, die während dieser Zeit erstellt wurden, oder möchten Sie Abonnements mit Verlängerungszahlungen, die während dieser Zeit vorgenommen wurden, enthalten? Das erste ist ein einfaches ['WP_Query'] (https://codex.wordpress.org/Class_Reference/WP_Query# Date_Parameters) Letzteres bin ich mir nicht sicher. – helgatheviking