1.主题文件构成
存放目录:wp-content/themes
必要文件:style.css 和 index.php
主题信息:存放在style文件头部
主题信息 |
---|
Theme Name: 主题的名称 |
Theme URI: 主题的网址 |
Author: 作者的名称 |
Author URI:作者的网址 |
Description: 主题的简介 |
Version: 1.0 版本信息 |
主题默认能够识别的文件名
名称 | 模板名称 | 详细说明 |
---|---|---|
screenshot.png | 缩略图 | 显示在后台主题列表页的封面 |
taxonomy.php | 自定义分类法 | 通用自定义分类法的显示模板 |
taxonomy-XXX.php | 指定分类法 | |
author.php | 作者 | |
date.php | 日历 | |
attachment.php | 附件 | |
image.php | 图片 | |
archive.php | 归档 | |
404.php | 404页面 | |
category.php | 分类目录 | |
category-XXX.php | 指定分类 | |
archive-XXX.php | 指定归档 | |
search.php | 搜索结果 | |
tag.php | 标签 | |
single-XXX.php | 指定内容页 | |
home.php | 首页 | |
front-page.php | 绝对首页 | |
comments.php | 评论 | |
sidebar.php | 侧边栏 | |
single.php | 文章内容页 | |
singular.php | 页面文章合一 | |
page.php | 页面 | |
header.php | 公用头部 | |
footer.php | 公用底部 |
2. wp默认查询/主查询(wp自动的)
代码语言:javascript复制<?php
print($wp_query);
?>
print :php查询语法
wp_query: wp的默认查询语法
3.分类目录归档页查询
[ query object ] 存储分类目录的原始/本身的(详细)信息
[ posts ] 分类目录当前页(分页)下的所有文章信息
[ post ] 分类目录文章下的第一篇文章
[ is ] 开头的函数说明:
[is_xxx] => 1,如果后面箭头=> 1,则表示xx对应类型的网页
例子: [is_archive] => 1 归档类页面 [is_catgory] => 1 分类目录的页面
4.标签归档页查询
[is_tag] => 标签归档页面
同分类目录归档页查询相同
5.作者归档页查询
[is_author] => 作者归档页 同分类目录归档页查询相同
6.日期归档页查询
[is_date] => 日期归档页
日期归档页不提供 [query_object]的属性
7.文章详情页的查询
[ queried_object ] 文章详情信息
[is_single] => 文章详情页
[is_singllar] => 详情页
[posts] / [post] / [queried_object]:
获取的都是文章详情(因为访问的是一篇文章,所以这些信息都是文章)
8.页面详情页的查询
[is_page] => 页面详情页
[posts] [post] 同文章详情页
9.附件详情页的查询
[queried_object] 附件的详细信息
[is_attachment] 附件的详情页
[post_mime_type] 附件类型:MIME
[posts] [post] 同文章详情页
10.首页的查询
默认:
[is_home] => 当前页是首页
阅读设置:为默认设置的时候
查询出最新的文章
自定义:
[is_home] => 1 ,[is_page] => 1
阅读设置:为自定义页面的时候
查询出来是设置的页面
11.搜索页的查询
[is_serch] => 当前页是搜索页
没有[query_object]的字段
12. 错误页【404】页面的查询
[is_404] => 当前页是404页
没有[query_object]的字段
[posts] [post] 里面都为空
13. 默认查询的总结
默认查询:
$wp_query -> posts -> post
被查询对象:(wp_query查询出来的)
get_queried_object()
get_queried_object_id()
14. PHP原生语法的默认查询结果展示方法
代码语言:javascript复制<?php foreach($posts as $pt); ?>
<p>文章编号:<?php echo $pt ->ID; ?></p>
<p>文章编号:<?php echo $pt ->post_title; ?></p>
<p>文章编号:<?php echo $pt ->post_content; ?></p>
<p>文章编号:<?php echo $pt ->post_excerpt; ?></p>
?>
<?php endforeach; ?>
15.wp循环结构语法
代码语言:javascript复制<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<!–PHP代码 –>
<?php endwhile; ?>
<?php endif; ?>
have_posts()
解析:WordPress的have_posts() 默认是一个全局函数。
have_posts函数被调用时实际上是调用全局变量$wp_query->have_posts()成员函数,来简单检查一个全局数组(array)变量$posts的一个循环计数器,以确认是否还有post,如果有返回true(1),如果没有返回false(0)。
the_post()
解析:the_post()函数则调用$wp_query->the_post()成员函数前移循环计数器,并且创建一个全局变量$post(不是$posts),把当前的post的所有信息都填进这个$post变量中,以备接下来使用。
the_xxx 可以直接输出, get_the_xxx 不能直接输出
WordPress的函数中,the开头的基本都是直接输出内容,get开头是获取内容。
两种输出方式:
① 纯PHP输出文章
代码语言:javascript复制while(have_posts()):the_post();
echo '<a href="'.get_the_permalink().'">'.get_the_title().'</a><br/>';
$i ;
endwhile;
② PHP与HTML混合输出文章
代码语言:javascript复制<?php while(have_posts()):the_post(); ?>
<a href="<?php the_permalink();?>"><?php the_title();?></a><br/>';
<?php endwhile;?>
循环中常用的函数
直接输出 | 获取值 | 作用 | 备注 |
---|---|---|---|
the_title() | get_the_title() | 文章标题 | |
the_excerpt() | get_the_excerpt() | 文章摘要 | |
the_ID() | get_the_ID() | 文章ID | |
the_content() | get_the_content() | 文章内容/正文 | 只能在循环中使用 |
the_permalink() | get_ the_permalink() | 文章链接 | |
the_category() | get_the_category() | 文章分类 | |
the_comments_munber() | get_comments_munber() | 获取评论数量 | |
the_author() | get_the_author() | 文章作者 | 只能在循环中使用 |
edit_post_link() | get_edit_post_link() | 编辑链接 | |
the_tags() | get_the_tags() | 文章标签 | |
the_time() | get_the_time() | 文章时间 | |
the_date() | get_the_date() | 文章日期 | |
the_modified_author () | get_the_modified_author() | 修改作者 | |
the_modified_time() | get_the_modified_time() | 修改时间 | |
the_modified_date() | get_the_modified_date() | 修改日期 | |
next_image_link() | 当前文章附件中的下一幅图片生成链接 | ||
next_post_link() | get_next_post_link() | ||
next_posts_link() | get_ next_posts_link() | ||
previous_post_link() | previous_post_link() | ||
previous_posts_link() | get_previous_posts_link() |
16.获取文章所属的分类目录信息(the_category)
wp模板标签the_category用于在文章页或归档页的文章列表中输出当前文章所属分类, 即使有多个分类也会一并输出。
代码语言:javascript复制the_category( string $separator = '', string $parents = '', int $post_id = false )
1).函数参数
① $separator
字符串值,默认为空
默认以无序列表输出分类链接,当文章指定了多个分类时,提供一个字符用于分隔这些分类链接。
② $parents
字符串值,默认为空
指定父分类的显示方式,可选值如下:
空值:不输出父分类;
multiple:父分类和子分类都是单独的链接,但处于同一个li元素中;
single:不输出父分类链接,但父分类的名称会出现在子分类链接锚文本中;
③ $post_id
整数型,默认值:false
文章的ID,默认使用当前文章ID。
2).函数使用示例
用 > 分隔分类链接,并且输出父分类链接,非常适合用于制作面包屑导航:
代码语言:javascript复制<?php the_category( ' > ', 'multiple' ); ?>
17.文章所属分类目录信息:the_category 和 get_the_category_list
the_category : 可以直接输出
get_the_category_list: 不能直接输出,参数用法两者相同
18. 获取文章分类目录纯数据:get_the_category
wp模板标签get_the_category用于获取当前分类信息:
包含 分类ID、分类名称、分类别名、分类描述、父分类ID、分类下文章数量 等。
代码语言:javascript复制get_the_category( int $id = false )
函数参数: $id
整数型,默认值:当前文章的ID
指定文章的ID,将返回该文章所属分类的信息。
函数使用示例
代码语言:javascript复制<?php
$categorys = get_the_category();
foreach ($categorys as $category) {
echo $category->name;
}
?>
19. 获取文章所属的标签信息(tags)
wp模板标签the_tags用于在文章页输出标签链接
函数参数
① $before
字符串值,默认值:null
在标签链接 前 显示的文本。
② $sep
字符串值,默认值:,
在每个标签链接 之间 显示的文本。
③ $after
字符串值,默认为空
在标签链接 后 显示的文本。
the_tags 和 get_the_tag_list 区别:
前者可以直接输出,后者不能直接输出,两者用法和参数基本相同
get_the_tags: 输出文章所属标签的纯数据