GET_POST_META短码返回空字段

时间:2021-05-06 作者:rabiancone

我正在尝试创建一个自定义快捷码,允许我通过Custom Order Status for WooCommerce 插件。

我对PHP的理解充其量是有限的,但我想到的是下面代码的一个修改版本,它来自Krzysiek Dródż之前回答的一个类似问题:

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\\U弃用\\U购物车id],但输出值为空。此特定订单应返回的值为;428英寸;。我希望有人能帮我指出正确的方向。

提前谢谢。

2 个回复
SO网友:Amirition

shortcode回调函数应该始终回显其输出,而不是返回它。您的代码应该是这样的:

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

    echo get_post_meta( $atts[\'post_id\'], \'wcal_abandoned_cart_id\', true );
}
add_shortcode( \'wcal_abandoned_cart_id\', \'wcal_abandoned_cart_id_shortcode_callback\' );
如果回调的输出是HTML,除了回显之外,您还可以在PHP标记之外编写HTML。

SO网友:Sufyan Sheikh

使用以下方法获取ID:

add_shortcode(\'wcal_abandoned_cart_id\',function(){
    return get_the_ID();
});
使用短代码[wcal_abandoned_cart_id]

相关推荐

为什么我的Archive.php重定向到front-page.php?

我使用wp_get_archives() 并得到我所有档案的清单。但当我点击其中一个链接时,它总是将我重定向到front-page.php 这是www.mydomainexample.com.我创建了一个archive.php 请在我的目录中归档,以防您感到疑惑。我还保存了对永久链接的更改。在我的情况下,我想重定向到年份/日期。链接wp_get_archives() 已经生成我要找的内容www.mydomainexample.com/2020/12 但它总是重定向到我的主页www.mydomainexam