学做网站培训课程介绍

当前位置:

WordPress 实现通过自定义字段查询和排序

WordPress建网站时,可以根据指定自定义字段进行排序,也可以按照指定字段查询需要的类型。这些功能都是通过WP_Query()方法来实现的。下面学做网站论坛分享一下二种代码。

WordPress通过自定义字段进行排序


<?php
$args = array(
'post_type' => 'product',//文章类型,可删除
'orderby' => array(
'meta_value_num'=>'ASC'
),
'meta_key' => 'sortnum',//sortnum是字段名
);
$query = new WP_Query( $args );
while ($query->have_posts()) : $query->the_post(); ?>
<li> <a href="<?php the_permalink(); ?>" target="_blank"><?php the_title(); ?></a></li>
<?php endwhile; ?>
<?php wp_reset_query();?>

还可以这样写:(可以排除指定分类)


<?php
$args=array(
'meta_key' => 'views',//字段名
'orderby' => 'meta_value_num',//按字段值排序
'post__not_in' => get_option( 'sticky_posts' ),//排除置顶文章
'category__not_in' => array(1,2),//排除指定分类数组
'posts_per_page'=>8,//显示文章数量
'order' => 'DESC'
);
query_posts($args); while (have_posts()) : the_post();?>
<li> <a href="<?php the_permalink(); ?>" target="_blank"><?php the_title(); ?></a></li>
<?php endwhile;wp_reset_query();?>

还可以这样写:(可以指定分类)


<?php
$args=array(
'meta_key' => 'views',//字段名
'orderby' => 'meta_value_num',//按字段值排序
'post__not_in' => get_option( 'sticky_posts' ),//排除置顶文章
'cat' => '1',//指定分类数组
//'category__in'=>array(1,2,3),
'posts_per_page'=>4,//显示文章数量
'order' => 'DESC'
);
query_posts($args); while (have_posts()) : the_post();?>
<li> <a href="<?php the_permalink(); ?>" target="_blank"><?php the_title(); ?></a></li>
<?php endwhile;wp_reset_query();?>

WordPress通过自定义字段进行查询


<?php
$args = array(
'meta_query'=>array(
array(
'key'=>'disabled',
'value'=>1,
'compare'=>'='
)
),
'showposts' =>6,
);
$query = new WP_Query( $args );
while ($query->have_posts()) : $query->the_post(); ?>
<li> <a href="<?php the_permalink(); ?>" target="_blank"><?php the_title(); ?></a></li>
<?php endwhile; ?>
<?php wp_reset_query();?>

也可以二者结合在一起实现查询和排序。


<?php
$args = array(
'post_type' => 'product',//文章类型
'orderby' => array(
'meta_value_num'=>'ASC'
),
'meta_key' => 'sort',//排序字段
'meta_query'=>array(
array(
'key'=>'disabled',//查询字段
'type'=>'NUMERIC',//类型:数值:NUMERIC 字符:CHAR 二进制数:BINARY
'value'=>1,
'compare'=>'='
)
),
'showposts' =>6,
);
$query = new WP_Query( $args );
while ($query->have_posts()) : $query->the_post(); ?>
<li> <a href="<?php the_permalink(); ?>" target="_blank"><?php the_title(); ?></a></li>
<?php endwhile; ?>
<?php wp_reset_query();?>

如果想多个条件筛选,可以在代码里多加array,如下:


<?php
$args = array(
'orderby' => array(
'meta_value_num'=>'ASC'
),
'meta_key' => 'paixu',//排序字段
'meta_query'=>array(
'relation' => 'AND', // AND:必须同时匹配 OR:任意一个匹配
array(
'key'=>'paixu',//筛选字段1
'value'=>'',
'compare'=>'!='//不为空
),
array(
'key'=>'演示网站',//筛选字段2
'value'=>'dedeym',
'compare'=>'LIKE'
)
),
'showposts' =>10,//显示数量
);
$query = new WP_Query( $args );
while ($query->have_posts()) : $query->the_post(); ?>
<li> <a href="<?php the_permalink(); ?>" target="_blank"><?php the_title(); ?></a></li>
<?php endwhile; ?>
<?php wp_reset_query();?>

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

相关教程

  • WordPress搜索页如果需要显示搜索结果的数量,一般是使用WordPress自带的函数$found_posts来显示。通常用法是:<?php echo esc_html($found
  • 我们做网站时,如何将分类栏目里的置顶文章显示在最前面呢?然后再显示新发布的文章。怎么实现在调用最新文章列表中置顶文章靠前显示呢?代码如下:
  • WordPress定时发布文章失败的情况,那么如何解决呢?WordPress网站服务器环境或插件冲突可能会导致WordPress产生文章定时发布失败。一般可以安装并启
  • WordPress后台文章添加自定义字段填是非常简单的下拉选择式,如何将Wordpress后台文章添加自定义字段填变为填写框,并且让他可以上传图片的功能呢?下
  • 我们有的时候,在制作好一款wordpress主题的时候,也需要用户在激活主题后,能够自动的创建一些页面和文章,好让用户能够更好更快的熟悉起来,因为,
  • 使用wordpress做网站时,我们有时需要创建一个数据表来存储自己的一些信息,那么怎么在前端就可以自动创建数据表呢,并且可以对数据表的信息进行增删
  • 使用WordPress做网站时,需要使用前端投稿功能,我们可以在前端投稿功能中添加图片上传功能。这样用户在前端就可以直接上传图片了。下面学建站网介
  • WordPress建好网站之后,往往由于服务器本身漏洞、网站后台使用弱密码登录等原因,造成网站被黑,植入了非正规的垃圾代码。造成网站跳转或者打不开。
  • 要使用PHP修改WordPress数据库的某个字段值,可以使用WordPress提供的内置函数和查询语句。以下是一个示例代码片段,可以帮助实现这个目标:<?p
  • 现在很多服务器都在使用宝塔面板,下面学做网站论坛介绍一下宝塔面板安装WordPress建网站的详细过程。方法/步骤第一步:宝塔面板创建站点;创建站点