巴特浮籁 發表於 2023-12-5 00:00:00

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

<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
<strong>【说明】</strong></p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
检查当前文章是否置顶。返回值TRUE 或者 FALSE.</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
<strong>【用法】</strong></p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
 </p>
<div style='margin: 3px auto 0px; padding: 0px 3px; outline: none; line-height: 21.6px; clear: both; border-width: 1px; border-style: solid; border-color: rgb(0, 153, 204); background: rgb(246, 251, 255); overflow: hidden; font-family: tahoma, arial, "Microsoft YaHei";'>
<div style="margin: 0px; padding: 0px; outline: none; float: right; line-height: 25.2px; font-size: 14px;">
<span style="line-height: 25.2px; cursor: pointer;"><u>复制代码</u></span>
</div>
代码如下:</div>
<div id="phpcode6" style='margin: 0px auto 3px; padding: 0px 3px; outline: none; line-height: 25.2px; font-size: 14px; clear: both; border-right: 1px solid rgb(0, 153, 204); background: rgb(221, 237, 251); overflow: hidden; border-left: 1px solid rgb(0, 153, 204); word-break: break-all; border-bottom: 1px solid rgb(0, 153, 204); word-wrap: break-word; font-family: tahoma, arial, "Microsoft YaHei";'>
<br>
&lt;?php is_sticky($post_ID); ?&gt;</div>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
 </p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
<strong>【参数】</strong><br>
$post_ID<br>
(string) (optional) 文章 ID<br>
默认: None<br>
返回值<br>
(boolean)<br>
True,或 false.</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
<strong>【示例】</strong></p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
 </p>
<div style='margin: 3px auto 0px; padding: 0px 3px; outline: none; line-height: 21.6px; clear: both; border-width: 1px; border-style: solid; border-color: rgb(0, 153, 204); background: rgb(246, 251, 255); overflow: hidden; font-family: tahoma, arial, "Microsoft YaHei";'>
<div style="margin: 0px; padding: 0px; outline: none; float: right; line-height: 25.2px; font-size: 14px;">
<span style="line-height: 25.2px; cursor: pointer;"><u>复制代码</u></span>
</div>
代码如下:</div>
<div id="phpcode7" style='margin: 0px auto 3px; padding: 0px 3px; outline: none; line-height: 25.2px; font-size: 14px; clear: both; border-right: 1px solid rgb(0, 153, 204); background: rgb(221, 237, 251); overflow: hidden; border-left: 1px solid rgb(0, 153, 204); word-break: break-all; border-bottom: 1px solid rgb(0, 153, 204); word-wrap: break-word; font-family: tahoma, arial, "Microsoft YaHei";'>
<br>
is_sticky();<br>
// 任意置顶文章被显示.&lt;/p&gt; &lt;p&gt;is_sticky('17');<br>
// 当ID为17的文章被显示.</div>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
 </p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
