设置
我在Elementor有一家WooCommerce商店。
我正在使用Elementor单个产品页面模板来为每个产品生成产品页面。
我想使用this plug-in在每个产品页面上显示“经常一起购买(FBT)”元素。
为显示FBT元素,插件的创建者提供了以下短代码:[premmerce_get_bundles_by_main_product_id id="X"]
,其中X
是WooCommerce产品ID。
问题
X
不是动态的。
如果我填写产品ID,例如简码中的产品2
,Elementor产品页面模板将显示我的每个产品的产品2
的FBT产品。
问题
我可以使X
动态吗?优选地,X
被自动设置为正在访问哪个页面的产品的id。
答案 0 :(得分:1)
仅当以如下方式输出简码时,才可以在简码中使用动态数据:
global $product;
$id = $product->get_id();
echo do_shortcode( '[premmerce_get_bundles_by_main_product_id id="' . $id . '"]');
请参阅https://developer.wordpress.org/reference/functions/do_shortcode/
答案 1 :(得分:1)
您可以尝试扩展短代码:
function so_extend_frequent_bought_shortcode() {
global $product;
$id = $product->get_id();
return do_shortcode( '[premmerce_get_bundles_by_main_product_id id="' . $id . '"]');
}
add_shortcode( 'my_new_shortcode', 'so_extend_frequent_bought_shortcode' );
现在,您只需要在帖子中添加[my_new_shortcode]
即可。
如果您无法编辑functions.php,请使用名为Code Snippets