我正在尝试创建一个自定义快捷码,允许我通过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英寸;。我希望有人能帮我指出正确的方向。
提前谢谢。
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。