10 次查询 耗时 0.062 秒
共写了687个字,约2分钟读完,共有1条留言
登录/注册
  • 首页
  • »
  • 时光机
  • »
  • WordPress调用置顶文章
  • WordPress调用置顶文章

    作者:胡永云

    日期:2020年09月28日

    需要调用置顶文章时,代码如下:

    <?php query_posts(array("category__in"=>array(get_query_var("cat")), "post__in" => get_option("sticky_posts")));while(have_posts()) : the_post(); ?>
    <!--置顶文章循环块-->
    <?php endwhile;wp_reset_query();?>
    <?php while(have_posts()) : the_post(); ?><?php if(!is_sticky()){?>
    <!--普通文章循环块-->
    <?php } endwhile;?>
    

    以上代码是用在分类页的,get_query_var("cat"))是获取当前分类页ID,"post__in" => get_option("sticky_posts")就是查询置顶文章,is_sticky()用于判断是否为置顶文章。

    输出全部的置顶文章,代码如下

    <?php 
        $sticky = get_option('sticky_posts'); 
        rsort( $sticky );  //对数组逆向排序,即大ID在前 
        $sticky = array_slice( $sticky, 0, 5); //输出5篇置顶文章
        query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) ); 
        if (have_posts()) :while (have_posts()) : the_post();     
    ?> 
    <!--置顶文章循环块-->
    <?php endwhile; endif; ?> 
    

     

    Back Top
    — 于 共写了687个字
    — 文内使用到的标签:
    — 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可

    “WordPress调用置顶文章”共有1条评论

    1. 此方法可以完美解决置顶文章与普通文章同页面显示的问题。

    发表评论