-1
にカスタムショートコードを追加し、すべてのwoocommrceショートコードはPHPのクラスで定義されてい私はWoocommrceでトラッキングコードを追加/交換する新しいショートコードを追加したいWoocommerce
私はwoocommerce_my_order_tracking新しいショート名を追加した(参照することができます以下を参照してください)、Woocommceテンプレートファイルを実行しなくても同じことができます。
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',
);
以降、クラスIは(他のすべての$ attrのwoocommerceのショートのgetでwoocommerceのショートなど)が、Woocommerceで、テンプレートファイル上で実行せずに、このショートを登録するにはどうすればよい
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);
}
で
、
あなたはこのOPが**だけwoocommerceコアファイルに** ... – LoicTheAztec
はいをオーバーライドしていることをキャッチしましたが、私は質問は「私はコアファイルを上書き避けるんか」だったと思いますか? – helgatheviking