WordPress 3.0 implode() error

After installing WordPress 3.0 on a client’s web-host (running on PHP 5.2.5 with the wonderful PDO (SQLite) For WordPress plugin) I had a number of minor errors that required custom attention. Here’s the run-down:

Custom file-permissions (777 for install, be careful) needed for ‘wp-admin’, ‘wp-content’, ‘wp-includes’ and the pdo-for-wordpress ‘database’ directories to have install run smoothly.

“Warning: implode() [function.implode]: Invalid arguments passed in /wp-includes/post.php¬† on line 2552” was what I was seeing every time I tried editing a Page in the Dashboard. Solution was found at WordPress-Hacks (Spanish page): comment out line 2552 and insert replacement like so:

// hack start
// $check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type IN ( '" . implode( "', '", esc_sql( $hierarchical_post_types ) ) . "' ) AND ID != %d AND post_parent = %d LIMIT 1";
$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";
// hack end
Advertisements