diff --git a/wp-includes/link-template.php b/wp-includes/link-template.php index cfe6bc9e0d..5d88bd60c3 100644 --- a/wp-includes/link-template.php +++ b/wp-includes/link-template.php @@ -1568,6 +1568,7 @@ function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previo $join = ''; $where = ''; + $adjacent = $previous ? 'previous' : 'next'; if ( $in_same_term || ! empty( $excluded_terms ) ) { if ( ! empty( $excluded_terms ) && ! is_array( $excluded_terms ) ) { @@ -1600,6 +1601,18 @@ function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previo $where .= " AND tt.term_id IN (" . implode( ',', $term_array ) . ")"; } + /** + * Filter the IDs of terms excluded from adjacent post queries. + * + * The dynamic portion of the hook name, `$adjacent`, refers to the type + * of adjacency, 'next' or 'previous'. + * + * @since 4.4.0 + * + * @param string $excluded_terms Array of excluded term IDs. + */ + $excluded_terms = apply_filters( "get_{$adjacent}_post_excluded_terms", $excluded_terms ); + if ( ! empty( $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, ',' ) . ') )'; } @@ -1635,22 +1648,9 @@ function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previo $where .= " AND p.post_status = 'publish'"; } - $adjacent = $previous ? 'previous' : 'next'; $op = $previous ? '<' : '>'; $order = $previous ? 'DESC' : 'ASC'; - /** - * Filter the excluded term ids - * - * The dynamic portion of the hook name, `$adjacent`, refers to the type - * of adjacency, 'next' or 'previous'. - * - * @since 4.4.0 - * - * @param string $excluded_terms Array of excluded term IDs. - */ - $excluded_terms = apply_filters( "get_{$adjacent}_post_excluded_terms", $excluded_terms ); - /** * Filter the JOIN clause in the SQL for an adjacent post query. * diff --git a/wp-includes/version.php b/wp-includes/version.php index 7b7e73c049..d3f8708d7c 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.5-alpha-36077'; +$wp_version = '4.5-alpha-36078'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.