Buddypress,取代了插件类添加的功能

时间:2014-07-15 12:42:42

标签: function plugins replace buddypress

在bp-custom.php中,我尝试替换bp-groupblog-plugin添加的函数(在bp-groupblog-classes.php中)。我可以添加我的自定义函数芽我无法删除原始文件,我正在获取我页面上显示的两个函数的HTML。

我尝试了不同的钩子,改变了优先级等,但没有任何效果。如何删除原始功能?

感谢任何想法。

代码:

function replace_bp_groupblog_signup_blog() {
    remove_action('bp_groupblog_create_screen_markup', 'bp_groupblog_signup_blog');
    remove_action( 'bp_groupblog_edit_screen_markup', 'bp_groupblog_signup_blog' );

    function my_bp_groupblog_signup_blog($blogname = '', $blog_title = '', $errors = '')
    {
         // all the code
    }
    add_action( 'bp_groupblog_create_screen_markup', 'my_bp_groupblog_signup_blog');
    add_action( 'bp_groupblog_edit_screen_markup', 'my_bp_groupblog_signup_blog' );
}

add_action( 'plugins_loaded', 'replace_bp_groupblog_signup_blog' );

更新:

更改删除操作解决了问题:

add_action(
  'bp_groupblog_create_screen_markup',
  function() {
      remove_action( current_filter(), 'bp_groupblog_signup_blog' );
  },
  9
);

找到解决方案here

1 个答案:

答案 0 :(得分:0)

尝试将此添加到bp-custom.php:

remove_action( 'bp_groupblog_create_screen_markup', 'bp_groupblog_signup_blog' );
remove_action( 'bp_groupblog_edit_screen_markup', 'bp_groupblog_signup_blog' );

function my_bp_groupblog_signup_blog() {
     // all the code
}
add_action( 'bp_groupblog_create_screen_markup', 'my_bp_groupblog_signup_blog' );
add_action( 'bp_groupblog_edit_screen_markup', 'my_bp_groupblog_signup_blog' );