How to remove function?

时间:2017-07-20 作者:jrcollins

我试图删除父主题中定义的函数,但无法使其正常工作。我要删除的函数将打印上一次/下一次后期导航。

功能如下:

add_action( \'generate_after_entry_content\', \'generate_footer_meta\' );
function generate_footer_meta()
{
if ( \'post\' == get_post_type() ) : ?>
    <footer class="entry-meta">
        <?php generate_entry_meta(); ?>
        <?php if ( is_single() ) generate_content_nav( \'nav-below\' ); ?>
    </footer><!-- .entry-meta -->
<?php endif;
}
我正在使用remove_action( ); 函数,但我不确定要使用哪个动作挂钩。

下面是我使用的代码:

function remove_nav_links() {
remove_action( \'generate_after_entry_content\', \'generate_footer_meta\' );
}
add_action( \'wp_footer\', \'remove_nav_links\' );
我尝试了一些不同的动作挂钩,包括wp_footer 但没有一个奏效。

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

基本上,您希望在添加后删除此内容,但要在钩子触发之前删除。如果不知道父主题何时执行此操作,通常很难判断。

也经常以令人困惑的方式functions.php 子主题的加载在父主题的加载之前。通常会使事情的时间安排与直觉相反。

通常的做法是等到init 钩子来运行任何逻辑,而不是与加载过程严格相关的逻辑。所以我的猜测是init, 但实际上,你应该弄清楚它是什么时候添加的,并据此做出决定。

结束