Wordpress覆盖了儿童主题的add_menu_page?

时间:2015-08-19 06:13:53

标签: php wordpress

如何从子主题覆盖add_menu_page函数。我的代码在下面

add_action('admin_menu', 'goal_settings_page');
function goal_settings_page() {
add_menu_page(
          __('my menu'), 
          __('my menu'), 
          'manage_options', 'settings', 
          'sake_settings_page');
}

function sake_settings_page() {
    // parent theme code here
}

我想从Child主题覆盖sake_settings_page函数如何覆盖该函数请帮忙。

由于

1 个答案:

答案 0 :(得分:1)

首先,将您的功能添加/更新到您的父主题,如下所示

if ( ! function_exists ( 'sake_settings_page' ) )  {
    function sake_settings_page() {
        // Contents of your function here.
    } 
}

然后将相同的功能(您要覆盖的功能)添加到您的子主题中。

注意:如果您将父主题中的函数包含在这样的条件标记中,WordPress将检查您的子主题中是否存在已经运行的具有相同名称的函数,并且如果是这种情况,它将不会从父主题运行该函数。

WordPress将首先在子主题中运行该函数,当涉及到父主题中的函数时,它将检查它是否已经存在,并且因为它确实存在,它将不会运行它。