Mysql 更改或逻辑使相邻的帖子进入和

Mysql 更改或逻辑使相邻的帖子进入和,mysql,wordpress,Mysql,Wordpress,如何将查询转换为get_nexture_post()中的AND逻辑,以便当前post的所有术语都必须与next/prev匹配,此外,next/prev不允许有额外的术语 这在Wordpress中是可过滤的吗 IN()子句需要替换为一个子查询,该子查询获取所有对象ID,这些ID都具有相同的术语ID——理论上,但由于这是一个更高级的修改,因此我无法给出示例代码 " AND tt.term_id IN ( $term_array )" 有关的完整代码: if ( $in_same

如何将查询转换为get_nexture_post()中的AND逻辑,以便当前post的所有术语都必须与next/prev匹配,此外,next/prev不允许有额外的术语

这在Wordpress中是可过滤的吗

IN()子句需要替换为一个子查询,该子查询获取所有对象ID,这些ID都具有相同的术语ID——理论上,但由于这是一个更高级的修改,因此我无法给出示例代码

" AND tt.term_id IN ( $term_array )"
有关的完整代码:

if ( $in_same_term ) {
            $join  .= " INNER JOIN $wpdb->term_relationships AS tr ON p.ID = tr.object_id INNER JOIN $wpdb->term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id";
            $where .= $wpdb->prepare( 'AND tt.taxonomy = %s', $taxonomy );

            if ( ! is_object_in_taxonomy( $post->post_type, $taxonomy ) ) {
                return '';
            }
            $term_array = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) );

            // Remove any exclusions from the term array to include.
            $term_array = array_diff( $term_array, (array) $excluded_terms );
            $term_array = array_map( 'intval', $term_array );

            if ( ! $term_array || is_wp_error( $term_array ) ) {
                return '';
            }

            $where .= ' AND tt.term_id IN (' . implode( ',', $term_array ) . ')';
        }
基本上,我只想将get_next_post/get_prev_post的in_home_term参数的OR逻辑(这是get_nexture_post的包装器)更改为AND逻辑

但是,由于它使用IN子句,我不能仅仅更改或转换为AND

问题是,当每篇文章都有多个术语时,get_next_post/get_prev_post(get_Nexting_post)的in_same_term参数没有意义,因为“in-The-term”将不会为真,因为只需单击3次,用户就可以通过两篇文章之间的连接公共术语找到一个完全不相关的术语

有没有比通过字符串操作更简单、更可过滤的方法来实现这一点? 核心修改真的有必要吗