【问题标题】:How to change the url of a page from a dropdown in wordpress如何从wordpress中的下拉列表中更改页面的url
【发布时间】:2017-05-17 19:01:33
【问题描述】:

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

我想使用几个下拉菜单,例如“国家”、“州”、“城市”和“城镇”,将 url 更改为所选值。

如果我只选择国家,那么 url 看起来像

http://example.com/india

当我选择除此之外的印度州时,网址将类似于 http://example.com/india/delhi

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

【问题讨论】:

  • 清理了语法,使问题描述简洁,删除了不正确的标签,添加了正确的标签,去除了噪音(“谢谢”),并使其他寻找相同问题的人更容易找到问题.

标签: php wordpress custom-post-type


【解决方案1】:

您应该在 WordPress 中搜索 URL 重写。详情请看以下链接,

WordPress URL Rewrite

它的工作原理如下,

  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); 功能 custom_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

这未经测试。但是,只要您稍加努力,这可能会有所帮助。请在下面的 cmets 中告诉我。

【讨论】:

  • 嗨@dipak,你能告诉我我可以通过哪种方式完成这项任务,在自定义帖子类型或其他任何内容中,因为如果我创建自定义帖子类型,我可以创建国家作为分类和state 作为帖子名称,那么如何在 state 之后选择城市和城镇?
【解决方案2】:

试试这个:

<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;
});

【讨论】:

    猜你喜欢
    • 2019-01-01
    • 2015-09-20
    • 1970-01-01
    • 2013-11-06
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    相关资源
    最近更新 更多