我正在尝试将操作 Hook woocommerce_single_product_summary 分配给短代码,以便最终用户可以在他们的布局中自由移动页面的整个 single_product_summary 部分,而不是在模板中的固定位置使用 do_action在古腾堡创建。
我在functions.php中有以下内容:
function getsummary_shortcode( $atts ) {
ob_start();
do_action( 'woocommerce_single_product_summary' );
$woocommerce_single_product = ob_get_clean();
return $woocommerce_single_product;
}
add_shortcode('getsummary','getsummary_shortcode');
但是,这似乎在无限循环中输出 single_product_summary 内容。
实际上可以做到这一点吗?我在这里发现了一些帖子试图做一些与此类似的事情,但没有一个帖子试图做我正在做的事情。
最佳答案
您可能需要取消注册,然后在函数回调中重新注册您的 getsummary
短代码,以防止它被 woocommerce_single_product_summary
Hook 调用
function getsummary_shortcode( $atts ) {
remove_shortcode('getsummary');
ob_start();
do_action( 'woocommerce_single_product_summary' );
$woocommerce_single_product = ob_get_clean();
add_shortcode('getsummary','getsummary_shortcode');
return $woocommerce_single_product;
}
add_shortcode('getsummary','getsummary_shortcode');
关于php - 在帖子内容中使用短代码触发 Woocommerce Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75923520/