好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

wordpress中is_sticky()判断文章是否置顶的参数与用法

【说明】

检查当前文章是否置顶。返回值TRUE 或者 FALSE.

【用法】

 

复制代码

代码如下:


<?php is_sticky($post_ID); ?>

 

【参数】
$post_ID
(string) (optional) 文章 ID
默认: None
返回值
(boolean)
True,或 false.

【示例】

 

复制代码

代码如下:


is_sticky();
// 任意置顶文章被显示.</p> <p>is_sticky('17');
// 当ID为17的文章被显示.

 

【源文件】

is_sticky() 位于 wp-includes/post.php.

PHP Code 复制内容到剪贴板

/**     * Check if post is sticky.     *     * Sticky posts should remain at the top of The Loop. If the post ID is not    * given, then The Loop ID for the current post will be used.     *     * @since 2.7.0     *     * @param int $post_id Optional. Post ID.     * @return bool Whether post is sticky.     */    function  is_sticky(  $post_id  = 0 ) {      $post_id  = absint(  $post_id  );         if  ( !  $post_id  )       $post_id  = get_the_ID();         $stickies  = get_option(  'sticky_posts'  );         if  ( !  is_array (  $stickies  ) )       return  false;         if  ( in_array(  $post_id ,  $stickies  ) )       return  true;         return  false;    }  


这里要举例说明的是: 

is_sticky(10) 是判断 $post_id为 10的文章是否是置顶文章,而不是说所有置顶文章中post_id为 10的置顶文章。之所以会有后者错误的理解,也是自己看了官方对于 is_sticky($post_id)方法用法文档比较模糊的介绍,其实细究起来,[所有置顶文章中post_id为 10的置顶文章] 这种判断也是多余的,直接 $post->id==10 或 get_the_id()==10 判断当前文章$post_id是否等于10 就好了! 


这里还得感谢下友链中的tiandi兄在本站中留言中提醒说不存在[is_sticky($post_ID)中参数失效]的问题,指正自己对wordpress is_sticky($post_id)方法的错误理解。

查看更多关于wordpress中is_sticky()判断文章是否置顶的参数与用法的详细内容...

  阅读:51次