WordPress 循环函数(1)

循环是WordPress用于通过主题的模板文件输出帖子的默认机制。 检索的帖子数量取决于阅读设置中定义的每页 显示的帖子数量。 在循环中,WordPress将检索要显示在当前页面上的每个帖子,并根据您的主题说明进行格式 化。

循环是WordPress用于通过主题的模板文件输出帖子的默认机制。 检索的帖子数量取决于阅读设置中定义的每页
显示的帖子数量。 在循环中,WordPress将检索要显示在当前页面上的每个帖子,并根据您的主题说明进行格式
化。
循环从WordPress数据库中提取每个帖子的数据,并插入适当的信息代替每个模板标签。 将为每个帖子处理循环
中的任何HTML或PHP代码。
简单来说,循环是它的名字:它循环遍历当前页面检索到的每个帖子一次,并执行您的主题中指定的操作。
您可以使用循环来执行多种不同的操作,例如:

  • 在您的博客主页上显示帖子标题和摘录;
  • 在单个帖子上显示内容和评论;
  • 使用模板标签在单个页面上显示内容; 和
  • 显示来自Custom Post Types和Custom Fields的数据。
  • 您可以在模板文件中自定义循环,以显示和操作不同的内容

循环详情

基本循环是: 

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
... Display post content
<?php endwhile; ?>
<?php endif; ?>

这个循环说,当有帖子时,循环并显示帖子。 详细介绍:
have_posts()函数检查是否有任何帖子。
如果有帖子,只要括号中的条件在逻辑上为真,则while循环将继续执行。 只要have_posts()继续为true,循环
将继续。 

使用循环

循环应放在index.php中,以及用于显示帖子信息的任何其他模板中。 因为你不想一遍又一遍地复制你的头,循
环应该总是在调用get_header()之后放置。 例如:

<?php get_header(); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
... Display post content
<?php endwhile; endif; ?>

在上面的例子中,循环的结尾显示为一个结尾和endif。 循环必须始终以相同的if和while语句开始,如上所述,
并且必须以相同的结束语句结尾。
您要应用于所有帖子的任何模板标签必须存在于开始和结束语句之间。 

提示:如果没有符合指定条件的帖子可用,您可以添加自定义的404“未找到”消息。 消息必须放在
endwhile和endif语句之间,如下面的示例所示。

一个非常简单的index.php文件将如下所示: 

<?php
get_header();
if ( have_posts() ) : while ( have_posts() ) : the_post();
the_content();
endwhile;
else :
_e( 'Sorry, no posts matched your criteria.', 'textdomain' );
endif;
get_sidebar();
get_footer();
?>

循环可以显示 

循环可以为每个帖子显示多个不同的元素。 例如,许多主题中使用的常见模板标签是:

  • next_post_link() – 在这篇文章后按时间顺序发布的一篇链接
  • previous_post_link() – 在这篇文章之前根据时间顺序发布了一篇链接
  • the_category() – 与正在查看的帖子或页面相关联的类别或类别
  • the_author() – 作者的帖子或页面
  • the_content() – 页面的主要内容
  • the_excerpt() – 一个帖子的主要内容的前55个字,后跟一个省略号(…)或阅读更多链接到完整的帖子。 您
  • 还可以使用帖子的“摘录”字段来自定义特定摘录的长度。
  • the_ID() – 帖子或页面的ID
  • the_meta() – 与帖子或页面关联的自定义字段
  • the_shortlink() – 使用网站的网址和帖子或页面的ID链接到页面或帖子
  • the_tags() –与帖子相关联的标签或标签
  • the_title() – 帖子或页面的标题
  • the_time() – 帖子或页面的时间或日期。 这可以使用标准php日期功能格式化来定制。

您还可以使用条件标签,例如:

  • s_home() – 如果当前页面是主页,则返回true
  • is_admin() – 如果是管理员,返回true,否则返回false
  • is_single() – 如果页面当前显示单个帖子,则返回true
  • is_page() – 如果页面当前显示单个页面,则返回true
  • is_page_template() – 可用于确定页面是否正在使用特定的模板,例如:is_page_template(’aboutpage.php’)
  • is_category() – 如果页面或帖子具有指定的类别,则返回true,例如:is_category(’news’)
  • is_tag() – 如果页面或帖子具有指定的标签,则返回true
  • is_author() – 如果在作者的归档页面内返回true
  • is_search() – 如果当前页面是搜索结果页面,则返回true
  • is_404() – 如果当前页不存在,则返回true
  • has_excerpt() – 如果帖子或页面有摘录,则返回true 

更多内容请查看循环(2)

WordPress 专栏Wordpress主题开发专栏汇总主题基础

WordPress 模板标签

2022-10-15 18:41:07

专栏汇总建站CMS开源精选

OpenCart 开源电商系统

2022-10-17 13:14:33

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索