如何高效使用wordpress循环与查询循环块优化网站内容展示

什么是 WordPress 循环?

WordPress 循环(The Loop)是 WordPress 中用于显示帖子和页面内容的主要 PHP 代码结构。它是一个 PHP 代码块,用于从数据库中检索帖子、页面和其他类型的内容并将其显示在 WordPress 网站上。

如何高效使用wordpress循环与查询循环块优化网站内容展示

WordPress 循环的工作原理

WordPress 循环是一个核心功能,它使得当访问者浏览你的网站时,可以看到文章和页面的内容。这个循环会自动从网站的数据库中提取文章信息,比如标题、发布日期、正文内容和其他相关数据。

下面是一个的 WordPress 循环的例子,帮你更好地理解它是如何工作的:

<?php get_header(); ?>
<?php
if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php the_title() ;?>
<?php the_author(); ?>
<?php the_post_thumbnail(); ?>
<?php endwhile; ?>
<?php endif; ?>
<?php get_footer(); ?>

当你访问一个WordPress网站时,网站上显示的文章和页面内容都是通过一系列函数工作来展现的。这些函数每一个都有自己的特定任务,看看它们各自负责什么:

  • get_header()get_footer():这两个函数分别负责在网页上添加页眉和页脚。页眉通常包含了网站的导航菜单和徽标,而页脚则可能包含联系信息、版权声明等。
  • if (have_posts()):这个判断用来检查是否有文章可显示。如果有,它返回真(true),这样循环就可以开始显示文章;如果没有,返回假(false),网页上就不会显示文章内容。
  • while (have_posts()):这是一个循环,它会一直运行,直到所有的文章都被显示完毕。它让网站可以一个接一个地展示每篇文章。
  • the_post():这个函数准备当前要显示的文章数据,使得其他函数如the_title()the_post_thumbnail()可以正确地取得并展示这些信息。
  • the_title(), the_author(), the_post_thumbnail():这些函数用来显示文章的标题、作者和缩略图。在网页上,这些内容通常被包裹在HTML代码中,以便进行美观的格式化显示。
  • 结束语句 endwhileendif:这些用于结束前面的循环和判断,确保代码的逻辑正确闭合。

注意:默认情况下,循环会为每个帖子显示the_title()the_time()the_category() WordPress 模板标签。
或者,为你的 WordPress 循环使用以下PHP 代码语法。虽然其功能和元素相同,但语法格式不同。下面是使用替代语法编写的WordPress循环的一个示例:

<?php
get_header();
if ( have_posts() ) :
	while ( have_posts() ) : the_post();
	the_title();
	the_author();
	the_post_thumbnail();
	endwhile;
endif;
get_footer();
?>

如何在 WordPress 中使用循环

如何高效使用wordpress循环与查询循环块优化网站内容展示

如何使用循环在帖子标题上建立超链接

在WordPress中,如果你想在帖子标题上添加超链接,点击标题可以直接跳转到帖子的详细页面,你可以使用the_permalink()函数。这个函数获取并输出当前帖子的永久链接(URL)。

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
           <h2><a href="<?php the_permalink(); ?>"><?php the_title() ;?></a></h2> 
            <?php the_post_thumbnail(); ?> 
<?php endwhile; ?> 
<?php endif; ?>

如何使用 WordPress 循环显示内容、作者、日期和类别

如果你希望帖子包含作者、日期、类别和内容,应用以下 WordPress 代码:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
           <h2><?php the_title() ;?></h2> 
           <?php the_author(); ?> <?php the_time('F j, Y'); ?> <?php the_category(); ?> 
           <?php the_post_thumbnail(); ?> 
           <?php the_content(); ?> 
<?php endwhile; ?> 
<?php endif; ?>

条件标签是WordPress中的一系列特殊功能,它们帮助主题开发者根据不同的页面类型或情况决定如何显示网站内容。这些功能可以非常灵活地控制网站的显示逻辑,让不同页面显示不同的内容。

例如,如果你想让某些内容只在首页显示,可以使用 is_home() 函数。这个函数检查当前是否为博客的主页;如果是,就执行相应的代码显示特定内容。如果你想在文章的单独页面上显示某些内容,就可以使用 is_single() 函数。这个函数用来判断当前是否是单个帖子的页面。

