Changeset 31015
- Timestamp:
- 12/31/2014 07:37:09 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/comment.php
r30681 r31015 675 675 $join_posts_table = true; 676 676 foreach ( $post_fields as $field_name => $field_value ) { 677 $where[] = $wpdb->prepare( " {$wpdb->posts}.{$field_name} = %s", $field_value ); 677 // $field_value may be an array. 678 $esses = array_fill( 0, count( (array) $field_value ), '%s' ); 679 $where[] = $wpdb->prepare( " {$wpdb->posts}.{$field_name} IN (" . implode( ',', $esses ) . ')', $field_value ); 678 680 } 679 681 } -
trunk/tests/phpunit/tests/comment/query.php
r30548 r31015 1117 1117 $this->assertEquals( 2, $found ); 1118 1118 } 1119 1120 public function test_post_type_single_value() { 1121 register_post_type( 'post-type-1' ); 1122 register_post_type( 'post-type-2' ); 1123 1124 $p1 = $this->factory->post->create( array( 'post_type' => 'post-type-1' ) ); 1125 $p2 = $this->factory->post->create( array( 'post_type' => 'post-type-2' ) ); 1126 1127 $c1 = $this->factory->comment->create_post_comments( $p1, 1 ); 1128 $c2 = $this->factory->comment->create_post_comments( $p2, 1 ); 1129 1130 $q = new WP_Comment_Query(); 1131 $found = $q->query( array( 1132 'fields' => 'ids', 1133 'post_type' => 'post-type-2', 1134 ) ); 1135 1136 $this->assertEqualSets( $c2, $found ); 1137 1138 _unregister_post_type( 'post-type-1' ); 1139 _unregister_post_type( 'post-type-2' ); 1140 } 1141 1142 /** 1143 * @ticket 20006 1144 */ 1145 public function test_post_type_singleton_array() { 1146 register_post_type( 'post-type-1' ); 1147 register_post_type( 'post-type-2' ); 1148 1149 $p1 = $this->factory->post->create( array( 'post_type' => 'post-type-1' ) ); 1150 $p2 = $this->factory->post->create( array( 'post_type' => 'post-type-2' ) ); 1151 1152 $c1 = $this->factory->comment->create_post_comments( $p1, 1 ); 1153 $c2 = $this->factory->comment->create_post_comments( $p2, 1 ); 1154 1155 $q = new WP_Comment_Query(); 1156 $found = $q->query( array( 1157 'fields' => 'ids', 1158 'post_type' => array( 'post-type-2' ), 1159 ) ); 1160 1161 $this->assertEqualSets( $c2, $found ); 1162 1163 _unregister_post_type( 'post-type-1' ); 1164 _unregister_post_type( 'post-type-2' ); 1165 } 1166 1167 /** 1168 * @ticket 20006 1169 */ 1170 public function test_post_type_array() { 1171 register_post_type( 'post-type-1' ); 1172 register_post_type( 'post-type-2' ); 1173 1174 $p1 = $this->factory->post->create( array( 'post_type' => 'post-type-1' ) ); 1175 $p2 = $this->factory->post->create( array( 'post_type' => 'post-type-2' ) ); 1176 $p3 = $this->factory->post->create( array( 'post_type' => 'post-type-3' ) ); 1177 1178 $c1 = $this->factory->comment->create_post_comments( $p1, 1 ); 1179 $c2 = $this->factory->comment->create_post_comments( $p2, 1 ); 1180 $c3 = $this->factory->comment->create_post_comments( $p3, 1 ); 1181 1182 $q = new WP_Comment_Query(); 1183 $found = $q->query( array( 1184 'fields' => 'ids', 1185 'post_type' => array( 'post-type-1', 'post-type-3' ), 1186 ) ); 1187 1188 $this->assertEqualSets( array_merge( $c1, $c3 ), $found ); 1189 1190 _unregister_post_type( 'post-type-1' ); 1191 _unregister_post_type( 'post-type-2' ); 1192 } 1193 1194 public function test_post_name_single_value() { 1195 $p1 = $this->factory->post->create( array( 'post_name' => 'foo' ) ); 1196 $p2 = $this->factory->post->create( array( 'post_name' => 'bar' ) ); 1197 1198 $c1 = $this->factory->comment->create_post_comments( $p1, 1 ); 1199 $c2 = $this->factory->comment->create_post_comments( $p2, 1 ); 1200 1201 $q = new WP_Comment_Query(); 1202 $found = $q->query( array( 1203 'fields' => 'ids', 1204 'post_name' => 'bar', 1205 ) ); 1206 1207 $this->assertEqualSets( $c2, $found ); 1208 } 1209 1210 /** 1211 * @ticket 20006 1212 */ 1213 public function test_post_name_singleton_array() { 1214 $p1 = $this->factory->post->create( array( 'post_name' => 'foo' ) ); 1215 $p2 = $this->factory->post->create( array( 'post_name' => 'bar' ) ); 1216 1217 $c1 = $this->factory->comment->create_post_comments( $p1, 1 ); 1218 $c2 = $this->factory->comment->create_post_comments( $p2, 1 ); 1219 1220 $q = new WP_Comment_Query(); 1221 $found = $q->query( array( 1222 'fields' => 'ids', 1223 'post_name' => array( 'bar' ), 1224 ) ); 1225 1226 $this->assertEqualSets( $c2, $found ); 1227 } 1228 1229 /** 1230 * @ticket 20006 1231 */ 1232 public function test_post_name_array() { 1233 $p1 = $this->factory->post->create( array( 'post_name' => 'foo' ) ); 1234 $p2 = $this->factory->post->create( array( 'post_name' => 'bar' ) ); 1235 $p3 = $this->factory->post->create( array( 'post_name' => 'baz' ) ); 1236 1237 $c1 = $this->factory->comment->create_post_comments( $p1, 1 ); 1238 $c2 = $this->factory->comment->create_post_comments( $p2, 1 ); 1239 $c3 = $this->factory->comment->create_post_comments( $p3, 1 ); 1240 1241 $q = new WP_Comment_Query(); 1242 $found = $q->query( array( 1243 'fields' => 'ids', 1244 'post_name' => array( 'foo', 'baz' ), 1245 ) ); 1246 1247 $this->assertEqualSets( array_merge( $c1, $c3 ), $found ); 1248 } 1249 1250 public function test_post_status_single_value() { 1251 $p1 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 1252 $p2 = $this->factory->post->create( array( 'post_status' => 'draft' ) ); 1253 1254 $c1 = $this->factory->comment->create_post_comments( $p1, 1 ); 1255 $c2 = $this->factory->comment->create_post_comments( $p2, 1 ); 1256 1257 $q = new WP_Comment_Query(); 1258 $found = $q->query( array( 1259 'fields' => 'ids', 1260 'post_status' => 'draft', 1261 ) ); 1262 1263 $this->assertEqualSets( $c2, $found ); 1264 } 1265 1266 /** 1267 * @ticket 20006 1268 */ 1269 public function test_post_status_singleton_array() { 1270 $p1 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 1271 $p2 = $this->factory->post->create( array( 'post_status' => 'draft' ) ); 1272 1273 $c1 = $this->factory->comment->create_post_comments( $p1, 1 ); 1274 $c2 = $this->factory->comment->create_post_comments( $p2, 1 ); 1275 1276 $q = new WP_Comment_Query(); 1277 $found = $q->query( array( 1278 'fields' => 'ids', 1279 'post_status' => array( 'draft' ), 1280 ) ); 1281 1282 $this->assertEqualSets( $c2, $found ); 1283 } 1284 1285 /** 1286 * @ticket 20006 1287 */ 1288 public function test_post_status_array() { 1289 $p1 = $this->factory->post->create( array( 'post_status' => 'publish' ) ); 1290 $p2 = $this->factory->post->create( array( 'post_status' => 'draft' ) ); 1291 $p3 = $this->factory->post->create( array( 'post_status' => 'future' ) ); 1292 1293 $c1 = $this->factory->comment->create_post_comments( $p1, 1 ); 1294 $c2 = $this->factory->comment->create_post_comments( $p2, 1 ); 1295 $c3 = $this->factory->comment->create_post_comments( $p3, 1 ); 1296 1297 $q = new WP_Comment_Query(); 1298 $found = $q->query( array( 1299 'fields' => 'ids', 1300 'post_status' => array( 'publish', 'future' ), 1301 ) ); 1302 1303 $this->assertEqualSets( array_merge( $c1, $c3 ), $found ); 1304 } 1119 1305 }
Note: See TracChangeset
for help on using the changeset viewer.