如何从 WordPress 的下拉列表中更改页面的 url

问题描述 投票:0回答:3

我希望能够根据通过自定义帖子类型从下拉列表中选择的值来更改 WordPress 页面 url 的值。

我想使用多个下拉菜单,这样“国家”、“州”、“城市”、“城镇”会将网址更改为所选值。

如果我只选择国家/地区,那么网址将如下所示

http://example.com/india

当我选择印度的州时,URL 将看起来像

http://example.com/india/delhi

请参考此页面以查看我正在尝试执行的操作的示例: http://areapincode.in/

php wordpress custom-post-type
3个回答
1
投票

您应该在 WordPress 中搜索 URL 重写。请参阅以下链接了解更多详情,

WordPress URL 重写

其工作原理如下,

  1. 添加用于重写的操作钩子,

    add_action( 'init', 'rewrites_init', 1, 0);

    函数 rewrites_init() {
    add_rewrite_rule('([^/])/([^/])/([^/])/([^/])', 'index.php?&country=$matches1&state= $matches2&city=$matches[3]&town=$matches[4]', 'top'); }

  2. 设置重写标签

    add_action( 'init', 'custom_rewrite_tag', 10, 0); 函数自定义_rewrite_tag() { add_rewrite_tag('%country%', '([^&]+)'); add_rewrite_tag('%state%', '([^&]+)'); add_rewrite_tag('%city%', '([^&]+)'); add_rewrite_tag('%town%', '([^&]+)'); }

  3. 设置查询变量

    add_filter( 'query_vars', 'query_vars'); 公共函数 query_vars($query_vars) { $query_vars[] = '国家'; $query_vars[] = '状态'; $query_vars[] = '城市'; $query_vars[] = '城镇'; 返回$query_vars; }

  4. 之后您可以通过

    get_query_var
    获取值 get_query_var

这未经测试。但只要你付出一点努力,这就会有所帮助。请在下面的评论中告诉我。


1
投票

试试这个:

<select id="city" name="city">
<option value="mumbai">mumbai</option>
<option value="delhi">delhi</option>
<option value="surat">surat</option>
<option value="ahmedabad">ahmedabad</option>
</select>

调用jquery:

$('#city').change(function(){
  var city = $(this).val();
  window.location.href='your url'+city;
});

0
投票

@Dipak Kumar Pusti 我现在有一个插件,我们可以使用它。 我不是技术人员,所以需要一个简单的方法。

© www.soinside.com 2019 - 2024. All rights reserved.