WordPress:在我的搜索结果的某些搜索页面上找不到与Relevansi相关的页面
这就是我如何覆盖WordPress搜索页面以实现更好的结果,这要归功于Relevanssi:WordPress:在我的搜索结果的某些搜索页面上找不到与Relevansi相关的页面,wordpress,pagination,http-status-code-404,relevanssi,Wordpress,Pagination,Http Status Code 404,Relevanssi,这就是我如何覆盖WordPress搜索页面以实现更好的结果,这要归功于Relevanssi: global $wp_query; $search_txt = get_query_var('s'); $args = array( 's' => $search_txt, 'post_type' => 'formations', 'posts_per_page' => 9,
global $wp_query;
$search_txt = get_query_var('s');
$args = array(
's' => $search_txt,
'post_type' => 'formations',
'posts_per_page' => 9,
'paged' => $wp_query->query_vars['paged'], // conserver le numéro de page de la requête initiale
);
// filtrer suivant la bonne taxonomy
if (isset($_GET['taxonomy'])) {
switch ($_GET['taxonomy']) {
case 'formation-diplomantes-cpf':
$ta = ['formation-diplomante', 'formation-eligible-au-cpf'];
$op = 'AND';
break;
case 'toute-formation':
break;
default:
$ta = $_GET['taxonomy'];
$op = 'IN';
}
if (isset($ta)) {
$tq = [[
'taxonomy' => 'type_form',
'field' => 'slug',
'terms' => $ta,
'operator' => $op,
]];// Tax Query
$args['tax_query'] = $tq;
}
}
$fq = new WP_Query();
$fq->parse_query( $args );
relevanssi_do_query($fq);
$any_formation = false;
$fdia = [];// Formations DIOGEN IDs Array
$fia = [];// Formations IDs Array
$i=0;
while ($fq->have_posts()) : $fq->the_post();
if ( 'formations' == get_post_type() ) {
$i++;
$fdia[get_the_ID()] = get_field('id_diogen', get_the_ID());
$fia[] = get_the_ID();
$any_formation = true;
}
endwhile;
?>
结果分页为:
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $fq->max_num_pages
) );
这在大多数情况下效果良好:
function custom_rewrite_rules( $wp_rewrite ) {
$wp_rewrite->rules = array(
'actualite/page/?([0-9]{1,})/?$' => $wp_rewrite->index . '?pagename=actualite&paged=' . $wp_rewrite->preg_index( 1 ),
) + $wp_rewrite->rules;
}
add_action( 'generate_rewrite_rules', 'custom_rewrite_rules' );
我试图给搜索URL加上前缀,认为这可能会起作用,但没有用。
我还尝试为搜索页面添加自定义重写规则,但没有任何影响。我还有404。
我花了好几个小时挖掘每一个可能的方向,但都无济于事
任何建议都欢迎。
我不明白为什么编队的分页和执行都是相关的 导致问题的是polylang插件。停用它解决了问题