wordpress 修改WooCommerce Shortcode [产品]

rks48beu  于 2023-11-17  发布在  WordPress
关注(0)|答案(1)|浏览(139)

我需要修改WooCommerce的简码[products ids=...].我想把一个单一的“div”部分,同时返回产品与最初返回的每一个其他资产.具体来说,我有一个表,我存储产品ID的和他们的“分数”.我想显示特定产品的分数,而当我使用[products]简码.我知道如何使用$wpdb等,但我不知道如何修改WooCommerce简码/找不到它。
注意事项:我知道如何写我自己的简码,但我也想添加这些分数到产品档案页面最初由WooCommerce创建.有没有什么简单的方法来做到这一点,而不会丢失插件更新的代码?感谢任何帮助.

6uxekuva

6uxekuva1#

您可以使用WooCommerce的[products]短代码创建自己的短代码。
比如说:

add_shortcode( 'mc_products', 'mc_products_shortcode' );

/**
 * Add a custom 'mc_products' shortcode
 *
 * @param array $atts  Shortcode attributes
 * @return string
 */
function mc_products_shortcode( $atts) {
  // Pass whichever attributes you need to the 'products' shortcode
  return do_shortcode( "[products ids={$atts['ids']}]" );
}

字符串
然后,使用[mc_products ids=…]代替[products ids=…]
如果出于某种原因,您需要覆盖现有的“products”简码,您可以删除它,然后使用自己的实现重新添加它。
这看起来像:

remove_shortcode( 'products' );
add_shortcode( 'products', 'mc_products_shortcode' );

/**
 * Replace the existing 'product' shortcode with our own implementation
 *
 * @param array $atts  Shortcode attributes
 * @return string
 */
function mc_products_shortcode( $atts ) {
  // Add your own implementation of the 'products' shortcode
}

**免责声明:**我还没有测试过这段代码,但希望你能理解。

相关问题