以下是 WordPress 中最常见的条件标签:

  • is_front_page() – 用于网站的首页。
  • is_page() – 用于 WordPress 页面。
  • is_category() – 用于类别存档。
  • is_tag() – 用于标签存档。
  • is_archive() – 用于存档页面。
  • is_search() – 用于搜索结果页面。
  • is_author() – 用于作者档案。
  • is_404() – for is 404 ff 页面。

对于你想要在其上使用它们的任何页面,将它们设置为“true

我们使用带有if语句的is_front_page()标记,看示例:

<?php if (is_front_page()) : ?>   
        <?php if (have_posts() ) : while (have_posts() ) : the_post(); ?> 
         <h2><?php the_title() ;?></h2> 
           <?php the_post_thumbnail(); ?> 
           <?php the_excerpt(); ?> 

<?php endwhile; ?> 
<?php endif; ?> 
<?php endif; ?>

WordPress 用户可以使用上面的代码在首页显示帖子。

如何使用模板文件自定义 WordPress 循环

要自定义WordPress网站上的帖子显示方式,你可以编辑主题文件夹中的几个关键模板文件。这些文件包括archive.php(用于显示归档页面)、index.php(主页)、category.php(分类页面)和tag.php(标签页面)。

对于非块 WordPress 主题,需要使用 WordPress 循环。

WordPress 循环示例

如何在WordPress的Twenty Twenty主题的index.php文件中添加代码,使得不同类别的帖子有不同的显示样式。这种方式可以帮助读者更容易区分各种类别的帖子。

参考以下的WordPress循环代码,这段代码根据官方文档进行了注释,以帮助你理解每个部分的作用:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <div <?php post_class(); ?>>
        <h2>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </h2>
        <p class="post-category">Category: <?php the_category(', '); ?></p>
        <?php if ( in_category(3) ) : ?>
            <div style="color: red;"> <!-- 这里设置特别样式 -->
                <?php the_content(); ?>
            </div>
        <?php else : ?>
            <?php the_content(); ?>
        <?php endif; ?>
    </div>
<?php endwhile; else : ?>
    <p>No posts found.</p>
<?php endif; ?>

插入广告

使用 WordPress Loop,你可以将广告插入到帖子中,记住将广告代码部分替换为实际代码。:

<?php if (have_posts()) : ?> 
<?php $count = 0; ?> 
<?php while (have_posts()) : the_post(); ?> 
<?php $count++; ?> 
  <?php if ($count == 2) : ?> 
          //广告代码
          <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> 
          <?php the_author(); ?> 
   <?php else : ?> 
          <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> 
          <?php the_author(); ?> 
  <?php endif; ?> 
<?php endwhile; ?> 
<?php endif; ?>

获取两个日期之间的帖子

为了更轻松地管理站点,可以使用 WordPress 循环轻松过滤掉两个日期之间的帖子。

<?php function filter_where($where = ’) {
        $where .= " AND post_date >= '2024-01-01' AND post_date <= '2024-05-01'";
    return $where;
  }
add_filter('posts_where', 'filter_where');
query_posts($query_string);
while (have_posts()) :
      the_post();
      the_content();
endwhile;
?>

注意调整调整 2024-01-01 和 2024-05-01

显示一年前发布的帖子

如果你想显示一年前发布的帖子,使用以下代码:

<?php
$current_day = date('j');
$last_year = date('Y')-1;
query_posts('day='.$current_day.'&year='.$last_year);
if (have_posts()):
    while (have_posts()) : the_post();
       the_title();
       the_excerpt();
    endwhile;
endif;
?>

列出即将发布的帖子

列出即将发布的帖子,以鼓励用户将来访问你的博客。

<?php query_posts('showposts=10&post_status=future'); ?> 
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
    <h2><?php the_title(); ?></h2> 
    <span class="datetime"><?php the_time('j.F Y'); ?></span></p> 
<?php endwhile; 
else: ?><p>没有安排未来的帖子。</p> 
<?php endif; ?>

显示最新置顶帖子

如果你想只显示最新的置顶帖,可以参考下面的代码:

