У меня есть действительный идентификатор подписки. Тот, который я могу открыть в админке и отредактировать. Я также могу получить объект сообщения с помощью get_post(), а также получить тип сообщения с помощью get_post_type(). Тип сообщения — shop_subscription.
Однако, когда я пытаюсь получить объект подписки через wcs_get_subscription(), он возвращает FALSE.
Вот мой код, который я пробовал:
Код: Выделить всё
$subscription_id = 50543; //Valid subscription id which can be seen in WC Subscriptions
$post_type = get_post_type( $subscription_id); // Returns a post type of "shop_subscription"
$post = get_post( $subscription_id); // Returns the post object
$subscription = wcs_get_subscription( $subscription_id); // RETURNS FALSE -- FAILS TO GET THE SUBSCRIPTION OBJECT
Код: Выделить всё
function wcs_get_subscription( $the_subscription ) {
if ( is_object( $the_subscription ) && wcs_is_subscription( $the_subscription ) ) {
$the_subscription = $the_subscription->get_id();
}
$subscription = WC()->order_factory->get_order( $the_subscription );
if ( ! wcs_is_subscription( $subscription ) ) {
$subscription = false;
}
return apply_filters( 'wcs_get_subscription', $subscription );
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... ription-id