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


Wordpress - Display variable content based on variable in URL

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

我有一个1页的网站(www.vidlab.io),如果url是vidlab.io/?type=GoPro或有关婚礼编辑的信息(如果Url为vidlab.io/?)?type=wedding等等。我读过你可以使用get call,但不知道如何在URL中包含这些信息而不获得404。

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

这很容易。

你必须使用两个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管理屏幕,选择"设置"->"永久链接",然后单击"保存更改"更改。

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

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

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