• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
俺乃小潜mg 显示全部楼层 发表于 2021-8-15 20:24:20 |阅读模式 打印 上一主题 下一主题
【说明】
检查当前文章是否置顶。返回值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)方法的错误明白。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则