How can I style future post?

时间:2021-04-13 作者:blogob

我在分类页面上显示已发布和未来的帖子。我需要使未来的帖子不可点击,并为其添加一个特殊类,以便添加灰色覆盖,这意味着帖子即将发布。。尝试类似于

$post_status = get_post_status($post_id);
            if($post_status === \'future\')
根本不起作用。。在同一循环中,如果post状态为“0”,如何禁用链接并添加类;未来??

任何帮助都将不胜感激。。

这是我循环的第一部分(这是一个高级主题,我正在子主题中构建一个自定义类别页面)

$args = array(
    \'post_type\'=> \'post\',
    \'post_status\' => array(\'publish\',\'future\'),
    \'showposts\' => -1,
        \'category\'          => get_queried_object_id(), // Current category id
        \'category__in\'      => array( get_queried_object_id() )
    );



$query= new WP_Query($args);
if ($query->have_posts()) :
    while ( $query->have_posts() ) : $query->the_post();

        $counter++;?>
        <?php  if( $counter % 2 == 0 ) :     
            if (\'future\'===get_post_status() ){
            echo \'<div class="td-pb-row future">\';
        }else if(\'publish\'===get_post_status() ){
            echo \'<div class="td-pb-row">\' ;
        } ?>                    
            <div class="td-pb-span6">
                <h3 class="entry-title td-module-title">
                    <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute() ?>">
                        <?php the_title() ?>
                    </a>

                </h3>
                <?php the_content();?>
            </div>

            <div class="td-module-image td-pb-span6">
                <div class="td-module-thumb">
                    <?php
                    if ( current_user_can(\'edit_published_posts\') ) {
                        edit_post_link(\'Edit\', \'\', \'\', \'\', \'td-admin-edit\');
                    }
                    ?>
                    <a href="<?php the_permalink() ?>" rel="bookmark" class="td-image-wrap" title="<?php    the_title_attribute() ?>">
                        <?php   $post_thumbnail_url = \'\';
                        if( get_the_post_thumbnail_url(null, \'medium_large\') != false ) {
                            $post_thumbnail_url = get_the_post_thumbnail_url(null, \'medium_large\');
                        } else {
                            $post_thumbnail_url = get_template_directory_uri() . \'/images/no-thumb/medium_large.png\';
                        }
                        ?>
                        <img class="entry-thumb" src="<?php echo esc_url($post_thumbnail_url) ?>" alt="<?php the_title() ?>" title="<?php echo esc_attr(strip_tags(the_title())) ?>" />
                    </a>
                </div>
            </div>

1 个回复
最合适的回答,由SO网友:leendertvb 整理而成

只需使用该功能get_post_status(). 在循环中,您可以访问帖子Id,但如果您将此项留空,它将使用当前帖子的Id。

因此,您的代码将变成这样(尚未测试):

<h3 class="entry-title td-module-title">
    <?php if( get_post_status() != \'future\' ) { ?>
    <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute() ?>">
        <?php the_title() ?>
    </a>
    <?php } else { ?>
        <?php the_title() ?>
    <?php } ?>
</h3>
代码中的问题可能是$counter 变量由于% 2. 所以我想你应该把这个处理掉$counter 变量

因此,请举例说明如何更改代码:

<?php if( \'future\' == get_post_status() ){
    echo \'<div class="td-pb-row future">\';
} else {
    echo \'<div class="td-pb-row">\';
} ?>

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post