<strong>【源文件】</strong></p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
is_sticky() 位于 wp-includes/post.php.</p>
<div style='margin: 8px 0px 1.1em; padding: 0px 0px 5px; outline: none; line-height: normal; border: 1px solid rgb(165, 165, 248); background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-family: "Courier New", monospace; overflow: hidden; width: 686px; word-break: break-all;'>
<div style="margin: 0px; padding: 5px 5px 5px 10px; outline: none; line-height: 21.6px; font-weight: bold; background: rgb(244, 245, 255); border-bottom: 1px solid rgb(242, 251, 246); height: 15px;">
<span style="line-height: 14px; font-size: 14px; float: left; padding-left: 5px;">PHP Code</span><span style="line-height: 12px; font-weight: normal; float: right; cursor: pointer;">复制内容到剪贴板</span>
</div>
<div id="code_2886" style="margin: 0px; padding: 0px; outline: none; line-height: 21.6px;">
<ol style="margin: 0px 1px 0px 45px; padding: 2px 0px; outline: none; list-style-position: initial; list-style-image: initial; line-height: 25px; word-break: break-word; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; border-left: 1px solid rgb(221, 221, 221); color: rgb(92, 92, 92);">
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"><span style="line-height: 14px; color: green;">/** </span> </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"><span style="line-height: 14px; color: green;"> * Check if post is sticky. </span> </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"><span style="line-height: 14px; color: green;"> * </span> </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"><span style="line-height: 14px; color: green;"> * Sticky posts should remain at the top of The Loop. If the post ID is not</span> </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"><span style="line-height: 14px; color: green;"> * given, then The Loop ID for the current post will be used. </span> </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"><span style="line-height: 14px; color: green;"> * </span> </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"><span style="line-height: 14px; color: green;"> * @since 2.7.0 </span> </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"><span style="line-height: 14px; color: green;"> * </span> </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"><span style="line-height: 14px; color: green;"> * @param int $post_id Optional. Post ID. </span> </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"><span style="line-height: 14px; color: green;"> * @return bool Whether post is sticky. </span> </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"><span style="line-height: 14px; color: green;"> */</span><span style="line-height: 14px;">  </span></span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: blue; font-weight: bold;">function</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> is_sticky( </span><span style="line-height: 14px; font-size: 14px; color: rgb(221, 0, 0);">$post_id</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> = 0 ) {   </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> </span><span style="line-height: 14px; font-size: 14px; color: rgb(221, 0, 0);">$post_id</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> = absint( </span><span style="line-height: 14px; font-size: 14px; color: rgb(221, 0, 0);">$post_id</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> );   </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);">  </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> </span><span style="line-height: 14px; font-size: 14px; color: blue; font-weight: bold;">if</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> ( ! </span><span style="line-height: 14px; font-size: 14px; color: rgb(221, 0, 0);">$post_id</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> )   </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);">  </span><span style="line-height: 14px; font-size: 14px; color: rgb(221, 0, 0);">$post_id</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> = get_the_ID();   </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);">  </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> </span><span style="line-height: 14px; font-size: 14px; color: rgb(221, 0, 0);">$stickies</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> = get_option( </span><span style="line-height: 14px; font-size: 14px; color: blue;">'sticky_posts'</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> );   </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);">  </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> </span><span style="line-height: 14px; font-size: 14px; color: blue; font-weight: bold;">if</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> ( ! </span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);">is_array</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);">( </span><span style="line-height: 14px; font-size: 14px; color: rgb(221, 0, 0);">$stickies</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> ) )   </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);">  </span><span style="line-height: 14px; font-size: 14px; color: blue; font-weight: bold;">return</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> false;   </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);">  </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> </span><span style="line-height: 14px; font-size: 14px; color: blue; font-weight: bold;">if</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> ( in_array( </span><span style="line-height: 14px; font-size: 14px; color: rgb(221, 0, 0);">$post_id</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);">, </span><span style="line-height: 14px; font-size: 14px; color: rgb(221, 0, 0);">$stickies</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> ) )   </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);">  </span><span style="line-height: 14px; font-size: 14px; color: blue; font-weight: bold;">return</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> true;   </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);">  </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> </span><span style="line-height: 14px; font-size: 14px; color: blue; font-weight: bold;">return</span><span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);"> false;   </span>
</li>
<li style="margin: 0px; padding: 0px 0px 0px 5px; outline: none; list-style: decimal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(170, 0, 0);">
<span style="line-height: 14px; font-size: 14px; color: rgb(0, 0, 0);">}  </span>
</li>
</ol>
</div>
</div>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
<br>
这里要举例说明的是: <br><br>
is_sticky(10) 是判断 $post_id为 10的文章是否是置顶文章,而不是说所有置顶文章中post_id为 10的置顶文章。之所以会有后者错误的理解,也是自己看了官方对于 is_sticky($post_id)方法用法文档比较模糊的介绍,其实细究起来,“所有置顶文章中post_id为 10的置顶文章” 这种判断也是多余的,直接 $post-&gt;id==10 或 get_the_id()==10 判断当前文章$post_id是否等于10 就好了! <br><br><br>
这里还得感谢下友链中的tiandi兄在本站中留言中提醒说不存在“is_sticky($post_ID)中参数失效”的问题,指正自己对wordpress is_sticky($post_id)方法的错误理解。</p>
頁: [1]
查看完整版本: wordpress中is_sticky()判断文章是否置顶的参数与用法