本文最后更新于 976 天前,其中的信息可能已经有所发展或是发生改变。
wordpress主题开发中可能会用到的调用模板、自定义模板、文件引入等标签调用,在wordpress官方文档的基础上,添加了自己的理解注释
header.php头部模板
get_header(string $name = null,array $args = array());
加载header.php模板文件,一般用于网页头部
第一个参数
get_header('category');
他会加载主题文件夹中的header-category.php模板文件,如果没有找到该文件则加载header.php
第二个参数
get_header('',array('name'=>'wordpress','website'=>'www.gdbaiqian.com'));
他会给header.php模板文件传递一个数组
<h2><a href='<?php echo $args['website']?>'><?php echo $args['name'];?></a></h2>
并且可以在header.php中进行使用
footer.php底部模板
get_footer(string $name = null,array $args = array());
加载footer.php,一般用于网页底部,使用方法同get_header();
sidebar.php侧边栏模板
get_sidebar(string $name = null,array $args = array());
加载sidebar.php,一般用于侧边栏,使用方法同get_header();
searchform.php搜索表单模板
get_search_form(array $args = array());
加载自定义搜索表单searchform.php模板文件,如果没有找到该文件则加载调用wordpress默认搜索表单
参数:$echo
$echo = true;
可以留空,默认值为true。输出表单的html,且会直接显示,可对变量进行拼接,比如原本是3,通过代码加1后变成31
$echo = false;
表单代码将以字符串形式返回,不会直接显示出来,可对变量进行操作,比如原本是3,通过代码加1后变成4
加载自定义搜索表单有两种方法
第一种:在主题中创建searchform.php文件,并编写表单代码
<form role="search" method="get" id="searchform" class="searchform" action="/"> <div> <label class="screen-reader-text" for="s">关键词</label> <input type="text" value="<?php echo get_search_query(); ?>" name="s" id="s" /> <input type="submit" id="searchsubmit" value="开始搜索" /> </div> </form>
然后在模板文件中调用
get_search_form();
第二种:将搜索表单代码放进一个变量,挂载到wordpress的钩子上
function my_new_search_form( $form ) { $form = '<form role="search" method="get" id="searchform" class="searchform" action="/" > <div><label class="screen-reader-text" for="s">关键词</label> <input type="text" value="' . get_search_query() . '" name="s" id="s" /> <input type="submit" id="searchsubmit" value="点击搜索" /> </div> </form>'; return $form; } add_filter( 'get_search_form', 'my_new_search_form' );
然后在模板文件中调用
get_search_form();
也可以这样
echo get_search_form($echo = false);
comments.php评论模板
comments_template(string $file = '/comments.php',bool $separate_comments = false)
加载自定义评论comments.php模板文件,如果没有找到该文件则加载默认主题的评论comments.php模板文件,否则进程停止
第一个参数
comments_template('/custom-comments.php');
他会调用当前主题目录下的custom-comments.php模板文件,路径可根据实际情况往上或往下
第二个参数
默认值false,是否将评论按类型区分开
拓展
comments_open();
判断评论功能是否打开
get_comments_number();
获取评论数量
自定义模板文件
get_template_part($slug,$name);
调用自定义模板文件,自定义命名的模板文件,不填写php文件的后缀
参数$slug
如果调用当前目录模板,值为调用模板的文件名,如果在其他目录,也可以这样写
get_template_part('home-page/header-top');
第二个参数感觉可有可无,完全能被第一个参数取代了
include引入文件
include(TEMPLATEPATH.'/path.php');
TEMPLATEPATH是一个定义好的常量,引入名为path.php的文件,需要填写php文件后缀
include_once(TEMPLATEPATH.'/path.php');
引入名为path.php的文件,仅一次。如遇报错则停止进程
require(TEMPLATEPATH.'/path.php');
TEMPLATEPATH是一个定义好的常量,引入名为path.php的文件,需要填写php文件后缀
require_once(TEMPLATEPATH.'/path.php');
引入名为path.php的文件,仅一次。如遇报错继续执行