删除子主题中的Wordpress功能

时间:2017-08-10 13:47:33

标签: php wordpress function

我在父function.php文件中有以下函数:

#-----------------------------------------------------------------#
# Site Title 
#-----------------------------------------------------------------#

function theme_slug_setup() {
   add_theme_support( 'title-tag' );
}
add_action( 'after_setup_theme', 'theme_slug_setup' );

if ( ! function_exists( '_wp_render_title_tag' ) ) {
    function theme_slug_render_title() { ?>

        <title><?php wp_title( '|', true, 'right' ); ?></title> <?php
    }

    add_action( 'wp_head', 'theme_slug_render_title' );
}

我想首先禁用它然后尝试在我的子函数文件中替换它...

我试过这个替换它:

add_action( 'after_setup_theme', 'theme_slug_setup' );


    function theme_slug_render_title() { ?>

        <title><?php wp_title( '|', true, 'right' ); ?></title> <?php
    }

    add_action( 'wp_head', 'theme_slug_render_title' );

或删除它:

function child_remove_parent_function() {
    remove_action( 'after_setup_theme', 'theme_slug_setup' );
}
add_action( 'wp_loaded', 'child_remove_parent_function' );


function child_remove_parent_function2() {
    add_action( 'wp_head', 'theme_slug_render_title' );
}
add_action( 'wp_loaded', 'child_remove_parent_function2' );

但我似乎无法正常工作!有人能够指出我出错的地方吗?谢谢!

++++++++++++++++++++++++++++++++++++++++++++++++

我必须在另一个函数中添加remove_action代码 - 这可以自行运行并删除标题标记......

add_action( 'after_setup_theme', 'remove_head_title', 0 );

function remove_head_title() {

    remove_action( 'wp_head', 'theme_slug_render_title' );
    remove_action( 'after_setup_theme', 'theme_slug_setup' );
}

2 个答案:

答案 0 :(得分:1)

在您的子主题function.php文件中,您需要

首先:删除操作:(您不需要在其他操作中包装此行)

remove_action( 'after_setup_theme', 'theme_slug_setup' );
remove_action( 'wp_head', 'theme_slug_render_title' );

之后:如有必要,重新声明新功能:

function child_theme_slug_setup() { //Function name must be different of function in parent theme
    add_theme_support( 'title-tag' );
}
add_action( 'after_setup_theme', 'child_theme_slug_setup' );

编辑: 因此,function.php子主题的完整代码必须是:

remove_action( 'after_setup_theme', 'theme_slug_setup' );
remove_action( 'wp_head', 'theme_slug_render_title' );

function child_theme_slug_setup() { //Function name must be different of function in parent theme
    add_theme_support( 'title-tag' );
}
add_action( 'after_setup_theme', 'child_theme_slug_setup' );

答案 1 :(得分:1)

标题标记

的子主题function.php文件中添加以下代码
     remove_action( 'after_setup_theme', 'theme_slug_setup' );
        remove_action( 'wp_head', 'theme_slug_render_title' );

        function child_theme_slug_setup() { 
            add_theme_support( 'title-tag' );
        }
        add_action( 'after_setup_theme', 'child_theme_slug_setup' );

        if ( ! function_exists( '_wp_render_title_tag' ) ) {
    function child_theme_slug_render_title() {
?>
<title><?php wp_title( '-', true, 'right' ); ?></title>
<?php
    }
    add_action( 'wp_head', 'child_theme_slug_render_title' );
}