我有一个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