wordpress自定义页面设置自定义路由绑定自定义模板

爱旅行 39 2024-05-19 17:23:01

这篇文章的标题很拗口,详细说明就是wordpress网站需要新增一个类似于”标签汇总“的功能页面,而且不需要去后台新增页面再绑定模板,而是直接输入”域名/tags“这种url就能打开,还能绑定指定的模板文件。

需求讲明白了现在来分享下思路(声明:我也是面向搜索引擎写出来的代码...)

1、在主题文件夹下新建一个文件夹专门放自定义模板文件(如果你只有一个自定义页面就不需要这步了)。

2、在当前主题的”functions.php “文件里面加上以下函数:

function 主题id_loadCustomTemplate($template)
{
    global $wp_query;
    if (!file_exists($template)) return;
    $wp_query->is_page = true;
    $wp_query->is_single = false;
    $wp_query->is_home = false;
    $wp_query->comments = false;
    if ($wp_query->is_404) {
       unset($wp_query->query["error"]);
      $wp_query->query_vars["error"] = "";
      $wp_query->is_404 = false;
    }
    header("HTTP/1.1 200 OK");
    include($template);
    exit;
}

function 主题id_templateRedirect()
{
    $basename = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);
    主题id_loadCustomTemplate(TEMPLATEPATH . '/新建的存放自定义模板文件夹名称/' . "/$basename.php");
}
//可以挂接口插进去了
add_action('template_redirect', '主题id_templateRedirect');

3、现在可以做一个模板放到第一步新建的文件夹里面去,如果模板文件名是”tags.php“,那么现在你打开”域名/tags“就可以看到效果了。

相关文章