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

当前位置 : 首页 > CMS教程 > WordPress > wordpress中is_sticky()判断文章是否置顶的参数与用法

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

来源:互联网 作者:脚本宝典 时间:2015-07-05 16:41
【说明】 检查当前文章是否置顶。返回值TRUE 或者 FALSE. 【用法】 复制代码 代码如下: ?php is_sticky($post_ID); ? 【参数】 $post_ID (string) (optional) 文章 ID 默认: None 返回值 (boolean) True,或 fals

【说明】

检查当前文章是否置顶。返回值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复制内容到剪贴板

  1. /**  

  2.  * Check if post is sticky.  

  3.  *  

  4.  * Sticky posts should remain at the top of The Loop. If the post ID is not  

  5.  * given, then The Loop ID for the current post will be used.  

  6.  *  

  7.  * @since 2.7.0  

  8.  *  

  9.  * @param int $post_id Optional. Post ID.  

  10.  * @return bool Whether post is sticky.  

  11.  */  

  12. function is_sticky( $post_id = 0 ) {   

  13.  $post_id = absint( $post_id );   

  14.   

  15.  if ( ! $post_id )   

  16.   $post_id = get_the_ID();   

  17.   

  18.  $stickies = get_option( 'sticky_posts' );   

  19.   

  20.  if ( ! is_array$stickies ) )   

  21.   return false;   

  22.   

  23.  if ( in_array( $post_id$stickies ) )   

  24.   return true;   

  25.   

  26.  return false;   

  27. }  


这里要举例说明的是: 

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)方法的错误理解。


Tag:
网友评论

<