Intereting Posts
Параметр удаления Mod_rewrite в 301 Redirect WordPress Cron Job Count Up Up и Not Down Верхние подменю Nav не останутся открытыми – только в FF и только иногда как вставлять данные в таблицу wordpress usnig jquery ajax W3 Общий кэш, CDN и файлы тем Плагин WordPress с Nodejs и Socket.io Многопользовательская загрузка в параметры темы MediaElement.js работает на одном сайте, но не в другом? WordPress запрос с элементами из более чем одной самоопределенной таксономии в качестве аргумента «term» Неопределенная постоянная ошибка в pluggable.php Получить все идентификаторы типа сообщения с помощью WP_Query WordPress Install – «конец вывода сценария перед заголовками» при запуске простого скрипта php Стилизация формата даты с помощью date_i18n Я пытаюсь использовать «wp_set_object_terms» для обновления условий на основе сохраненной записи мета ограничение пользовательской перезаписи только одним пользовательским типом сообщения

Пользовательские поля: в каком порядке они сохраняются в БД?

Если я вставляю несколько настраиваемых полей в свою статью, они сортируются в порядке «Я не знаю» . Поэтому, когда я вставляю несколько статей в статью и вызываю их через

$cf = get_post_custom(); foreach ($cf['ISSUU-configID'] as $key => $value) { echo "<h4>" . $cf['ISSUU-configID'][$key] . "</h4>\n"; } 

их порядок смешивается и ни по логике, ни по тому, как я их вставлял. Мне кажется странным.

Чтобы сделать это немного яснее:
Я вставляю эти числа, каждый в своем собственном поле (в определенном порядке):
12345, 23456, 34567, 45678

И результат будет чем-то вроде (на самом деле это всегда разные):
45678, 23456, 12345, 34567

SQL-запрос, вызванный get_post_custom() находится в update_meta_cache() и он выглядит так:

 $wpdb->get_results( $wpdb->prepare( "SELECT $column, meta_key, meta_value FROM $table WHERE $column IN ($id_list)", $meta_type ), ARRAY_A ); 

Таким образом, не указывается ORDER BY .

Без ORDER BY полученный заказ почти непредсказуем: он зависит от оптимизатора, используемых индексов и их порядка.

Порядок сохранения полей здесь не имеет значения.

Вы можете отфильтровать 'query' и добавить предложение ORDER BY в запрос. Подробнее см. wp-includes/wp-db.phpwpdb::query() .

Вы можете get_post_meta настраивать индивидуальные поля с помощью функции get_post_meta :

 $meta = get_post_meta( $post_id, $key, $single ) //last argument is Boolean to return a single object or an array 

Подробнее об этом здесь . Таким образом, вы можете вызывать свои пользовательские поля, как вы хотите.

благодаря mr. pille для толчка в правильном направлении. Я создал новое настраиваемое поле с несколькими значениями, разделенными на «|» и использовать php explode для получения моих значений:

 $cf = get_post_custom(); if ($cf['ISSUU-multiID'][0]) { $ids = explode("|", $cf['ISSUU-multiID'][0]); foreach ($ids as $key => $id) { echo "<h4>" . $id . "</h4>\n"; } } 

… так как я не буду редактировать файлы wp core … спасибо за помощь …