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">