<?php
$sticky = get_option('sticky_posts');
rsort( $sticky );
$sticky = array_slice( $sticky, 0, 5);
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) );

if (have_posts()) :
    while (have_posts()) : the_post();
        the_title();
        the_excerpt();
    endwhile;
endif;
?>

制作存档页面

存档页面是你之前发布的帖子的集合。为你的网页访问者轻松显示过去的热门帖子。要创建它,参考下面的代码:

<?php
/*
Template Name: MyArchives
*/
?>
<?php get_header(); ?>
  <h2><?php $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish'");
if (0 < $numposts) $numposts = number_format($numposts); ?>
<h2><?php echo $numposts.' recipes published since January 01, 2024'; ?>
  </h2>
  <ul id="archive-list">
    <?php
    $myposts = get_posts('numberposts=-1&');
    foreach($myposts as $post) : ?>
      <li><?php the_time('m/d/y') ?>: <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endforeach; ?>
  </ul>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

了解 WordPress 查询循环块

WordPress 循环最重要的更新之一是引入了查询循环块。让我们了解它是什么以及如何使用它。

如何高效使用wordpress循环与查询循环块优化网站内容展示

什么是查询循环块

WordPress 查询循环块在 WordPress 5.8 中引入,是对基本循环功能的强大补充。古腾堡编辑器使用它来在你的网站上显示帖子。

使用 WordPress 查询循环块,你可以创建复杂且具有视觉吸引力的WordPress 帖子格式,以特定顺序显示内容。可以应用各种过滤器,例如类别、标签或日期。

如何在 WordPress 中使用查询循环块

要添加查询循环块,在块编辑器中打开或添加新的 WordPress 帖子:

如何高效使用wordpress循环与查询循环块优化网站内容展示

进入编辑器后,选择块插入器“+”图标:

如何高效使用wordpress循环与查询循环块优化网站内容展示

搜索查询query并单击它

如何高效使用wordpress循环与查询循环块优化网站内容展示

一个新的查询循环块将添加到你的帖子中。现在,检查以下部分以进行自定义。

自定义查询循环块

每当添加新的查询循环块时,你都会看到两个选项:

如何高效使用wordpress循环与查询循环块优化网站内容展示

“选择”选项允许你在各种不同的模式之间进行选择。只需选择一个喜欢的即可

如何高效使用wordpress循环与查询循环块优化网站内容展示

每个查询循环块都由各种嵌套块组成,例如帖子标题或摘录。如果你想知道查询循环块中使用了哪些块,请打开文档概述工具。在这里你将看到所有嵌套块并能够在它们之间导航:

如何高效使用wordpress循环与查询循环块优化网站内容展示
  • 开始空白

开始空白选项中,您将看到各种模板。选择你喜欢的一个。在此示例中,我们将添加带有帖子标题和摘录的模板:

如何高效使用wordpress循环与查询循环块优化网站内容展示

添加查询循环块后,你可以使用块工具栏或块设置部分对其进行自定义。

  • 块工具栏

块工具栏是自定义 WordPress 上任何块(包括查询块)的主要工具。

如何高效使用wordpress循环与查询循环块优化网站内容展示

在这里,你可以将查询循环转换为列或组块、在编辑器中移动它、调整对齐方式或更改默认视图。最值得注意的选项是显示设置替换

如何高效使用wordpress循环与查询循环块优化网站内容展示

显示设置允许你选择要显示的 WordPress 帖子数量,以及设置在显示首选内容之前应跳过其中的数量。

如何高效使用wordpress循环与查询循环块优化网站内容展示

如果你没有看到显示设置,请确保在“块设置”部分中禁用从模板继承查询选项。

另一个有用的 WordPress 功能是Replace。有了它,你可以轻松地将当前模式替换为任何其他模式:

如何高效使用wordpress循环与查询循环块优化网站内容展示
  • 区块设置

其他重要的块设置可以通过单击编辑器右上角的“设置”按钮找到:

如何高效使用wordpress循环与查询循环块优化网站内容展示

查询循环块不仅允许你定制帖子的显示布局、应用过滤器或添加自定义CSS类,还支持分页功能,这在管理内容丰富的网站时尤其有用。

