WordPress 插件开发 自定义文章类型 置顶

在WordPress中,原生是自带文章“在博客中置顶”这个功能选项的,但是我们在插件开发时如果自定义了文章的类型,那么这个按钮就无法显示,需要通过代码设置才能显示出来,下面我们记录一下具体的代码。

WordPress 插件开发 自定义文章类型 置顶

当前所使用主题的 functions.php 文件中

add_action( 'add_meta_boxes', 'jiloc_add_book_box' );  function jiloc_add_book_box(){  add_meta_box( 'jiloc_add_book_box', '自定义文章类型置顶', 'jiloc_sticky ', '自定义类型type', 'side', 'high' );  }  function jiloc_sticky (){ ?>  <input id="super-sticky" name="sticky" type="checkbox" value="sticky" <?php checked( is_sticky() ); ?> /><label for="super-sticky" class="selectit">置顶本产品</label>  <?php  }

效果如下

WordPress 插件开发 自定义文章类型 置顶

主题中输出置顶文章代码

$sticky = get_option( 'sticky_posts' );  query_posts( array( 'post__in' => $sticky, 'ignore_sticky_posts' => 1 ) );

主题中输出非置顶文章代码

$sticky = get_option( 'sticky_posts' );  query_posts(array('ignore_sticky_posts' => 1,'post__not_in' => $sticky) );

不想把置顶文章和非置顶文章区分开来的话,直接把不输出置顶文章中的 ignore_sticky_posts 和 post__not_in 去掉即可正常输出,并且自动将置顶文章排在首位。

如果是正常输出文章让置顶文章自动置顶,那么我们很有必要在置顶文章标题后面或前面添加【置顶】标识,以便用户知道这是一篇置顶文章。方法也很简单,只需要在循环语句中的标题后面添加以下代码即可:

<?php if (is_sticky()) {?><span class="sticky-icon">置顶</span><?php } ?> 

意思就是判定当前文章是否为置顶文章,是的话就输出置顶标识。

腾讯云限时秒杀【点击购买】

搬瓦工,CN2高速线路,1GB带宽,电信联通优化KVM,延迟低,速度快,建站稳定,搬瓦工BandwagonHost VPS优惠码BWH26FXH3HIQ,支持<支付宝> 【点击购买】!

Vultr$3.5日本节点,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快【点击购买】!

阿里云香港、新加坡VPS/1核/1G/25G SSD/1T流量/30M带宽/年付¥288【点击购买】

WordPress 插件开发 自定义文章类型 置顶

`微信`扫码 加好友

链接到文章: https://gkxyz.com/wordpress-chajiankaifa-zidingyiwenzhangleixing-zhiding.html

推荐站点

  • 站长工具 – 站长之家

    站长工具是站长的必备工具。经常上站长工具可以了解SEO数据变化。还可以检测网站死链接、蜘蛛访问、HTML格式检 […]

  • Vultr

    Vultr Global Cloud Hosting – Brilliantly Fast SSD […]

  • 腾讯云 – 产业智变 云启未来

    腾讯云为数百万的企业和开发者提供安全稳定的云计算服务,涵盖云服务器、云数据库、云存储、视频与CDN、域名注册等 […]

  • 微博-随时随地发现新鲜事

    微博-随时随地发现新鲜事

  • 懂车帝 – 说真的还得懂车帝

    懂车帝是一个汽车资讯平台,懂车更懂你。懂车帝资讯平台会聪明地分析你的兴趣爱好,自动为你推荐喜欢的汽车内容,提供 […]

  • 观察者网

    观察者网,致力于荟萃中外思想者精华,鼓励青年学人探索,建中西文化交流平台,为崛起中的精英提供决策参考。

评论已关闭