我需要将每 4 个 WordPress 帖子包装在一个 div 中

2023-12-30

我需要一个 div 来包装 WordPress 循环中的每四个帖子。所以它会像

<div>
four posts
</div>
<div>
four posts
</div>

我当前的代码是这样的

<?php 
        $i = 0;
        $wrap_div = "<div class='frak'>";
            if ( have_posts() ) {
               echo $wrap_div;
                while ( have_posts() ) {
                    the_post();

        ?>

        <div class="wine-section">
            <?php the_post_thumbnail(); ?>
            <div class="wine-info">
                <a href="<?php the_permalink(); ?>"><?php the_title( '<h1>', '</h1>' ); ?></a>
                <?php the_meta(); ?>
            </div><!-- /wine-info -->
            <div class="c"></div>
        </div><!-- /wine-section -->

        <?php       
                if ($i % 4 == 0) { echo "</div>" . $wrap_div; }
                } // end while
            } // end if
            $i++;
        ?>

此代码单独包装每个帖子。有任何想法吗?


正如 geomagas 指出的那样 - 您正在循环外部增加变量。然后0 % 4 == 0确实评估为 true - 这是因为当您将 0 除以 4 时,您会得到 0。为了解决这种情况,您还需要一条规则。

另外不要忘记,使用您当前的代码,如果帖子总数为 12,那么您的帖子末尾将有一个空的“frak”div。

<?php 
    $i = 0;
    $wrap_div = "<div class='frak'>";
        if ( have_posts() ) {
            // Grab the total posts that are being displayed
            $total_posts = $wp_query->post_count;
            echo $wrap_div;
            while ( have_posts() ) {
                the_post(); ?>
                <div class="wine-section">
                    <?php the_post_thumbnail(); ?>
                    <div class="wine-info">
                        <a href="<?php the_permalink(); ?>"><?php the_title( '<h1>', '</h1>' ); ?></a>
                        <?php the_meta(); ?>
                    </div><!-- /wine-info -->
                    <div class="c"></div>
                </div><!-- /wine-section -->
                <?php 
                // Is this a fourth post? If so, make sure it is not the last post?
                if ( $i % 4 == 0 && $i != 0 && ( $i + 1 ) != $total_posts ) {
                    echo '</div>' . $wrap_div;
                }
                $i ++;
            } // end while
            // Close the $wrap_div
            echo '</div>';
        } // end if
?>

正如你所看到的if打印结束标记和新换行的语句现在更加复杂。 它确保 $i 不为 0(意味着它仍然是第一个帖子)并且 $i + 1 不等于显示的帖子总数(对于这种情况,我们在while() loop).

如果您想知道为什么我们要在while()循环 - 只是因为你的帖子可能并不总是在 4 上完全是多个(我不确定这里的英语翻译是否正确) - 如果是这种情况并且你在 while 循环后没有关闭你的 div - 你就会有麻烦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我需要将每 4 个 WordPress 帖子包装在一个 div 中 的相关文章

