我有一个404插件,基本上可以满足您的需要(如果我理解正确的话),只是它创建了一个新页面(使用与主题相同的模板),并将其注册为404页面。如果您已经有一个现有的WordPress页面(不是php文件),那么您可以使用类似以下的代码将其转换为新的404页面。Note: 您确实需要对此进行一些自定义。请参见下面代码中的注释。
//redirect on 404
function redirect_404() {
global $options, $wp_query;
if ($wp_query->is_404) {
$page_title = $this->options[\'404_page_title\'];//replace with your page title
$redirect_404_url = esc_url(get_permalink(get_page_by_title($page_title)));
wp_redirect( $redirect_404_url );
exit();
}
}
//Make sure proper 404 status code is returned
function is_page_function() {
global $options;
$page_title = $this->options[\'404_page_title\'];//replace with your page title
if (is_page($page_title)) {
header("Status: 404 Not Found");
}
else {
return;
}
}
//Register Hooks
add_action( \'template_redirect\', \'redirect_404\');
add_action(\'template_redirect\', \'is_page_function\');
如果要签出完整的插件代码,可以在此处签出:
http://wordpress.org/plugins/404-silent-salesman/希望有帮助!