我不知道发生了什么,我的网站上有一个致命的错误:
致命错误:无法重新声明get_page_by_title()(先前在/home/hamburgerasia/public_html/wp-includes/post.php:5778)在/home/hamburgerasia/public_html/wp-includes/deprecte .php中的4560行
在post.php文件:
function get_page_by_title( $page_title, $output = OBJECT, $post_type = 'page' ) {
global $wpdb;
if ( is_array( $post_type ) ) {
$post_type = esc_sql( $post_type );
$post_type_in_string = "'" . implode( "','", $post_type ) . "'";
$sql = $wpdb->prepare(
"
SELECT ID
FROM $wpdb->posts
WHERE post_title = %s
AND post_type IN ($post_type_in_string)
",
$page_title
);
} else {
$sql = $wpdb->prepare(
"
SELECT ID
FROM $wpdb->posts
WHERE post_title = %s
AND post_type = %s
",
$page_title,
$post_type
);
}
$page = $wpdb->get_var( $sql );
if ( $page ) {
return get_post( $page, $output );
}
return null;
}
在deprecated.php文件中:
function get_page_by_title( $page_title, $output = OBJECT, $post_type = 'page' ) {
_deprecated_function( __FUNCTION__, '6.2.0', 'WP_Query' );
global $wpdb;
if ( is_array( $post_type ) ) {
$post_type = esc_sql( $post_type );
$post_type_in_string = "'" . implode( "','", $post_type ) . "'";
$sql = $wpdb->prepare(
"
SELECT ID
FROM $wpdb->posts
WHERE post_title = %s
AND post_type IN ($post_type_in_string)
",
$page_title
);
} else {
$sql = $wpdb->prepare(
"
SELECT ID
FROM $wpdb->posts
WHERE post_title = %s
AND post_type = %s
",
$page_title,
$post_type
);
}
$page = $wpdb->get_var( $sql );
if ( $page ) {
return get_post( $page, $output );
}
return null;
}
请帮忙,谢谢!
我尝试了以下方法,但效果不佳:(在deprecated.php文件:
include ('post.php');
function get_page_by_title() {
_deprecated_function( __FUNCTION__, '6.2.0', 'WP_Query' );
}
总之,我认为你的WordPress核心更新失败了。解决方法是手动重新上传最新版本的WordPress。
我在更新WordPress核心后也遇到了同样的问题。我相信是由于某种原因,它超时了,没有完成,导致了那个错误。
解决方案是简单地手动再次上传新的WP版本。我通常只是创建一个包含第一层zip文件的zip文件,不包括/wp-content/,然后直接上传并解压缩。
FTP也可以,但通常需要更长的时间。