WordPress如何使用其中的键自定义元键进行排序?

时间:2017-11-13 23:23:25

标签: php arrays wordpress sorting

在我的WordPress网站上,每个用户都有一个名为'user_details'的自定义元键,它是一个数组,具有以下结构:

$user_details = array('age'=>10,'gender'=>'male');

在以下示例中,如何根据每个用户ASC'age'顺序对用户进行排序?

<?php 
//get all users above 10 years
$args = array(
    'meta_query'    => array(
        'meta_key' => array(
            'key'       => 'user_details',
            'value'     => '',
            'type'      => 'CHAR',
            'compare'   => '!=',
        ),
    ),
    'orderby'       => array( 'meta_key' => 'ASC' ),
); 
$users = get_users( $args );
?>

所以,这条线 array( 'meta_key' => 'ASC' )未根据'age'对检索到的用户进行排序,如何根据年龄对检索到的用户进行排序?

感谢。

1 个答案:

答案 0 :(得分:0)

力量,

有两个选项:

1)如果您将数组存储到用户元VALUE(而非键)中,那么您必须查询记录然后对查询后检索到的数组进行排序 - 查找php数组排序函数。

2)另一种方法是将用户详细信息更清晰地存储在单独的元记录中,例如: 元键:用户年龄 元键:用户性别

然后你可以同时查询和排序。

如果您查看数据如何存储在phpmyadmin中并尝试编写MYSQL查询来提取数据,您将更好地了解情况。