• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

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

    发布者: 颖然780 | 发布时间: 2025-6-19 12:07| 查看数: 21| 评论数: 0|帖子模式

    【说明】
    检查当前文章是否置顶。返回值TRUE 或者 FALSE.
    【用法】
     
    复制代码代码如下:
     
    【参数】
    $post_ID
    (string) (optional) 文章 ID
    默认: None
    返回值
    (boolean)
    True,或 false.

    【示例】
     
    复制代码代码如下:
    is_sticky();
    // 任意置顶文章被显示.</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)方法的错误理解。


    来源:https://zhuji.jb51.net/wordpress/7830.html
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表