Intereting Posts
Не удалось загрузить изображение с помощью стандартного загрузчика в администраторе WP (v4.3) Как добавить add_meta_box к определенному шаблону страницы? Пользовательские поля: в каком порядке они сохраняются в БД? Как я могу изящно избежать ошибки? Получение предупреждений и уведомлений от Fresh WordPress 3.1.2 Проблема с включением форматирования в выдержках в WordPress Как получить таксономию типа публикации пользовательского типа в wordpress? Измените цикл, но сохраните исходный запрос, что я делаю неправильно? Что касается «Вставить ошибку запроса» в wordpress остановка короткого замыкания в категориях и архивных страницах Как предотвратить выбор родителя в wp_dropdown_categories Где я могу сохранить код виджета для wordpress? Шорткод для отображения типа должности сотрудника на основе типа почтового адреса и типа специальной должности изменить значки видео на выбранный эскиз? Как использовать тот же адрес электронной почты для нескольких пользователей

Лучший способ получить ряд настраиваемых полей в массив?

У меня есть ряд настраиваемых полей, прикрепленных к определенным страницам. Эти поля называются slide1, slide2, side3, slide4, slide5, slide6.

Это изображения, которые будут использоваться в качестве слайд-шоу (я использую слайдер jflow для этого – http://net.tutsplus.com/articles/news/using-the-wonderful-jflow-plugin-screencast/ )

(Я не хочу называть их «слайдом» и помещать их в настраиваемый массив полей, поскольку для каждого слайда могут быть титры, и когда обе слайды и титры являются настраиваемыми массивами полей, порядок может не совпадать)

Теперь, иногда будут введены только 3 слайда (slide1 to slide3), а иногда и все 6 слайдов (slide1 to slide6).

Не будучи очень сообразительным для PHP, мне интересно, какой лучший способ использовать эти настраиваемые поля в массиве PHP, а затем перебирать их, чтобы распечатать код, который выглядит примерно так:

<div id="slides"> <div><img src="qwerty.jpg"> </div> <div><img src="foo.jpg"> </div> <div><img src="test.jpg"> </div> </div> 

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

 <img src="<?php echo wp_get_attachment_url($slide1); ?>"> 

Solutions Collecting From Web of "Лучший способ получить ряд настраиваемых полей в массив?"

Этот способ wokring с слайдами, кажется, популярен, поскольку это ужасно … 🙂 Я недавно кое-что закодировал.

Основная идея, при необходимости отрегулируйте:

 $id = get_the_ID(); $slides = array(); $i = 1; foreach( get_post_custom_keys( $id ) as $key ) if ( false !== strpos( $key, 'slide' ) ) $slides[$key] = get_post_meta( $id, $key, true); while( isset( $slides["slide{$i}"] ) ) { echo '<img src="' . wp_get_attachment_url( $slides["slide{$i}"] ). '" />'; $i++; } 

Вы можете сохранять слайды в виде отдельных сообщений? Я делал это в прошлом.

Рассмотрите возможность назначения сообщений в слайд-шоу страницы с настраиваемыми полями. Создайте сообщение для каждого изображения, в котором вы создаете настраиваемый ключ поля «slide_show_for», и пишите в идентификаторе родительской страницы.

slide_show_for => 29

Где бы вы ни называли свое слайд-шоу, используйте это:

 query_posts('meta_key=slide_show_for&meta_value='.$wp->query_vars['p']); 

Если вам нужен жесткий контроль над порядком слайда, и вы не создаете слайд-сообщения в том порядке, в котором вы хотите их отобразить, я рекомендую плагин postMash заказывать сообщения с интерфейсом перетаскивания. Этот плагин не имеет возможности выбрать категорию должностей, которую вы хотите заказать. Панель параметров по умолчанию будет показывать все сообщения. Я взломал код плагина, чтобы указать, какую категорию я хочу изменить. это может быть за пределами вашей зоны комфорта, и, возможно, есть еще один способ контролировать порядок, например, вручную отредактировать меню menu_order каждого сообщения из phpmyadmin.