【问题标题】:Wordpress adding a tag and changing the URL on loadWordpress 添加标签并在加载时更改 URL
【发布时间】:2013-12-16 04:50:13
【问题描述】:

我有一个自定义帖子类型“个人资料” 请求 3 个不同的 URL 时,我需要加载相同的配置文件,例如:

  • mysite.com/city1/bob
  • mysite.com/city2/bob
  • mysite.com/city3/bob

这些都应该加载鲍勃的个人资料。

我将城市添加为类别并将 bob 分配给每个类别。

现在,当我访问这些链接时,它们都会加载 bob 的个人资料,但加载时 URL 会发生变化。我想阻止 URL 更改。

例子:

  • mysite.com/city1/bob 加载页面,但变为 mysite.com/city1/tag1/bob
  • mysite.com/city3/bob 加载页面,但变为 mysite.com/city1/tag1/bob

我需要它来停止添加标签,我需要它来停止切换到 city1。

如何在 wordpress 中做到这一点?

永久链接设置为/%category%/%postname%


更新,我现在在我的 404 页面中使用 curl 请求来加载内容作为 hack:

$c = curl_init(get_site_url() . '/blog/people/'.$the_slug);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);


$html = curl_exec($c);
echo $html;

但我确信这不是最好的方法,我正在尝试使用 add_action('template_redirect','myfunction') 来检测 url 并将我想要的帖子加载到变量中,但是我似乎无法将 $post 全局设置为该帖子。它只是最终加载主页。

这可能吗:用户请求的 URL 不存在,我使用像 template_redirect 这样的钩子并根据他们请求的内容呈现页面,并将 URL 保留为他们请求的内容?我可以在没有 curl 的情况下执行此操作吗?

【问题讨论】:

  • 我正在考虑使用 404 页面来检查 url 并根据它加载帖子并将其嵌入到 404 页面中。
  • Wordpress 设置中没有阻止这种情况发生的选项吗?可能是错的。
  • 我不这么认为。核心行为是每个页面都有 1 个永久链接,如果一个类别在永久链接中,它会使用 ID 最低的类别。

标签: php wordpress


【解决方案1】:

你可以试试这个插件,它会解决来自 URL 的标签问题

http://wordpress.org/extend/plugins/wp-no-tag-base/

【讨论】:

  • 我已经安装了它,它确实对 URL 有帮助,尽管对于一个人来说,它仍然将标签放在 url 中,我不知道为什么。主要是强制wordpress根据url改变$page,同时维护url。
  • 您是否重置了现有文件以获得此解决方案所做的修改。
  • 是的。我最终通过禁用缓存插件解决了标签问题。我仍然希望在不使用 cURL 的情况下找到解决问题的方法。
  • 他正在使用他提到的自定义帖子类型,所以这个插件不起作用。
  • @nicholmikey 请您再解释一下关于 cURL 部分实际上您想要做什么。
【解决方案2】:

试试这个插件,希望能解决标签问题

http://wordpress.org/plugins/remove-taxonomy-base-slug/

【讨论】:

  • 我可以看到这将如何帮助解决标签问题,但它最终成为了一个缓存问题。剩下的问题是如何在维护用户输入的 URL 的同时为页面提供服务。到目前为止,我想出了如何使用 cURL 来实现,但我正在寻找一种不使用 cURL 的方法。
猜你喜欢
  • 1970-01-01
  • 2016-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多