WordPress自定义字段排序,批量添加自定义字段和值

WordPress自定义字段排序

根据自定义字段news_sort的数字字段从小到大进行排序

$args = array(
'post_type' => 'news',
'orderby' => array(
'meta_value_num'=>'ASC' //ASC OR DESC
),
'meta_key'=> 'news_sort',
);
$query = new WP_Query( $args );

根据自定义字段排序和查询,则可以使用meta_query参数,用来查询自定义字段,如查询一个自定义字段代表状态值disabled为1

$args = array(
'post_type' => 'news',
'orderby' => array(
'meta_value_num'=>'ASC'
),
'meta_key'=> 'news_sort',
'meta_query'=>array(
array(
'key'=>'disabled',
'value'=>1,
'compare'=>'='
)
)
);
$query = new WP_Query( $args );

WordPress批量修改自定义字段名称

UPDATE 'wp_postmeta' SET 'meta_key'='新的自定义域名称' WHERE 'meta_key' = '旧的自定义域名称';

WordPress批量添加新的自定义字段和值

insert into wp_postmeta (post_id, meta_key, meta_value)
select ID, '新自定义字段', '自定义字段值' from wp_posts where post_type = 'post';

该SQL会自动遍历post_type类型的所有贴子ID进行批量添加新的自定义字段和值,谨慎操作,操作前务必备份数据库。

参考

  1. WP_Query - Order results by meta value 官网文档
  2. WordPress WP_Query: Get Posts by Meta Values 根据自定义字段进行查询