mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-10 12:50:18 +01:00
Multisite: Use %s
when building query for archived
sites in WP_Site_Query
.
In [25548], the `archived` column in `wp_blogs` was changed from `ENUM` to `TINYINT` to match other status fields. When `WP_Site_Query` was written later, it used `%d` as a placeholder when formatting the archived status. It is possible that this query will fail for any installations that did not update the schema for `wp_blogs` as only single quoted values are accepted for the `ENUM` type. In this case, `'0'` or `'1'` rather than `0` or `1`. We can work around this and support both `ENUM` and `TINYINT` in the query by using the `%s` placeholder and casting the value with `absint()`. Props stephdau. Fixes #38856. See #27832. Built from https://develop.svn.wordpress.org/trunk@41700 git-svn-id: http://core.svn.wordpress.org/trunk@41534 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
a3ad1e8c57
commit
7e190e496b
@ -447,7 +447,7 @@ class WP_Site_Query {
|
||||
|
||||
if ( is_numeric( $this->query_vars['archived'] ) ) {
|
||||
$archived = absint( $this->query_vars['archived'] );
|
||||
$this->sql_clauses['where']['archived'] = $wpdb->prepare( "archived = %d ", $archived );
|
||||
$this->sql_clauses['where']['archived'] = $wpdb->prepare( "archived = %s ", absint( $archived ) );
|
||||
}
|
||||
|
||||
if ( is_numeric( $this->query_vars['mature'] ) ) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '4.9-alpha-41699';
|
||||
$wp_version = '4.9-alpha-41700';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
Loading…
Reference in New Issue
Block a user