In `get_adjacent_post()`, `$excluded_terms` should check term_id rather than term_taxonom_id.
See #29663, #22112. git-svn-id: https://develop.svn.wordpress.org/trunk@30263 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
49d5227e76
commit
6f7880bcf4
|
@ -1513,7 +1513,7 @@ function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previo
|
|||
}
|
||||
|
||||
if ( ! empty( $excluded_terms ) ) {
|
||||
$where .= " AND p.ID NOT IN ( SELECT object_id FROM $wpdb->term_relationships WHERE term_taxonomy_id IN (" . implode( $excluded_terms, ',' ) . ') )';
|
||||
$where .= " AND p.ID NOT IN ( SELECT tr.object_id FROM $wpdb->term_relationships tr LEFT JOIN $wpdb->term_taxonomy tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id) WHERE tt.term_id IN (" . implode( $excluded_terms, ',' ) . ') )';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -190,10 +190,17 @@ class Tests_Link extends WP_UnitTestCase {
|
|||
}
|
||||
|
||||
/**
|
||||
* @ticket 22112
|
||||
*/
|
||||
* @ticket 22112
|
||||
*/
|
||||
function test_get_adjacent_post_exclude_self_term() {
|
||||
$include = $this->factory->category->create();
|
||||
// Bump term_taxonomy to mimic shared term offsets.
|
||||
global $wpdb;
|
||||
$wpdb->insert( $wpdb->term_taxonomy, array( 'taxonomy' => 'foo', 'term_id' => 12345 ) );
|
||||
|
||||
$include = $this->factory->term->create( array(
|
||||
'taxonomy' => 'category',
|
||||
'name' => 'Include',
|
||||
) );
|
||||
$exclude = $this->factory->category->create();
|
||||
|
||||
$one = $this->factory->post->create_and_get( array(
|
||||
|
|
Loading…
Reference in New Issue