在URL中注入动态字符串

时间:2017-10-15 作者:Beginner Developer

我是Wordpress和PHP的初学者。我需要你帮助设置一些url重写。

我想在我网站的所有URL上注入一个城市和一个国家。例如:www.domain。com/contact应可通过www.domain访问。com/国家/城市/联系人,其中城市和国家是动态的。

url“www.domain.com/COUNTRY/CITY/contact”不应更改为www.domain。通讯/联系!

谢谢你的帮助

1 个回复
SO网友:freejack

您没有说明国家和城市是否是类别、标签或其他内容。这些信息将有助于给你一个完整的答案。

这只是一个如何做到这一点的例子。

//Add a location variable to the post type\'s rewrite rule 
function my_post_type_args( $args, $post_type ) {
  if ( \'my_post_type\' == $post_type ) {
      $args[\'rewrite\'] = array(
          \'slug\' => \'/%location%\'
      );
  }

  return $args;
}
add_filter( \'register_post_type_args\', \'my_post_type_args\', 20, 2 );

//Replace the location variable in the url with a country and a city
function my_post_permalinks( $url, $post ){
  if( \'my_post_type\' == get_post_type( $post ) ){

    $country = get_the_country(); //implement a function to get the dynamic country
    $city = get_the_city();//implement a function to get the dynamic city

    //Replace the location variable with the country and city
    $url = str_replace(\'%location%\', $country . \'/\' . $city . \'/\', $url );
  }
  return $url;
}
add_filter( \'post_type_link\', \'my_post_permalinks\' ), 10, 2 );
您在这里要做的是实际添加一个重写规则,告诉WP页面在www.domain时显示。访问com/国家/城市/联系人。因为你的问题不清楚哪个国家和城市,我只会告诉你codex 了解如何执行此操作的说明。

添加重写规则后,需要刷新WP重写规则才能使用。要执行此操作,请转到“设置”->“永久链接”,然后单击“保存更改”。

如果您的问题中有更多的细节,也许可以进一步帮助您。

以上代码未经测试。:)

结束

相关推荐

Custom Feed URLs

我正在为我的一个帖子类型创建一个自定义提要,并允许用户设置该提要的名称。http://www.mysite.com/feed/userdefinedname现在,我还想让用户不仅可以显示该CPT中的所有帖子,还可以按类别过滤它们。目前情况是这样的:http://www.mysite.com/feed/testcategory然而,如果我能将其结构如下,我会非常喜欢它:http://www.mysite.com/feed/userdefinedname/testcategory这可能吗?下面是生成这些基于类