在1周前的WordPress帖子上显示新标签/图标

r6hnlfcb  于 11个月前  发布在  WordPress
关注(0)|答案(1)|浏览(113)

我试图显示一个图标/新的职位是1周的老文本,但它不工作。
我做错了什么?我一直在寻找一个教程,但也找不到任何除了这显示为-2 years。我转换到-1 week这是不工作。

<?php
    $args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'category_name' => 'whats-new',
    'posts_per_page' => 10,
);
$arr_posts = new WP_Query( $args );
if ( $arr_posts->have_posts() ) :
    while ( $arr_posts->have_posts() ) :
        $arr_posts->the_post();
        ?>
        <article>
              <div class="news">
                <a href="<?php the_permalink(); ?>"><h4><?php the_title(); ?></h4></a>
                <?php 
                    if( strtotime( $post->post_date ) < strtotime('-1 week') ) {
                    echo '';
                    } else {
                    echo '<span class="icon icon-new">new posts';
                    }
                ?>
              </div>
            </div>
        </article>
        <?php
    endwhile;
    wp_reset_postdata();
endif;
?>

字符串

dy2hfwbg

dy2hfwbg1#

您的PHP代码看起来很好,可以检索类别为“whats-new”的帖子,并在不到一周的帖子中使用“NEW”图标显示它们。然而,您可以进行一些小的修改,以改善结构和可读性。此外,结束标记似乎是不必要的,可能是一个错别字。
下面是代码的更新版本:

<?php
$args = array(
    'post_type'      => 'post',
    'post_status'    => 'publish',
    'category_name'  => 'whats-new',
    'posts_per_page' => 10,
);

$arr_posts = new WP_Query($args);

if ($arr_posts->have_posts()) :
    while ($arr_posts->have_posts()) :
        $arr_posts->the_post();
        ?>
        <article>
            <div class="news">
                <a href="<?php the_permalink(); ?>"><h4><?php the_title(); ?></h4></a>
                <?php
                if (strtotime(get_the_date()) < strtotime('-1 week')) {
                    echo '';
                } else {
                    echo '<span class="icon icon-new">NEW</span>';
                }
                ?>
            </div>
        </article>
        <?php
    endwhile;
    wp_reset_postdata();
endif;
?>

字符串

相关问题