当尚未定义模板时,我能够成功地为新页面设置默认页面模板member_home_page.php.
这在我的本地环境中非常有效,但当我将代码上传到WP Engine上的网站时,我在WordPress的管理页面编辑屏幕顶部发现了这个错误。
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function \'set_default_page_template\' not found or invalid function name in /nas/content/staging/pmbus/wp-includes/class-wp-hook.php on line 288
无论是在本地部署还是实时部署上,该功能都能正常工作。但在本地,我没有得到错误,只有现场。下面是函数,我只是不知道为什么我只在现场收到这个警告。提前谢谢。
function set_page_template_default() {
global $post;
if ( \'page\' == $post->post_type
&& 0 != count( get_page_templates( $post ) )
&& get_option( \'page_for_posts\' ) != $post->ID // Not the page for listing posts
&& \'\' == $post->page_template // Only when page_template is not set
) {
$post->page_template = \'member_home_page.php\';
}
}
add_action(\'add_meta_boxes\', \'set_page_template_default\', 1);