在父主题上index.php
我有以下代码:
// The function.
add_action( \'mytheme_example_action\', \'mytheme_example_function\' );
function mytheme_example_function() {
echo \'Example text on index page.\'
}
// After function was defined i do the action.
do_action( \'mytheme_example_action\' );
关于子主题
functions.php
我有以下代码:
// Example 1 (not working).
add_action( \'mytheme_example_action\', \'mytheme_remove_parent_function\', 20);
function mytheme_remove_parent_function() {
remove_action( \'mytheme_example_action\', \'mytheme_example_function\' );
}
// Example 2 (not working).
remove_action( \'mytheme_example_action\', \'mytheme_example_function\' );
我试过两个例子,仍然是重复的文本
\'Example text on index page.\'
正在浏览器上显示。有什么帮助吗?
最合适的回答,由SO网友:Aaron Lynch 整理而成
要删除动作挂钩,请使用与在父主题中添加动作相同的动作名称、回调名称和优先级您应该将函数从中定义index.php
到functions.php
父主题的最后,您可以使用init
.所以你最终会得到这样的结果:
父主题代码functions.php
// The function.
add_action( \'mytheme_example_action\', \'mytheme_example_function\' );
function mytheme_example_function() {
echo \'Example text on index page.\';
}
子主题代码
functions.php
// Example 1
add_action( \'init\', \'mytheme_remove_parent_function\');
function mytheme_remove_parent_function() {
remove_action( \'mytheme_example_action\', \'mytheme_example_function\' );
}
期末笔记
Here\'s a great tutorial 这将向您展示实现所需结果的几种方法。