随机推荐

  • 将文本设置为整数值

    我想设置一个TextView作为整数的值 希望像这样 tv setText int 我尝试了这个 但出现了这个错误 另外 我的整数值在另一个类中 D AndroidRuntime Shutting down VM E AndroidRunt
  • 使用 python-pptx 添加项目符号列表

    我正在使用 python pptx 库进行 pptx 操作 我想在 pptx 文档中添加项目符号列表 我使用以下代码片段添加列表项 p text frame add paragraph run p add run p level 0 run
  • 如何只获取一次脚本

    所以这是一个简化的问题 我将其用作参考 以使这个问题变得简单 如果超过 x 像素 则使用 resize 来 getScript jQuery https stackoverflow com questions 11388247 using
  • 记录 mongoose 在应用程序中触发的所有查询

    我有使用nodejs和mongodb的应用程序 我曾使用猫鼬进行ODM 现在我想记录猫鼬在整个应用程序期间触发的所有查询 如何记录这些 您可以像这样启用调试模式 mongoose set debug true 或添加您自己的调试回调 mon
  • 从视觉 API 预览条码扫描仪的尺寸

    我正在使用 Google 的 Android Vision API 中的条形码阅读器示例 预览尺寸似乎没有填满整个可用空间 我使用的是 Nexus 4 预览右侧有一个白色的未使用空间 大约是宽度的 1 3 我希望能够在各种设备上运行这个示例
  • (类型错误:无法在 HttpHeaders.applyUpdate 处读取 null 属性“长度”)Angular 5,Http 客户端

    我在服务中发出 http 请求时收到此响应 这是登录组件 export class LoginComponent credentials Credentials constructor private auth AuthService In
  • Swift 运行时文档 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我一直在探索Apple的swift文档 现在我来这里询问 有关于 Swift 运行时的文档吗 我读过 Swift 编程语言 一书 http
  • 按索引级别为 Pandas Multiindex DataFrame 赋值

    我有一个 Pandas 多索引数据框 我需要为系列中的一列分配值 该系列与数据帧的第一级索引共享其索引 import pandas as pd import numpy as np idx0 np array bar bar bar baz
  • 检查请求是 GET 还是 POST

    在我的控制器 动作中 if empty POST if Auth attempt Input get data return Redirect intended else Session flash error message 有没有方法在
  • 在 CSS 中使用图像文件与数据 URI

    我正在尝试确定包含我编写的脚本所需的图像的最佳方式 我发现这个网站 http www jimbojw com wiki index php title Data URIs and Inline Images这让我考虑尝试这种方法将图像作为d
  • 在 WPF 应用程序中使用手写笔或手指按下触摸屏上的按钮时出现异常

    我有一个带有初始窗口的 WPF 应用程序 该窗口在启动时显示为闪屏 在启动过程中 有一个后台线程 我们可以通过单击启动屏幕中的按钮来取消该线程 使用鼠标并单击按钮取消时 这一切都可以正常工作 但是 如果我使用触摸屏单击此按钮 那么应用程序偶
  • PHP:如何获取相关文件的URL

    PHP 是否有一个本机函数可以返回使用相对路径声明的文件的完整 URL 我需要得到 http www domain com projects test img share jpg from img share jpg 到目前为止 我已经尝试
  • 在 Rust 中使用本地函数是否会对性能产生负面影响?

    我最近意识到我可以在 Rust 中创建本地函数 函数中的函数 似乎是清理代码而不污染文件函数空间的好方法 下面是我所说的本地函数与 外部 函数的小样本 fn main fn local plus x i64 y i64 gt i64 x y
  • htmlentities“无效的多字节序列”错误

    在尝试通过 PHP 的 htmlentities 函数运行字符串时 我在某些情况下收到 无效的多字节序列 错误 有没有办法在调用函数之前清理字符串以防止发生此错误 从 PHP 5 4 开始 您应该使用以下内容来正确转义输出 escapedS
  • python 函数内部定义的 locals() 不起作用[重复]

    这个问题在这里已经有答案了 考虑下面的代码 dct one 2 3 现在下面的工作 for key val in dct items locals key val print one Result 2 3 但是当我使用我真正想要的功能时却不
  • hook脚本中修改svn下的文件

    修改特定文件的最佳方法是什么 如果有 under我们在 post commit 中的存储库hook 例如 我想将校验和行附加到 somefile conf 文件 您可能想阅读本章 http svnbook red bean com en 1
  • ASP.NET - 存储临时文件

    我有一个网络表单 允许用户在我们的系统中开票时上传文件 上传是使用 ajax控件工具包 asyncFileUpload控件完成的 这个想法是将文件保存到临时目录中 并且仅在用户点击 提交 按钮时将它们保存到永久位置 我希望能够删除不再相关的
  • 是否可以通过 adb shell 启动活动并接收其响应? [复制]

    这个问题在这里已经有答案了 我知道你可以从任何应用程序启动任何导出的活动 via adb使用以下命令 am start n com myapp test TestActivity 使用 am start 命令还可以向活动发送额外的数据 我知
  • 无法解析程序集:“Java.Interop”

    当我尝试构建应用程序时 出现以下异常 C Program Files x86 MSBuild Xamarin iOS Xamarin iOS Common targets 681 3 错误 无法解析程序集 Java Interop 版本 0
  • 我需要将每 4 个 WordPress 帖子包装在一个 div 中

    我需要一个 div 来包装 WordPress 循环中的每四个帖子 所以它会像 div four posts div div four posts div 我当前的代码是这样的 div class wine section div