一旦一个函数挂接到一个动作上,每次调用该动作时都会执行该函数(使用do_action
). 要停止此操作,应删除该操作。看见remove_action
:
function do_entry() {
if ( get_the_title() ) {
add_action(\'loop_entry_before\', \'function_that_adds_h2_structure\');
} else {
remove_action(\'loop_entry_before\', \'function_that_adds_h2_structure\');
}
add_action(\'loop_entry_entry\', \'function_that_adds_content_structure\');
}
在您的情况下,我认为actions挂钩方法不是很好,最好是直接调用函数:
function do_entry() {
if ( get_the_title() ) {
function_that_adds_h2_structure();
}
add_action(\'loop_entry_entry\', \'function_that_adds_content_structure\');
}