分享各种网络资源
是我乃至整个互联网的精髓所在
最新公告:
  • 开启被动注册模式,详情点击这里,同时接小单,QQ:330733312
  • 目前站点正在不断折腾和调试中,如有问题请见谅
     您目前所在位置: 站点首页 » WordPress » WordPress 代码 » WordPress显示即将发布的文章列表
  • WordPress显示即将发布的文章列表

    WordPress显示即将发布的文章列表-BanYuner

    今天在知更鸟博客看到了这个代码,那么我也在第一时间添加并使用起来了,但是使用过程中遇到了一个问题,这个我们稍后详述。

    首先附上相关代码:

    <ul>
    <?php
    $my_query = new WP_Query('post_status=future&order=DESC&showposts=10');
    if ($my_query->have_posts()) {
        while ($my_query->have_posts()) : $my_query->the_post();
            $do_not_duplicate = $post->ID; ?>
            <li><?php the_title(); ?></li>
        <?php endwhile;
    }
    ?>
    </ul>
    

    那么这个代码的功能就是显示那些即将发布的文章。但是我添加到了指定位置并且代码也生效了,但是问题是显示的并非定时发布的文章,我看了原文之后,也没有发现什么端倪。

    后来经过我观察发现,显示的文章确实都是我之前指定时间发布的文章,但是我在后台新建了一篇文章也就是目前这篇文章之后,并没有发现即将发布列表中有这篇文章。于是乎我就开始怀疑是否有别的附加条件。无意中我发现列表中的文章都是我置顶的文章,那么我就尝试性的将此文章置顶,发现确实如此。
    WordPress显示即将发布的文章列表-BanYuner

    那么也就是说,这段代码对于想要显示的定时文章,还是有要求的,要求就是定时的文章要置顶,如果不置顶,那么就无法显示了。大家可以尝试一下。

    另外还有一个是添加到小工具中的版本,见下方代码:

    function future_posts_function($atts){
        extract(shortcode_atts(array(
            'poststatus' => 'future',
            'order'         => 'DESC',
            'showposts' => 10,
        ), $atts));
        $return_string = '<ul>';
        query_posts(array('post_status' => $poststatus, 'order' => $order, 'showposts' => $showposts));
        if (have_posts()) :
            while (have_posts()) : the_post();
                $return_string .= '<li>'.get_the_title().'</li>';
            endwhile;
        endif;
        $return_string .= '</ul>';
        wp_reset_query();
        return $return_string;
    }
    add_shortcode('future_posts', 'future_posts_function');
    // 让文本小工具支持短代码
    add_filter('widget_text', 'do_shortcode');
    

    将以上代码添加至functions.php中即可,然后在文本小工具中添加如下代码:

    [future_posts]
    

    以上就是所有了,如果遇到问题还请留言告知。


    2016年3月10日17:44:27 经过我测试发现,并不是需要文章置顶,而是置顶的文章将定时的蚊帐顶下去了而已,如果高度有限制救护出现无法看到定时发布的文章,而仅仅只看到了置顶的文章而已,知更鸟博客也已经给出了忽略置顶的相关代码:

    上方的第一段代码的修改版

    <ul>
    <?php
    $my_query = new WP_Query('post_status=future&order=DESC&showposts=10&ignore_sticky_posts=1');
    if ($my_query->have_posts()) {
        while ($my_query->have_posts()) : $my_query->the_post();
            $do_not_duplicate = $post->ID; ?>
            <li><?php the_time('H:i') ?> <?php the_title(); ?></li>
        <?php endwhile;
    }
    ?>
    </ul>
    

    小工具代码的修改版

    function future_posts_function($atts){  
        extract(shortcode_atts(array(  
            'poststatus' => 'future',  
            'order'         => 'DESC',  
            'showposts' => 10,  
            'ignore_sticky_posts' => 1  
        ), $atts));  
        $return_string = '<ul>';  
        query_posts(array('post_status' => $poststatus, 'order' => $order, 'ignore_sticky_posts' => $ignore_sticky_posts, 'showposts' => $showposts));  
        if (have_posts()) :  
            while (have_posts()) : the_post();  
                $return_string .= '<li>'.get_the_title().'</li>';  
            endwhile;  
        endif;  
        $return_string .= '</ul>';  
        wp_reset_query();  
        return $return_string;  
    }  
    add_shortcode('future_posts', 'future_posts_function');  
    // 让文本小工具支持短代码  
    add_filter('widget_text', 'do_shortcode');  
    

    关注我们 打赏 分享此文

    微信扫码,关注我们

    扫码,支持我

    WordPress显示即将发布的文章列表

    支付宝(点击图片切换)

    扫码,支持我

    WordPress显示即将发布的文章列表

    微信(点击图片切换)

    扫码,手机看

    WordPress显示即将发布的文章列表
    匿名

    个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

    WordPress显示即将发布的文章列表
    0 + 2 =