Подсчитать количество постов, имеющих определенный мета-ключ или значение? - PullRequest
0 голосов
/ 28 февраля 2019

Чего я хочу добиться, так это отобразить количество постов, имеющих определенный мета-ключ или значение. Я получаю список постов, а также мета-ключ и значение, но не знаю, как их отобразить. Я храню данные с помощью повторяющихся полей.,Хранение работы правильно.Теперь, например, у меня есть мета-значение возраста в двух сообщениях, так как я могу сосчитать число сообщений с возрастом.Возраст = Нет сообщения 2.

Мой код:

global $wpdb;
$query = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}postmeta WHERE (meta_key = 'repeatable_fields') ");
$array = wp_json_encode($query);
print_r($array);

Outout:

[{"meta_id": "312", "post_id":"108", "meta_key": "repeatable_fields", "meta_value": "а: 2: {я: 0; а: 2: {s: 4: \" имя \ "; s: 6: \" Захир \»; s: 5: \ "телефон \"; s: 3: \ "123 \";} я: 1; а: 2: {s: 4: \ "имя \"; s: 6: \ "Сагиру \"; s: 5: \ "телефон \"; s: 11: \ "09190219218 \";}} "}, {" meta_id ":" 323" , "pOST_ID": "121", "meta_key": "repeatable_fields", "meta_value": "а: 2: {я: 0; а: 2: {s: 9: \" iif_label \ "; s: 4: \" Город \ "; s: 11: \" iif_details \ ";s: 7: \ "Karachi \";} я: 1; а: 2: {s: 9: \ "iif_label \"; s: 3: \ "Возраст \"; s: 11: \ "iif_details \";s: 2: \ "12 \";}} "}, {" meta_id ":" 329" , "post_id": "126", "meta_key": "repeatable_fields", "meta_value": "а: 1: {я: 0; а: 2: {s: 9: \ "iif_label \"; s: 3: \ "Возраст \"; s: 11: \ "iif_details \"; s: 2: \ "12 \";}} "}, {" meta_id ":" 332" , "post_id": "128", "meta_key": "repeatable_fields", "meta_value": "а: 3: {я: 0; а: 2: {s:9: \ "iif_label \"; s: 7: \ "Страна \"; s: 11: \ "iif_details \"; s: 8: \ "Пакистан \";} я: 1; а: 2: {s:9: \ "iif_label \"; s: 4: \ "Город \"; s: 11: \ "iif_details \"; s: 9: \ "Исламабада \";} я: 2; а: 2: {s:9: \ "iif_label \"; s: 3: \ "Возраст \"; s: 11:\ "iif_details \"; s: 2: \ "12 \";}} "}]

1 Ответ

0 голосов
/ 01 марта 2019

Вы можете попробовать что-то вроде этого:

$count_age = $wpdb->get_col( $wpdb->prepare(
    "
    SELECT      count(meta_id)
    FROM        {$wpdb->prefix}postmeta
    WHERE       meta_value LIKE '%%%s%%'
    ",
    'Age'
));

Подробнее о get_col() здесь: https://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Column

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...