为了账号安全,请及时绑定邮箱和手机立即绑定

如果 PHP 计数器等于 WordPress 回显类中的 4 个项目无法正常工作

如果 PHP 计数器等于 WordPress 回显类中的 4 个项目无法正常工作

PHP
拉丁的传说 2022-05-27 16:49:01
我正在使用 WordPress 和高级自定义字段。我为每个循环创建了一个,一切正常。但是我不希望显示具有“草稿”状态的帖子这也可以,但是如果帖子的数组长度等于或大于 4 个帖子,我想显示一个不同的 HTML 类“col-sm-6”但这不起作用。基本上,如果帖子已发布且数组长度等于 4,则更改类,否则什么也不做。但由于某种原因,它没有按应有的方式工作。有人可以帮我吗?我的代码:<?php$posts = get_field('home_add_news');$counter = 0;if($posts):?><section id="news">    <div class="container">        <div class="row">            <?php            foreach( $posts as $post):            $post_date = get_the_date( 'd M Y' );            $post_img_url = get_the_post_thumbnail_url($post->ID, 'full');            $post_categories = get_the_category( $post->ID );            $post_category = $post_categories[0]->cat_name;            $post_class = '';            if(has_category('nieuws')):                $post_class = 'news__block--image';            elseif(has_category('project')):                $post_class = 'news__block--primary';            elseif(has_category('proces')):                $post_class = 'news__block--secondary';            elseif(has_category('tijdlijn')):                $post_class = 'news__block--tertiary';            else:                $post_class = 'news__block--tertiary';            endif;            if ('publish' === $post->post_status):            $counter++;            ?>
查看完整描述

1 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

我假设您正在尝试显示col-sm-6大于 4 的帖子的类。


有几件事,你可以做它来使它工作。


删除循环$counter后递增的代码。foreach我们将在下面的第 2 步中执行此操作。

            foreach( $posts as $post):

            //$counter++; This should be commented.

相反,我们应该if在您检查状态的块内增加这个计数器。

            if ('publish' === $post->post_status):


               //echo $counter;  //Comment this out

               $counter++;  //increment it here

            ?>

最后一步是确保当$counter大于或等于 4 时显示我们的类。正如@Kaperto 所建议的,您不需要在draft此处检查状态,因为您已经在检查上述状态。

所以取出以下行


<div class="col-custom <?php if ('draft' != $post->post_status && $counter == 4): echo 'col-sm-6'; endif; ?>">

并将其更改为


<div class="col-custom <?php if ($counter >= 4): echo 'col-sm-6'; endif; ?>">


查看完整回答
反对 回复 2022-05-27
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号