您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
WordPress模板开发实例
吴军卓2025-03-02WordPress教程已有人查阅
导读页面模板文件:一个完整的主题中必须包含index.php和style.css首页模板-index.php,这个模板决定你博客的主页长什么样子文章模板-single.php,这个模板决定你单篇博客长什么样
页面模板文件:一个完整的主题中必须包含index.php和style.css
首页模板-index.php,这个模板决定你博客的主页长什么样子
文章模板-single.php,这个模板决定你单篇博客长什么样子
搜索模板-search.php,这个决定你搜索博客之后的文章列表页长什么样子
存档模板-archive.php,这个决定你通过分类,标签等分类过滤之后的文章列表长什么样子
错误页面-404.php,做技术的,这个就不用解释啦
获取模板路径:
常用函数:
the_ID():
is_page($page):是否为某一个页面
参数:$page 页面ID,页面标题或者页面别名,可选,默认值为空
返回的值:逻辑值(true/false)
is_sticky($post_ID):判断当前页面类型是否为置顶文章,$post_ID (可选) 文章ID
is_singular() :非列表页
is_home() || is_front_page() ==== 判断是否主页
is_single() ==== 文章页
is_page() ==== 页面
is_category() ==== 文章分类页,eg:is_category(4) 、 is_category(‘movies’)
is_tag() ====文章标签页
is_archive() ==== 归档页
is_404() ==== 404页
is_search() ==== 搜索结果页
is_feed() ==== 订阅页
home_url() === 获取根域名
add_query_arg(array()) ===获取页面别名,如果带上根域名:home_url(add_query_arg(array()))
获取网站信息:bloginfo( $show ); 同:get_bloginfo($show),区别在于后者返回数据,而不是打印出来。
$show (字符串string) (可选)你需要输出的信息的关键词, 默认: name
'name' - 显示在 设置 > 常规 中设置的“站点标题”。 该数据是从 wp_options 这个数据表中检索到的 "blogname"记录。'description' - 显示在 设置 > 常规 中设置的“副标题”。该数据是从 wp_options 这个数据表中检索到的 "blogdescription" 记录。'wpurl' - 显示在 设置 > 常规 中设置的 “WordPress 地址 (URL)”。该数据是从 wp_options 这个数据表中检索到的 "siteurl" 记录。 可以考虑使用 site_url() 来代替,尤其是在使用 子目录路径方式,而不是使用 子域名 来配置多站点时(bloginfo将返回根网站的URL,而不是子站点的URL)。'siteurl' / 'url' - 显示在 设置 > 常规 中设置的 “站点地址(URL)”)”。该数据是从 wp_options 这个数据表中检索到的 "home"记录。 可以考虑使用 home_url() 代替。'admin_email' - 显示在 设置 > 常规 中设置的 “电子邮件地址”。该数据是从 wp_options 这个数据表中检索到的 "admin_email"记录。'charset' - 显示在 设置 > 常规 中设置的“页面和feed的编码”。该数据是从 wp_options 这个数据表中检索到的"blog_charset" 记录。(注:3.5.1+好像已经没有这个选项了)'version' - 显示你当前使用的 WordPress 版本。该数据是在 wp-includes/version.php 检索到的 $wp_version 这个字段的值。'html_type' - 显示WordPress HTML 页面中的内容类型(默认: "text/html")。该数据可以从 wp_options 这个数据表中检索到的 "html_type" 记录。主题和插件可以通过使用 pre_option_html_type 过滤器覆盖默认值。'text_direction' - 显示 WordPress HTML 页面的文本方向。可以考虑使用 is_rtl() 代替。'language' - 显示WordPress的语言。'stylesheet_url' - 显示当前使用的主题的 CSS文件(通常为 style.css)路径。可以考虑使用 get_stylesheet_uri() 代替。'stylesheet_directory' - 显示当前使用的主题的样式表路径。可以考虑使用 get_stylesheet_directory_uri() 代替。'template_url' / 'template_directory' - 当前主题的 URL 路径 。在子主题中, get_bloginfo('template_url') 和 get_template() 都将返回父主题的目录。可以考虑使用 get_template_directory_uri() (用于父主题目录)或get_stylesheet_directory_uri() (用于子主题目录)代替。'pingback_url' - 显示通告文件 XML-RPC 的URL (xmlrpc.php)'atom_url' - 显示 Atom feed URL (/feed/atom)'rdf_url' - 显示 RDF/RSS 1.0 feed URL (/feed/rfd).'rss_url' - 显示 RSS 0.92 feed URL (/feed/rss).'rss2_url' - 显示 RSS 2.0 feed URL (/feed).'comments_atom_url' - 显示评论的 Atom feed URL (/comments/feed).'comments_rss2_url' - 显示评论的 RSS 2.0 feed URL (/comments/feed).
读取列表: wordpress获取分类下文章列表四种方法
读取文章略缩图,就是文章中包含的图片,自动提取出来:
属性:
single_cat_title( '', false ) 或者 the_archive_title('<b>','</b>'):获取分类名称
get_the_archive_description:分类描述
遍历列表:
<?php endwhile; ?>
这里调用分页代码
<?php endif; ?>
分页:
系统自带分页:
首页模板-index.php,这个模板决定你博客的主页长什么样子
文章模板-single.php,这个模板决定你单篇博客长什么样子
搜索模板-search.php,这个决定你搜索博客之后的文章列表页长什么样子
存档模板-archive.php,这个决定你通过分类,标签等分类过滤之后的文章列表长什么样子
错误页面-404.php,做技术的,这个就不用解释啦
获取模板路径:
<? echo get_template_directory_uri() ?> 模板路径
<?php bloginfo(’stylesheet_url’); ?> 模板style.css路径
get_template_directory() 文件路径常用函数:
bloginfo('name');
bloginfo('url');
bloginfo(’description’);
get_the_ID():文章或页面或者循环中,可以使用该函数直接获取the_ID():
is_page($page):是否为某一个页面
参数:$page 页面ID,页面标题或者页面别名,可选,默认值为空
返回的值:逻辑值(true/false)
is_sticky($post_ID):判断当前页面类型是否为置顶文章,$post_ID (可选) 文章ID
is_singular() :非列表页
is_home() || is_front_page() ==== 判断是否主页
is_single() ==== 文章页
is_page() ==== 页面
is_category() ==== 文章分类页,eg:is_category(4) 、 is_category(‘movies’)
is_tag() ====文章标签页
is_archive() ==== 归档页
is_404() ==== 404页
is_search() ==== 搜索结果页
is_feed() ==== 订阅页
home_url() === 获取根域名
add_query_arg(array()) ===获取页面别名,如果带上根域名:home_url(add_query_arg(array()))
获取网站信息:bloginfo( $show ); 同:get_bloginfo($show),区别在于后者返回数据,而不是打印出来。
$show (字符串string) (可选)你需要输出的信息的关键词, 默认: name
'name' - 显示在 设置 > 常规 中设置的“站点标题”。 该数据是从 wp_options 这个数据表中检索到的 "blogname"记录。'description' - 显示在 设置 > 常规 中设置的“副标题”。该数据是从 wp_options 这个数据表中检索到的 "blogdescription" 记录。'wpurl' - 显示在 设置 > 常规 中设置的 “WordPress 地址 (URL)”。该数据是从 wp_options 这个数据表中检索到的 "siteurl" 记录。 可以考虑使用 site_url() 来代替,尤其是在使用 子目录路径方式,而不是使用 子域名 来配置多站点时(bloginfo将返回根网站的URL,而不是子站点的URL)。'siteurl' / 'url' - 显示在 设置 > 常规 中设置的 “站点地址(URL)”)”。该数据是从 wp_options 这个数据表中检索到的 "home"记录。 可以考虑使用 home_url() 代替。'admin_email' - 显示在 设置 > 常规 中设置的 “电子邮件地址”。该数据是从 wp_options 这个数据表中检索到的 "admin_email"记录。'charset' - 显示在 设置 > 常规 中设置的“页面和feed的编码”。该数据是从 wp_options 这个数据表中检索到的"blog_charset" 记录。(注:3.5.1+好像已经没有这个选项了)'version' - 显示你当前使用的 WordPress 版本。该数据是在 wp-includes/version.php 检索到的 $wp_version 这个字段的值。'html_type' - 显示WordPress HTML 页面中的内容类型(默认: "text/html")。该数据可以从 wp_options 这个数据表中检索到的 "html_type" 记录。主题和插件可以通过使用 pre_option_html_type 过滤器覆盖默认值。'text_direction' - 显示 WordPress HTML 页面的文本方向。可以考虑使用 is_rtl() 代替。'language' - 显示WordPress的语言。'stylesheet_url' - 显示当前使用的主题的 CSS文件(通常为 style.css)路径。可以考虑使用 get_stylesheet_uri() 代替。'stylesheet_directory' - 显示当前使用的主题的样式表路径。可以考虑使用 get_stylesheet_directory_uri() 代替。'template_url' / 'template_directory' - 当前主题的 URL 路径 。在子主题中, get_bloginfo('template_url') 和 get_template() 都将返回父主题的目录。可以考虑使用 get_template_directory_uri() (用于父主题目录)或get_stylesheet_directory_uri() (用于子主题目录)代替。'pingback_url' - 显示通告文件 XML-RPC 的URL (xmlrpc.php)'atom_url' - 显示 Atom feed URL (/feed/atom)'rdf_url' - 显示 RDF/RSS 1.0 feed URL (/feed/rfd).'rss_url' - 显示 RSS 0.92 feed URL (/feed/rss).'rss2_url' - 显示 RSS 2.0 feed URL (/feed).'comments_atom_url' - 显示评论的 Atom feed URL (/comments/feed).'comments_rss2_url' - 显示评论的 RSS 2.0 feed URL (/comments/feed).
读取列表: wordpress获取分类下文章列表四种方法
读取文章略缩图,就是文章中包含的图片,自动提取出来:
//文章列表缩略图
if( !function_exists('my_auto_thumbnail')){
function emtx_auto_thumbnail($pID,$thumb='thumbnail') {
$blogimg = FALSE;
if (has_post_thumbnail()) {
$blogimg = wp_get_attachment_image_src(get_post_thumbnail_id($pID),$thumb);
$blogimg = $blogimg[0];
}
elseif ($postimages = get_children("post_parent=$pID&post_type=attachment&post_mime_type=image&numberposts=0")) {
foreach($postimages as $postimage) {
$blogimg = wp_get_attachment_image_src($postimage->ID, $thumb);
$blogimg = $blogimg[0];
}
}
elseif (preg_match('/<img [^>]*src=["|\']([^"|\']+)/i', get_the_content(), $match) != FALSE) {
$blogimg = $match[1];
}
if($blogimg) {
$blogimg = '<aclass="img-thumbnail" href="'. get_permalink().'"><img src="'.$blogimg.'" alt="'.get_the_title().'" /></a>';
}
return $blogimg;
}
}
使用方法:
if(my_auto_thumbnail($post->ID)){
echo my_auto_thumbnail($post->ID);
}
分类:属性:
single_cat_title( '', false ) 或者 the_archive_title('<b>','</b>'):获取分类名称
get_the_archive_description:分类描述
遍历列表:
<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
<?php the_title(); the_permalink(); ?>
这里显示列表数据<?php endwhile; ?>
这里调用分页代码
<?php endif; ?>
分页:
系统自带分页:
the_posts_pagination( array(
'mid_size' => 3,
'prev_text' =>'上一页',
'next_text' =>'下一页',
'before_page_number' => '第',
'after_page_number' => '页',
) );
自定义分页:加入 functions.php
//自定义分页
function my_fenye() {
$p = 3;
if ( is_singular() ) return;
global $wp_query, $paged;
$max_page = $wp_query->max_num_pages;
if ( $max_page == 1 ) return;
echo '<ul class="pagination">';
if ( empty( $paged ) ) $paged = 1;
if ( $paged > 1 ) my_to_link( 1, '首页' );
// echo '<li class="page-item">' . get_previous_posts_link('上一页') . '</li>';
for( $i = $paged - $p; $i <= $paged + $p; $i++ ) {
if ( $i > 0 && $i <= $max_page ) $i == $paged ? print "<li class='page-item active'><a>{$i}</a></li>" : my_to_link( $i );
}
// echo '<li class="page-item">' . get_next_posts_link('下一页') . '</li>';
if ( $paged != $max_page ) my_to_link( $max_page, '尾页' );
echo '<li class="page-item disabled"><a class="page-link" href="#">共 '.$max_page.' 页</a></li>';
echo '</ul>';
}
function my_to_link( $i, $title = '' ) {
if ( $title == '' ) $title = "{$i}";
echo "<li class='page-item'><a href='", esc_html( get_pagenum_link( $i ) ), "'>{$title}</a></li>";
}
调用:
<?php my_fenye();?>
本文标签:
很赞哦! ()
相关教程
图文教程
WordPress报错429 Too Many Requests怎么解决
年底只要是部署在我国境内的服务器的WordPress网站,后台执行WordPress版本更新,或者WordPress主题、WordPress插件更新时,就会提示429 Too Many Requests,原因暂不明确。
wordpress文章阅读次数显示的实现方法
相信不少博客都是用wordpress搭建的,那么我们在不使用插件的情况下如何简单地实现文章阅读次数的统计呢?下面有两个方法可供参考:方法一:1、首先打开我们的后台控制面板,点击外
WordPress URL Rewrite,WP URL重写组件
现在提倡SEF(Search Engine Friendly),所以都提倡使用Wordpress的Permalinks来对URL进行重写。前段时间一直在为RSS feed的重写规则错误犯愁,网上找来的股规则都是有问题额。
Wordpress网站引导页的制作方法
由于WordPress的博客出身,许多WordPress网站主题看起来像是个单纯的博客。很多用户想要给自己的网站添加一个欢迎引导页面,将WordPress博客改造成CMS网站,或者将最重要的内容推荐给网站访问者。
相关源码
-
(自适应手机端)英文外贸电子产品通用pbootcms模板源码下载为电子产品外贸企业设计的响应式网站模板,采用PbootCMS开发内核,支持多语言展示。模板默认集成产品展示系统、询价表单模块和企业资质展示区,满足跨境贸易基础需求。整站采用模块化设计,便于扩展业务场景。查看源码 -
(自适应响应式)环保水净化处理设备阀门等网站源码下载基于PbootCMS内核开发的响应式模板,为水处理设备、空气净化器等环保企业设计,自适应手机端浏览。通过简洁高效的后台管理系统,助力环保科技企业快速建立专业在线展示平台。查看源码 -
自适应响应式绿色装修公司定制家居类pbootcms网站下载(自适应手机端)响应式全屋装修定制家居类网站pbootcms模板 绿色装修公司网站源码下载PbootCMS内核开发的网站模板,该模板适用于装修定制网站、装查看源码 -
(自适应响应式)工业机床工程农业机械设备网站源码下载框架适用于工程机械、机床设备等工业领域。通过模块调整可快速转型为农业机械、物流设备展示系统。预留7种工业产品展示模板。查看源码 -
(PC+WAP)房屋建造建筑工程房地产建材行pbootcms网站模板下载本模板基于PbootCMS内核开发,为房屋建造、建筑工程及房地产建材类企业设计。通过本模板可快速搭建具有行业特色的企业官网,只需替换文字与图片内容即可适配其他行业使用。查看源码 -
(PC+WAP)蓝色钢材加工建筑装修施工材料网站模板下载为钢材加工企业设计的PbootCMS响应式模板,采用PC+WAP双端适配技术,数据实时同步。简洁大气的蓝色工业风格设计,突出钢材加工行业特性,其他制造业用户更换图文内容即可快速应用。查看源码
| 分享笔记 (共有 篇笔记) |

