2014 年 11 月 2 日更新:之后我又发现 WordPress 其实提供了一个叫 is_sticky() 的函数,用来判断文章是否是置顶文章,建议采用此函数进行判断。

WordPress 提供文章置顶功能,置顶文章的 ID 会被储存在 wp_options 表的 sticky_posts 字段里边。

在主题和插件开发中,很可能需要判断一篇文章是不是置顶文章,然后再对其进行操作。

WordPress 核心并没有提供相关的判断函数,不过我们可以自己写一个判断文章是否为置顶文章的函数。

/**

    *WordPress 判断文章是否是置顶文章

    *https://www.weixiaoduo.com/is-sticky-posts/

*/

functionBing_is_sticky_posts($ID=false){

    if($ID===false){

        $post_ID=get_the_ID();

        if($post_ID===false)returnfalse;

        $ID=$post_ID;

    }

    returnin_array($ID,(array)get_option('sticky_posts'));

}

调用函数的时候可以传一个文章 ID,不传则自动调用循环的当前文章。

if(Bing_is_sticky_posts())echo'当前文章是置顶文章';

if(Bing_is_sticky_posts(68))echo'ID 为 68 的文章是置顶文章';