Filter 更改过滤器时,清除或重置wordpress posts分页

Filter 更改过滤器时,清除或重置wordpress posts分页,filter,pagination,wordpress,Filter,Pagination,Wordpress,我认为这很简单,但我不明白。 这是我的过滤器: <form class='post-filters'> <select name="filter"> <?php $filter_options = array( 'houses' => 'Houses', 'hotels' => 'Hotels', ); foreach( $filter

我认为这很简单,但我不明白。 这是我的过滤器:

<form class='post-filters'>
    <select name="filter">
        <?php
        $filter_options = array(
            'houses' => 'Houses',
            'hotels' => 'Hotels',
        );
        foreach( $filter_options as $value => $label ) {
            echo "<option ".selected( $_GET['filter'], $value )." value='$value'>$label</option>";
        }
        ?>
    </select>
    <input type='submit' value='Filter!'>
</form>
现在我选择“过滤”酒店

并且“/page/3”将不会被清除。所以我看不到一些帖子。

这里有一个帖子:

您可以使用此函数通过过滤器删除URL中的分页

见示例:

<a href="<?php echo get_nopaging_url(); ?>?filter=houses">

将表单的
操作设置为帖子的根URL(过滤结果的第一页)。很好,我错过了。如何使用Wordpress方法获取当前URL?我目前正在尝试
remove\u query\u arg()
home\u url($wp->request)
您可以共享完整的示例url吗?@rnevius,我添加了一个示例!
category/subcategory/subsubcategory/page/3/?filter=houses 
category/subcategory/subsubcategory/page/3/?filter=hotels
function get_nopaging_url() {
    $current_url =  $_SERVER[REQUEST_URI];

    $pattern = '/page\\/[0-9]+\\//i';
    $nopaging_url = preg_replace($pattern, '', $current_url);

    return  $nopaging_url;
}
<a href="<?php echo get_nopaging_url(); ?>?filter=houses">