我正在尝试在我的博客上为我的帖子建立一个排序系统。
当用户对ex:date,date和title进行排序时,系统会根据GET参数数组在新页面上对结果进行排序。
Ex:www.domain.com/blog?日期[] = thedate& date [] = thesnddate& title = sometitle
为了控制排序,我显示带有无线电输入按钮的表格,以选择日期和标题
第一次访问者搜索时,我会显示包含当前搜索过滤器的信息框。
所以通过上面的例子我会显示: 日期:日期和时间thesnddate 标题:一些标题
现在我需要知道的是最好的方法是用PHP删除其中一个日期。
我尝试输出信息是具有相同ID和另一个ID的单独输入按钮,但这要么复制信息要么保持完全相同。当一个关闭时,另一个将分配给URL。
有没有办法替换网址的内容而不删除所有内容?
例: preg从网址中替换单词日期。但这不起作用,因为它删除了所有日期,我只希望它删除一个日期。
答案 0 :(得分:0)
适用于PHP 5.3 +
// Make array from query string
// If using the url from a string
$str = "www.domain.com/blog?date[]=thedate&date[]=thesnddate&title=sometitle";
parse_str(explode("?", $str)[1], $params);
// If using the query string from the current url...
//parse_str($_SERVER['QUERY_STRING'], $params);
// Remoove one of the dates
unset($params['date'][0]);
// Re-create the url
$newDomain = "www.domain.com/blog?".http_build_query($params);
print_r($newDomain);
答案 1 :(得分:0)
它不是PHP解决方案,但我认为可以使用根目录中的“.htaccess”-File来实现。 一旦我有类似的事情要做,这就是我如何解决我的问题
在您的情况下:(www.domain.com/.htaccess)
function storefront_upsell_display() {
woocommerce_upsell_display( -1, 3 );
}
这会将整个网址重命名为适合右侧网址的左侧网址。
如果我错了,请纠正我。我不是百分百肯定,但这可能有所帮助。