首页 > 解决方案 > get_post_meta 短代码返回空字段

问题描述

我正在尝试创建一个自定义简码,允许我通过WooCommerce插件的自定义订单状态将自定义订单字段数据输入到自动生成的出站电子邮件模板中。

我对 PHP 的理解充其量是有限的,但在搜索论坛和谷歌数小时后,我想出了以下代码:

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”。我希望有人可以帮助我指出正确的方向。

提前致谢。

标签: wordpresswordpress-shortcodepost-meta

解决方案


你有没有尝试过像下面这样的另一种方式?

global $post;

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

请尝试代替

get_post_meta( $atts['post_id'], 'wcal_abandoned_cart_id', true );  

推荐阅读