-1
我想补充一个新的短代码来替换/添加在Woocommrce跟踪代码,所有woocommrce简码由PHP类添加自定义简码到Woocommerce
我添加了一个新的短代码名称woocommerce_my_order_tracking定义(可参见下面),我怎么能做同样的事情,我没有运行Woocommrce模板文件。
class WC_Shortcodes {
/**
* Init shortcodes.
*/
public static function init() {
$shortcodes = array(
'product' => __CLASS__ . '::product',
'product_page' => __CLASS__ . '::product_page',
'product_category' => __CLASS__ . '::product_category',
'product_categories' => __CLASS__ . '::product_categories',
'add_to_cart' => __CLASS__ . '::product_add_to_cart',
'add_to_cart_url' => __CLASS__ . '::product_add_to_cart_url',
'products' => __CLASS__ . '::products',
'recent_products' => __CLASS__ . '::recent_products',
'sale_products' => __CLASS__ . '::sale_products',
'best_selling_products' => __CLASS__ . '::best_selling_products',
'top_rated_products' => __CLASS__ . '::top_rated_products',
'featured_products' => __CLASS__ . '::featured_products',
'product_attribute' => __CLASS__ . '::product_attribute',
'related_products' => __CLASS__ . '::related_products',
'shop_messages' => __CLASS__ . '::shop_messages',
'woocommerce_order_tracking' => __CLASS__ . '::order_tracking',
'woocommerce_my_order_tracking' => __CLASS__ . '::my_order_tracking',
'woocommerce_cart' => __CLASS__ . '::cart',
'woocommerce_checkout' => __CLASS__ . '::checkout',
'woocommerce_my_account' => __CLASS__ . '::my_account',
);
后来在类
public static function order_tracking($atts) {
return self::shortcode_wrapper(array('WC_Shortcode_Order_Tracking', 'output'), $atts);
}
public static function my_order_tracking($atts) {
return self::shortcode_wrapper(array('WC_Shortcode_My_Order_Tracking', 'output'), $atts);
}
如何注册这个简码(与所有其他$ ATTR woocommerce简码获得woocommerce简码),但没有超过在Woocommerce模板文件上运行,
您是否注意到此OP仅覆盖了woocommerce核心文件** ... – LoicTheAztec
是的,但我认为问题是“我如何避免重写核心文件”? – helgatheviking