当你的网站包含大量帖子时,通过分页,查询循环块能在多个页面上展示这些帖子。这样的设置帮助访问者通过页码轻松导航你的博客:

如何高效使用wordpress循环与查询循环块优化网站内容展示

结论

WordPress 循环是一个强大的工具,它允许开发者在网站上有效地展示帖子和页面内容。通过使用基本的循环结构和各种条件标签,开发者可以根据页面类型或特定条件来定制内容的显示。WordPress 循环可以使任何网站受益,因为它安排了显示帖子的方式,提高了访问者的浏览体验。。


联系我们
文章看不懂?联系我们为您免费解答!免费助力个人,小企站点!
电话:020-2206-9892
QQ咨询:1025174874
邮件:info@361sale.com
工作时间:周一至周五,9:30-18:30,节假日休息
发布者:光子波动,转转请注明出处:https://www.361sale.com/8205/

(3)
上一篇 2024年 4月 19日 下午5:26
下一篇 2024年 4月 20日 上午10:48

相关推荐

  • 如何通过 7 个简单步骤阻止 WordPress 联系表单垃圾邮件

    在运行WordPress网站时,最令人头疼的问题之一就是垃圾邮件。通过联系表单发送的未经请求的垃圾邮件不仅会浪费您的时间,还可能构成安全威胁,因此需要消耗宝贵的资源来对付它们。现在我们采取的一些可行方法,以减少甚至完全阻止 WordPress 网站上的联系表单垃圾邮件。 1.使用CAPTCHA – 防止WordPress联系表单收到垃圾邮件的最简…

    2024年 4月 1日 WordPress
    0055
  • WordPress 6.5 版本将开始支持 AVIF 格式的图片

    WordPress 6.5 版本开始将支持一种新的图片格式,叫做 AVIF。这种格式的图片不仅质量高,而且文件大小比旧格式的图片(比如 JPEG 或 PNG)小很多,可以减少一半的大小但保持一样的清晰度。AVIF 图片还能展示更多的颜色,特别是在图片细节丰富的地方看起来更清楚。 从 WordPress 6.5 版本起,只要你的网站托管支持 AVIF,你就能像…

    2024年 3月 20日
    0077
  • 集成自定义支付网关到WooCommerce结账区块的指南

    在开始之前,确保你已经查看了如何创建WooCommerce支付网关的完整指南(重要的是在阅读这篇文章之前先阅读那个)。但是,如果你正在使用WooCommerce的最新版本(我认为是从8.3开始),你可能会发现你的自定义支付方式没有出现在结账区块中。 比如说,如果你试图在商店里禁用除了你自定义的支付方式以外的所有支付方式,你可能会遇到以下的错误信息: 虽然使用…

    2024年 3月 21日 WordPress
    00137
  • 探索WordPress:可搭建的网站类型全解析

    很多初学者好奇用WordPress能创建哪些类型的网站。简单来说,答案是“几乎什么网站都行”。我会给你看看用WordPress能搭建的各种网站类型的例子。 WordPress入门 WordPress是支持互联网上超过43%网站的超级流行的网站构建工具,成为市场上最受欢迎的选择。 讲到WordPress,有两个版本要分清楚。一个是WordPress.com,这…

    2024年 3月 30日 WordPress
    0046
  • WordPress 6.5 候选版本 3

    WordPress 6.5的第三个测试版(RC3)现已发布! 这是一个正在开发中的版本,请避免在重要的生产网站上安装或测试它。我们建议您在一个测试环境中来评估这个版本。 虽然这个测试版看起来准备发布了,但我们仍然需要您的帮助进行测试,以确保WordPress 6.5能够在正式发布时运行得很好。 你有四种方法可以测试WordPress 6.5的RC3版本: 插…

    2024年 3月 27日
    0046

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

020-2206-9892

QQ咨询:1025174874

邮件:info@361sale.com

工作时间:周一至周五,9:30-18:30,节假日休息

客服微信
亲爱的用户们:随着五一劳动节的临近。根据国家规定和我司实际情况,现将2024年五一劳动节放假安排通知如下:放假时间:2024年5月1日(星期三)至2024年5月5日(星期日),共计5天。2024年5月6日(星期一)正常上班。放假期间不处理工单业务。祝大家假期愉快,安全健康!