所以我在他们之前买了一个主题。com,它有一些自定义模板可用于Woocommerce插件。我制作了一个子主题,所以我不必编辑这个原始主题中的任何内容。
到目前为止,我所能做的是覆盖表单登录。我的孩子主题中的php模板。
我现在要做的是添加一个自定义短代码,类似于调用表单登录的[woocommerce\\u my\\u帐户]。我已经覆盖的php模板。
在Woocommerce插件中创建短代码的代码如下所示:
文件:/wp-content/plugins/woocommerce/classes/class-wc-shortcode。php
class WC_Shortcodes {
public function __construct() {
add_shortcode( \'woocommerce_my_account\', array( $this, \'my_account\' ) );
}
public function my_account( $atts ) {
global $woocommerce;
return $woocommerce->shortcode_wrapper( array( \'WC_Shortcode_My_Account\', \'output\' ), $atts );
}
}
文件:/wp-content/plugins/woocommerce/classes/shortcode/class-wc-shortcode-my-account。php
class WC_Shortcode_My_Account {
public static function get( $atts ) {
global $woocommerce;
return $woocommerce->shortcode_wrapper( array( __CLASS__, \'output\' ), $atts );
}
public static function output( $atts ) {
global $woocommerce;
if ( ! is_user_logged_in() ) {
woocommerce_get_template( \'myaccount/form-login.php\' );
} else {
extract( shortcode_atts( array(
\'order_count\' => 5
), $atts ) );
woocommerce_get_template( \'myaccount/my-account.php\', array(
\'current_user\' => get_user_by( \'id\', get_current_user_id() ),
\'order_count\' => \'all\' == $order_count ? -1 : $order_count
) );
}
}
}
如何添加这样的自定义快捷码?
我把它放在我的孩子主题里了吗?
我可以从输出函数复制/粘贴代码,并将其放入我的函数中吗。php和do add\\u shortcode(\'custom\\u shortcode\',\'function\\u in\\u my\\u functions\\u php\')?但全球变量woocommerce呢?我可以从我的子主题中访问该变量吗?
非常感谢大家如果有人想了解这一点,我才刚刚开始学习Wordpress。