使用functions.php删除并在Wordpress中添加操作

时间:2015-10-05 20:16:18

标签: wordpress

我已经在wordpress中编辑了一些插件文件,但这是不好的形式 - 它经得起更新。我想使用functions.php进行更改,但我无法使其正常工作。

基础知识是我要删除以下操作:

add_action( 'woocommerce_before_my_account', array( $this, 'my_account_memberships' ) );

add_action( 'woocommerce_before_my_account', __CLASS__ . '::get_my_subscriptions_template' );

在他们的位置添加动作:

add_action( 'woocommerce_add_subscriptions_to_my_accoun', array( $this, 'my_account_memberships' ) );

add_action( 'woocommerce_add_subscriptions_to_my_account', __CLASS__ . '::get_my_subscriptions_template' );

我尝试将以下(对于两个集合)添加到我的functions.php但无济于事......

remove_action ( 'woocommerce_before_my_account', __CLASS__ . '::get_my_subscriptions_template' );

add_action( 'woocommerce_add_subscriptions_to_my_account', __CLASS__ . '::get_my_subscriptions_template' );

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我明白了。万一其他人都在努力实现同样的目标。以下是我用于将woocommerce我的订阅信息和我的会员信息从woocommerce我的帐户页面顶部移动到自定义挂钩的代码片段。我决定在我的帐户页面(my-account.php)的底部放置显示订阅和成员资格以及信息的挂钩,该页面将添加到子主题中。

钩子是:

do_action( 'woocommerce_add_subscriptions_to_my_account' );

并且要添加到functions.php的代码是

add_action( 'init', 'move_subscription_info' ); 
function move_subscription_info() {
remove_action ( 
'woocommerce_before_my_account','WC_Subscriptions::get_my_subscriptions_template' ); 
add_action( 'woocommerce_add_subscriptions_to_my_account', 'WC_Subscriptions::get_my_subscriptions_template' ); 
add_action( 'woocommerce_add_subscriptions_to_my_account', 
array('WC_Memberships_Frontend','my_account_memberships') ); 

if ( function_exists( 'wc_memberships' ) ) { 
remove_action( 'woocommerce_before_my_account', array( wc_memberships()->frontend, 'my_account_memberships' ) ); } }`