欢迎光临
我们一直在努力
扫描二维码在手机上浏览

WordPress 创建自定义 PHP 页面模板

WordPress 创建模板的其实都非常的简单,而 WordPress 添加自定义页面一般有两种方法,一种是使用自定义模板,另外一种是使用 template_redirect 动作钩子来实现自定义页面。今天我们就来说下这两种方法。

方案一:制作页面模板

WordPress 自定义创建页面模板其实非常的简单,但是也比较的有局限性,因为 WordPress 在 page 页面类型中的 url 是不支持同名存在的,所以一旦与分类目录活着标签别名相同后,自定义固定链接使用文章名的链接就会出现错误,这也使得不能规范博客导航中的 URL 链接,如果不介意的话可以使用这一方法:

  1. 在当前启用的主题文件夹(wp-content/themes/your_theme_name)下创建一个 sample-template.php 的 PHP 文件;
  2. 将 page.php 的内容复制到刚才创建的文件中;
  3. 增加自定义的 PHP 代码;
  4. 在文件的最顶端增加一段注释:
    <?php
    /*
    Template Name: Sample Template
    */
    ?>

接下来进入 WordPress 后台,新建页面后就能找到“Sample Template”这个模板来使用就可以。

方案二:调用 WordPress 的 API

这种方法的自由度较高,并且可以创建非WordPress格式的URL,非常有用。比如我们要把 example.com/some-custom-url-request 转交给主题文件夹下的 /custom/some-custom-url-request.php 来处理,就可以用这种方式来处理。这种方法用到 template redirect 钩子,因为它是 WordPress 知道用户正在浏览的页面的关键。它在特定的页面选择 theme template 之前执行。在只在网站的前端触发,并不在管理员页面触发。直接调用 WordPress 的 API. 来解决这个问题。

老规矩,在当前主题 functions.php 中添加一下代码:

//自定义页面模板
function 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 we have a 404 status
	if ($wp_query->is_404) {
		// set status of 404 to false
		unset($wp_query->query["error"]);
		$wp_query->query_vars["error"]="";
		$wp_query->is_404=false;
	}
	// change the header to 200 OK
	header("HTTP/1.1 200 OK");
	//load our template
	include($template);
	exit;
}
function templateRedirect() {
	$basename = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);
	loadCustomTemplate(TEMPLATEPATH.'/custom/'."/$basename.php");
}
add_action('template_redirect', 'templateRedirect');

这样就实现了 WordPress 查找主题文件夹下/custom 文件夹下的 php 文件,并且将相匹配的 URL 请求转交给对应的 php 文件来处理的效果,与此同时,这个 php 文件还保持了对 WordPress API 的调用,因此留给我们的空间非常大。
如果我们需要自定义某个页面链接的模板,就需要在主题文件夹下的/custom 目录创建一个 xxx.php 的 php 文件。这里页面的内容就不提供代码示例了。

那么最后我们就只需要输入 domain.com/xxx 就能显示这个 xxx.php 的文件内容了,并且 xxx.php 这个文件是支持所有 WordPress 函数的,具有主题的框架和 CSS 样式,非常方便好用。

标签
点赞0打赏分享
版权声明
本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自:灵阳星空 » WordPress 创建自定义 PHP 页面模板
本文标题:WordPress 创建自定义 PHP 页面模板
本文日期:本文发表于2020/03/06 10:59:36,最后更新于2020/03/06 10:59:36,如内容失效,请在文章下方留言给我们,谢谢!
本文地址: https://www.jsksky.com/wordpress-create-custom-php-page-template.html
吃得苦中苦,方为人上人,不卧薪藏胆,哪能苦尽甘来?点击进入我的网站了解更多有关我的信息。

评论 抢沙发

A 作者 M 管理员

评论前必须登录!

 

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

支付宝扫一扫打赏

微信扫一扫打赏