首页 视频课程 WordPress开发文档文章循环输出与重置 自定义字段

自定义字段

2020-03-17 / 5704阅

本视频需要登录以后才能播放

登录

有关自定义字段的查询,可用使用 9 个参数:

meta_key(字符串):自定义字段的名(key)
meta_value(字符串):自定义字段的值(value)
meta_value_num(数字):自定义字段的值(value)
meta_compare(字符串):匹配方法(=、!=、>、>=、< 、<=),默认是 “=”meta_query(数组):处理复杂的查询relation(字符串):条件的逻辑关系,OR(或者)或 AND(和)key(字符串):自定义字段的名(key)value(字符串):自定义字段的值(value)compare(字符串):匹配方法(=、!=、>、>=、< 、<=、LIKE、NOT LIKE、IN、NOT IN、BETWEEN、NOT BETWEEN、EXISTS、NOT EXISTS),默认是 “=”type(字符串):自定义字段的类型(NUMERIC、BINARY、CHAR、DATE、DATETIME、DECIMAL、SIGNED、TIME、UNSIGNED),默认
是 “CHAR”简单的自定义字段查询 获取拥有自定义字段 color 的文章:
$query = new WP_Query( 'meta_key=color' ); 

获取自定义字段的值为 “blue” 的文章,不管字段的键值是什么:

 $query = new WP_Query( 'meta_value=blue' ); 

获取自定义字段的值为 “blue” 的页面,不管字段的键值是什么

 $query = new WP_Query( 'meta_value=blue&post_type=page' ); 

获取自定义字段 color 是 “blue” 的文章:

 $query = new WP_Query( array( 'meta_key' => 'color', 'meta_value' => 'blue' ) ); 

获取自定义字段 color 不是 “blue” 的文章:

 $query = new WP_Query( array( 'meta_key' => 'color', 'meta_value' => 'blue', 'meta_compare' => '!=' ) ); 

获取文章类型是 “product” 的文章,并且自定义字段 price 小于或者等于 22:

 $query = new WP_Query( array( 'meta_key' => 'price', 'meta_value' => '22', 
 'meta_compare' => '< =', 'post_type' => 'product' ) ); 

简单的复杂查询 获取 product 自定义文章类型中 color 自定义字段不包含 “blue” 的文章:

 $args = array(
     'post_type'  => 'product',
     'meta_query' => array(
         array(
             'key'     => 'color',
             'value'   => 'blue',
             'compare' => 'NOT LIKE',
         ),
     ),
 );
 $query = new WP_Query( $args ); 

复杂的查询 多自定义字段匹配:

 $args = array(
     'post_type'  => 'product',
     'meta_query' => array(
         array(
             'key'     => 'color',
             'value'   => 'blue',
             'compare' => 'NOT LIKE',
         ),
         array(
             'key' => 'price',
             'value'   => array( 20, 100 ),
             'type'    => 'numeric',
             'compare' => 'BETWEEN',
         ),
     ),
 );
 $query = new WP_Query( $args ); 

在 product 自定义文章类型里获取 color 自定义字段不包含 “blue” 或者 price 字段是 20 到 100 之间的文章:

 $args = array(
     'post_type'  => 'product',
     'meta_query' => array(
         'relation' => 'OR',
         array(
             'key'     => 'color',
             'value'   => 'blue',
             'compare' => 'NOT LIKE',
         ),
         array(
             'key'     => 'price',
             'value'   => array( 20, 100 ),
             'type'    => 'numeric',
             'compare' => 'BETWEEN',
         ),
     ),
 );
 $query = new WP_Query( $args ); 

阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228

大家谈论
    我的见解
    目录