Ganhar no menu principal Função de menu

Tentando modificar a function do menu principal no tema filho, a function original é:

function original_theme_menus() { $menus = array( 'top' => __( 'Top Menu', 'theme-domain' ), 'primary' => __( 'Primary Menu', 'theme-domain' ), 'secondary' => __( 'Secondary Menu', 'theme-domain' ), ); return apply_filters( 'original_theme_menus', $menus ); } 

Estou fazendo:

 function remove_original_theme_menus() { remove_action('original_theme_menus'); } add_action('init', 'remove_original_theme_menus'); function original_theme_menus() { $menus = array( 'top' => __( 'Top Menu', 'theme-domain' ), 'primary' => __( 'Primary Menu', 'theme-domain' ), 'secondary' => __( 'Secondary Menu', 'theme-domain' ), 'footer' => __( 'Footer Menu', 'theme-domain' ) ); return apply_filters( 'original_theme_menus', $menus ); } 

Como devo cancelar o registro da function original?

Recebo um erro fatal porque a function original ainda existe e não pode redeclará-lo.

Eu tentei criar um novo nome de function, mas o problema é o original; Se eu simplesmente remover a function pai original, tudo funciona como esperado.

Eu li este e este para resolver sozinho, mas não consigo descobrir qual é a maneira correta de cancelar o registro sobre a function de menu original e chamá-lo de funções de tema filho.

Eu presumo que ele também está relacionado com a parte “init” porque eu deveria estar fazendo isso nos filtros aplicar.

Solutions Collecting From Web of "Ganhar no menu principal Função de menu"

Você só precisa triggersr o original, não para remover.

 add_filter( 'original_theme_menus', 'your_theme_menus', 1, 1 ); function your_theme_menus( $menus ) { $new_menu = array( 'footer' => __( 'Footer Menu', 'theme-domain' ) ); $menus = $menus + $new_menu; return $menus; }