Wordpress - 根据URL中的变量显示变量内容

时间:2015-11-04 06:49:52

标签: php wordpress variables url get

我有一个wordpress平台,我正在根据网址中的变量在页面上显示可变内容。

我有一个1页的网站(www.vidlab.io),我想要的部分" GoPro视频编辑"如果网址是vidlab.io/?type=GoPro,则显示有关GoPro视频编辑的信息;如果网址是vidlab.io/?type=wedding,则显示有关婚礼编辑的信息,等等。我已经读过您可以使用get调用,但不确定如何在不获取404的情况下在URL中获取该信息。

有关插件的任何想法吗?或者我可以在页面中插入PHP以获得此结果?

1 个答案:

答案 0 :(得分:0)

这很容易。

您必须使用两个Wordpress功能。

  

add_rewrite_rule()

  

add_rewrite_tag()

首先,您将add_rewrite_tag()功能添加到主题的functions.php中。

例如:

function custom_rewrite_tag() {
  add_rewrite_tag('%food%', '([^&]+)');
  add_rewrite_tag('%variety%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);

之后你必须选择一页包含你内容的wordpress。您必须使用此页面的页面ID。

add_rewrite_rule()中包含functions.php

例如:

 function custom_rewrite_rule() {
    add_rewrite_rule('^nutrition/([^/]*)/([^/]*)/?','index.php?page_id=12&food=$matches[1]&variety=$matches[2]','top');
  }
  add_action('init', 'custom_rewrite_rule', 10, 0);

<强>注意:<!/强>

在此之后,您必须转到settings -> permalinks,只需按下保存按钮即可清除永久链接缓存。

  

重要提示:不要忘记刷新并重新生成重写规则   修改规则后的数据库。从WordPress管理屏幕,   选择设置 - &gt;永久链接,只需单击“保存更改”即可   变化。

我的例子来自wordpress的codex页面:

https://codex.wordpress.org/Rewrite_API/add_rewrite_rule

https://codex.wordpress.org/Rewrite_API/add_rewrite_tag