Wordpress的一个小bug及解决方法

在编辑pages的时候会有错误:

Warning: implode() [function.implode]: Invalid arguments passed in /www/htdocs/my-webseite.xyz/wp-includes/post.php on line 1980

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/my-webseite.xyz/wp-includes/post.php:1980) in /www/htdocs/my-webseite.xyz/wp-includes/pluggable.php on line 865

貌似从2.8开始就有了,直到现在都没修正,囧。

一个临时性的解决办法:

删掉那行,改成:

$hierarchical_post_types_string = implode("', '", $hierarchical_post_types);
$hierarchical_post_types_string = addslashes($hierarchical_post_types_string);
$check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type IN ( '" . $hierarchical_post_types_string . "' ) AND ID != %d AND post_parent = %d LIMIT 1";