Hi!请登陆

WordPress不显示包含特定自定义字段meta_key的文章

2021-1-19 48 1/19

本站的博客目录介绍页(如懿古今)和每个博客导航分类正文下方都有 8 个已经被收录的独立博客展示,但是这个展示会包含已经陨落的独立博客。所以为了达到不展示已陨落的博客这个目的,今天就跟大家分享一下如何利用 query_posts()实现不显示包含有特定字段(如 meta_key 为 OZABC)的文章。

WordPress不显示包含特定自定义字段meta_key的文章

PS:已经陨落的独立博客就是该博客网站已经无法打开正常浏览,或者已经变更为企业站或其他类型的非博客网站。对于这些博客将会在站名后面添加(已陨落)字样,并在其右上角条件“陨落证明”水印。

其实这个实现起来还是很简单的,只需要查询不包含有特定自定义字段的文章即可,而且通过 query_posts()函数就能成功实现,具体代码如下:

  1. <?php query_posts( array(
  2.         'post_type' => 'post',
  3.         'ignore_sticky_posts'=> 1,
  4.         'meta_query' => array(
  5.                 array(
  6.                     'key' => 'OZABC',
  7.                     'compare' => 'NOT EXISTS'
  8.                     )),
  9.         'showposts' => 8,
  10.         'orderby' => 'rand'
  11.         ));
  12. if (have_posts()) :
  13. while (have_posts()) : the_post();?>
  14.     //循环内容
  15. <?php endwhile;endif;wp_reset_query(); ?>

以上代码的查询条件可以随便更改,其中其最大作用的就是那个'key' => 'OZABC'和 'compare' => 'NOT EXISTS',其中'key' => 'OZABC'的意思就是查找自定义字段 OZABC 的文章;'compare' => 'NOT EXISTS'的意思就是不存在的意思;两者合一简单的意思就是查询不存在指定字段(OZABC)的文章。

PS:越折腾越发现 WordPress 函数的强大,想要折腾得更好,我们还需要熟悉 WordPress 的常用函数,特别是 query_posts()这个函数,平时在折腾的过程中用得特别多。

 

相关推荐