Intereting Posts
Страницы жесткого кода в тему для сетевой (многоуровневой) установки WPDB Placeholders и второй аргумент для подготовленных заявлений Восстанавливать содержимое из ревизий – sql-запрос Отключить wpautop, оставить разрывы строк Как отображать простую страницу для печати информации о продукте? Глобальный фильтр не работает Создание включений и исключений Загрузка внешних скриптов в Admin, но только для определенного типа сообщений? Вторая страница (и следующая) результатов поиска перенаправляет меня на домашнюю страницу Загрузка изображения HTTP 500 Внутренняя ошибка сервера Получить конкретное значение переменной для использования в запросе Неверный URL-адрес wp-admin Как предотвратить наводнение комментариев? Расширение WP_Widget вызывает ошибку при использовании виджета Monster Как добавить данные в пользовательское поле репитера через wp api

Цикл через несколько настраиваемых полей с увеличением числа

У меня проблема с настраиваемыми полями, которые я пытался выяснить некоторое время, но не повезло.

У меня есть раздел на сайте, который я создаю, чтобы пользователи публиковали контент в форме. Содержимое пользователя хранится в нескольких настраиваемых полях, прикрепленных к сообщению. Пока все хорошо, все работает так, как ожидалось.

Проблема заключается в том, чтобы найти лучший способ получить этот контент.

Должность, которую публикует пользователь, делится на небольшие куски, они могут, например, добавлять изображение, текст или видео.

Пользовательские поля создаются таким образом для каждой части информации:

custom_text custom_text1 custom_text2 custom_image custom_image1 custom_image2 custom_video custom_video1 custom_video2 

… и так далее.

Проблема в том, что я никогда не могу быть уверен в том, что пользователь решит добавить в свой пост, а настраиваемые поля для каждого сообщения будут выглядеть примерно так:

 custom_image custom_text1 custom_image2 custom_video3 custom_text4 

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

Итак, мне нужен расширенный настраиваемый цикл полей, который проходит через эти настраиваемые поля и соответственно отображает содержимое.

Что-то вроде:

 php start loop counter = 0 if custom_text (display custom_text) else if custom_image (display custom_image) else if custom_video (display custom_video) counter++; end loop 

Я думаю, что счетчик может увеличиваться с каждым каждый раз, а затем снова перебирать все это для числа 1, 2 3 и т. Д.

Мы не знаем, сколько полей будет создано, но будет максимум 40 кусков, поэтому последняя цифра будет 39.

Я много экспериментировал, но еще не смог найти решение.

Может быть, кто-то может указать мне в правильном направлении?

Благодаря!

// Йенс.

Solutions Collecting From Web of "Цикл через несколько настраиваемых полей с увеличением числа"

Вам нужен цикл в цикле цикла через счетчик, и для каждого значения проверяйте наличие каждой клавиши с добавленным значением текущего счетчика.

 // max custom field index $number = 40; // the counter $counter = ''; // the meta keys to check for $keys = array( 'custom_text', 'custom_image', 'custom_video' ); // all our custom field values $custom_fields = get_post_custom( get_the_ID() ); // loop over our counter while( $counter < $number ){ // loop over each of the keys foreach( $keys as $key ){ // check if a custom field with key + counter exists if( isset( $custom_fields[ $key . $counter ] ) ){ // output the field // values will be in an array, 0 is the first index. // you can loop over these as well if you have multiple values. echo $custom_fields[ $key . $counter ][0]; } } // increment the counter $counter++; }