如何通过子主题函数更改父主题中的函数。php

时间:2013-01-10 作者:Kegan Quimby

我在父主题中有一个函数:

function cyberchimps_logo_icons() { ?>
<header id="cc-header" class="row-fluid">
    <div class="span7">
        <?php if (function_exists(\'cyberchimps_header_logo\') ) {
            cyberchimps_header_logo();
        } ?>
    </div>  

    <div id="register" class="span5">
        <?php if (function_exists(\'cyberchimps_header_social_icons\') ) {
            cyberchimps_header_social_icons();
        } ?>
    </div>
</header>
<?php }
add_action(\'cyberchimps_header_content\', \'cyberchimps_logo_icons\');
我想通过删除此功能的后半部分来删除社交图标。向子主题函数添加内容的最佳方法是什么。php克服了这一点?我尝试将其复制并粘贴到子主题函数中。php文件,并删除我想要的内容,但同一个函数名不能调用两次。

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

在init操作上,删除调用其函数的操作,并将调用(不同名称)函数的操作排入队列,如下所示:

add_action(\'init\', \'wpse_80107_init\');

function wpse_80107_init() {
    // remove parent theme\'s header content action
    remove_action(\'cyberchimps_header_content\', \'cyberchimps_logo_icons\');

    // add child theme\'s header content action
    add_action(\'cyberchimps_header_content\', \'wpse_80107_logo_icons\');

}

function wpse_80107_logo_icons() {
    // your custom code here
}

结束

相关推荐

Functions.php:从博客中排除类别

所以很明显,如何从模板中排除某些类别,但我不想修改4个模板,使它们忽略某个类别。有没有一种方法可以将某个类别从阅读设置的“博客”集中排除?我正在将博客分配到名为“博客”的页面。。。但显然,档案和搜索也需要对这一超出类别的内容视而不见。我宁愿在里面做functions.php