我的include有一些自定义挂钩,用于处理入队、出队和插入自定义HTML。
我仍然不能百分之百确定你的意思,但如果这段代码是普通的WordPress代码,它的函数和add_action()
, 您只希望这些挂钩在这些事件页面上运行,那么正确的方法是将该文件包含到主题的函数文件或插件的主插件文件中,然后在这些挂钩中使用您的条件。
因此,在函数文件中,只需包含其他文件(我使用了get_theme_file_path()
而不是get_template_directory()
, 目前首选哪种方法):
require get_theme_file_path( \'inc/tribe-events.php\' );
然后在该文件中,您将有如下挂钩:
function my_hooked_function( $arg ) {
if (
tribe_is_event() ||
tribe_is_event_category() ||
tribe_is_in_main_loop() ||
tribe_is_view() ||
\'tribe_events\' == get_post_type() ||
is_singular( \'tribe_events\' )
) {
// Do thing.
}
}
add_action( \'hook_name\', \'my_hooked_function\' );
function my_second_hooked_function( $arg ) {
if (
tribe_is_event() ||
tribe_is_event_category() ||
tribe_is_in_main_loop() ||
tribe_is_view() ||
\'tribe_events\' == get_post_type() ||
is_singular( \'tribe_events\' )
) {
// Do thing.
}
}
add_action( \'another_hook_name\', \'my_second_hooked_function\' );
或者,为了减少代码量,您可以定义自己可以重用的条件函数:
function is_tribe_calendar() {
if (
return tribe_is_event() ||
tribe_is_event_category() ||
tribe_is_in_main_loop() ||
tribe_is_view() ||
\'tribe_events\' == get_post_type() ||
is_singular( \'tribe_events\' )
) {
return true;
} else {
return false;
}
}
function my_hooked_function( $arg ) {
if ( is_tribe_calendar() ) {
// Do thing.
}
}
add_action( \'hook_name\', \'my_hooked_function\' );
function my_second_hooked_function( $arg ) {
if ( is_tribe_calendar() ) {
// Do thing.
}
}
add_action( \'another_hook_name\', \'my_second_hooked_function\' );