Шорткод get_post_meta возвращает пустое поле

Я пытаюсь создать собственный шорткод, который позволит мне вводить пользовательские данные поля заказа в автоматически созданный шаблон исходящей электронной почты через статус пользовательского заказа для WooCommerce.

Мое понимание PHP в лучшем случае ограничено, но я придумал приведенный ниже код после нескольких часов поиска на форумах и в Google:

function wcal_abandoned_cart_id_shortcode_callback( $atts ) {
    $atts = shortcode_atts( array(
        'post_id' => get_the_ID(),
    ), $atts, 'wcal_abandoned_cart_id' );

    return get_post_meta( $atts['post_id'], 'wcal_abandoned_cart_id', true );
}
add_shortcode( 'wcal_abandoned_cart_id', 'wcal_abandoned_cart_id_shortcode_callback' );

Wordpress и плагин, похоже, распознают шорткод [wcal_abandoned_cart_id], однако выходное значение пустое. Значение, которое должно вернуться для этого конкретного заказа, равно 428. Я надеюсь, что кто-то может помочь мне указать правильное направление.

Заранее спасибо.


person rabiancone    schedule 05.05.2021    source источник


Ответы (1)


Вы пробовали другой способ, как показано ниже?

global $post;

$meta = get_post_meta( $post->ID, 'wcal_abandoned_cart_id', true );  

пожалуйста, попробуйте вместо

get_post_meta( $atts['post_id'], 'wcal_abandoned_cart_id', true );  
person wpdevloper_j    schedule 06.05.2021