wordpress使用template_redirect添加自定义页面

2020年2月11日 飞飞 阅读(2.29K)
知识付费主题,优惠促销中:xx-blog主题

之前我们使用wordpress添加自定义页面时都是先复制出来一个page.php页面,然后按照自己的需求修改,最后在后台页面中选择此模版,
今天我们介绍另外一种方法template_redirect钩子,这种方法只需要开发主题的人控制好对应页面即可,不需要在后台中创建对应的页面。

在function.php添加下面代码

function _go_page_template()
{
$xxzhuti_page = strtolower(get_query_var('go')); //转换为小写
if ($xxzhuti_page == '2') {
$template = TEMPLATEPATH . '/go.php';
load_template($template);
exit;
}
}
add_action('template_redirect', '_go_page_template', 5);

上面的代码表示你若访问https://www.xxzhuti.com?go=2的时候,将跳到模版目录的go.php页面。
但是当你代码中只放那段代码的时候,你会发现不会跳转的,产生的原因是 get_query_var(‘go’)此函数,因为go不是公用参数,因此我们需要添加自定义参数

前面也讲过自定义参数的用法,这里就不再说啦,传送门

add_action('query_vars', 'go_add_query_vars');
function go_add_query_vars($vars)
{
$vars[] = 'go';
return $vars;
}

这样访问链接时并可以跳转到go.php页面。若是你还有强迫症的话,觉得那个链接不漂亮,还需要优化为https://www.xxzhuti.com/go/2的话那么需要添加重写规则

add_action('init', 'go_func_urls');
function go_func_urls()
{
add_rewrite_rule('^go', 'index.php?go=1', 'top');
}

重写规则之后需要在wp-admin后台“设置”-》“固定链接”=》“保存”才能生效


关注微信公众号『xx主题网

第一时间了解最新网络动态
关注博主不迷路~

未经允许不得转载:xx主题网 » wordpress使用template_redirect添加自定义页面
分享到:

评论抢沙发

要发表评论,您必须先

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

扫码关注微信公众号

扫描关注xx主题网