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 的文章是置頂文章';