WordPress 內建的文章置頂功能讓重要內容優先展示。開發主題或外掛時,常需以程式化方式判斷、添加或移除置頂狀態。本文系統整理核心函數用法,助你靈活掌控置頂邏輯。
is_sticky()該函數位於 wp-includes/post.php,回傳布林值。
is_sticky( $post_id );
$post_id (整數,可選):要檢查的文章 ID,預設為主迴圈中的當前文章(0 表示當前文章)。布林值:true 表示置頂,false 表示非置頂。
// 判斷當前迴圈文章
if ( is_sticky() ) {
echo '當前文章是置頂文章';
}
// 判斷指定 ID 文章
if ( is_sticky( 68 ) ) {
echo 'ID 為 68 的文章是置頂文章';
}
WordPress 將置頂文章 ID 存儲在 options 表的 sticky_posts 字段中。雖可直接操作資料庫,但官方提供兩個封裝函數更安全便捷:
stick_post()// 置頂指定 ID 文章 stick_post( 68 ); // 置頂當前迴圈文章 stick_post( get_the_ID() );
unstick_post()// 取消指定 ID 文章置頂 unstick_post( 425 ); // 取消當前迴圈文章置頂 unstick_post( get_the_ID() );
save_post 鉤子自動調用 stick_post()。掌握這三個核心函數,即可在任何開發場景中精準控制 WordPress 文章置頂狀態。