调用前检查内置WordPress函数是否存在是为了向后兼容,IMHO不需要这样做。
所以如果你看到if ( function_exists( \'register_nav_menus\' ) )
主题作者支持3.0之前的版本。
你有时还会看到if ( function_exists( \'dynamic_sidebar\' ) )
为什么?我不能告诉你,因为dynamic\\u提要栏是在2.2中引入的。
使用它的另一个原因是使您的主题或插件可插入。可插入函数是可以在子主题或其他插件中重写的函数。
这是根据定义而不是调用完成的,您可以使用!运算符,以确保它在定义之前不存在。
if ( ! function_exists( \'my_awesome_function\' ) ) {
/**
* My Awesome function is awesome
*
* @param array $args
* @return array
*/
function my_awesome_function( $args ) {
//function stuff
return array();
}
}
完成此操作后,子主题或其他插件可以使用there-own覆盖该函数。