Intereting Posts
Как подключать и вставлять данные в базу данных WordPress? Как избежать кэширования во время разработки? Несколько URL с цифрами Запретить авторам редактировать / удалять свои собственные или другие опубликованные сообщения Как использовать is_rtl с моим основным style.css? Что более эффективно? Использование usermeta или создание новой таблицы MySQL? Недопустимый стол столбцов таблицы WP WP Как добавить код чуть ниже открытия тега тела в системе Genesis PHP-код для использования в следующих и предыдущих ссылках WP Rest API – Как получить отличное изображение Может ли почтовый клиент уведомлять посетителей о новой загрузке мультимедиа? Добавить пользовательские поля в пользовательский тип сообщения RSS Visual Composer создает собственные короткие коды с помощью vc_map () для возврата простого изображения Функция стирания каждого сообщения из таксономии Как предотвратить появление апострофов и котировок в постоянных ссылках?

Как закодировать пользовательские поля в шаблоне страницы?

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

Чтобы начать: я создал несколько настраиваемых полей на моей странице (slide1, slide2, slide3), и эти поля содержат URL-адрес для местоположения изображения. Затем я создал несколько текстовых полей (slide1_text, slide2_text и т. Д.).

Код мудрый, я потянул мои поля в свой шаблон, как:

<?php // check for slide $slide = get_post_meta($post->ID, 'slide1', $single = true); // check for slide text $thumb_text = get_post_meta($post->ID, 'slide1_label', $single = true); // if there's a slide if($slide !== '') { ?> <section class="carousel slide" data-ride="carousel"> <div class="carousel-inner"> <div class="item active"> <img src="<?php echo $slide; ?>" class="slider-images" /> </div> <div class="carousel-caption"> <h2><?php if($slide_text !== '') { echo $slide_text; } else { echo the_title(); } ?></h2> </div> </div> </section> <?php } // end if statement ?> 

В основном он проверяет, есть ли поле с именем slide1, и если оно его печатает. Я не знаю много о добавлении в циклы, и конечная цель здесь – вернуть поля, отформатированные для карусели бутстрапа. (Я знаю, что есть плагины, но я пробовал пару, и они не совсем то, что я хочу.)

Как я могу изменить этот код, чтобы включить цикл, чтобы он проверил и посмотрел, есть ли поля под названием slide *, и если да, то зациклитесь на них и получите их все?

Кроме того, было бы замечательно, если бы я мог обеспечить, чтобы первый слайд имел класс «активный», как вы можете видеть в коде ниже <div class="item active"> и все остальные поля будут только class = пункт.

Solutions Collecting From Web of "Как закодировать пользовательские поля в шаблоне страницы?"

Попробуйте это, чтобы прокрутить до 4 слайдов – проверка каждого для действительного слайда:

 <?php $max_slides = 4; // this should be the maximum number of slides there can be for ($i=1; $i<=$max_slides; $i++) { // check for slide $key = 'slide' . $i; $slide = get_post_meta($post->ID, $key, $single = true); // check for slide text $thumb_text = get_post_meta($post->ID, $key . '_label', $single = true); // if there's a slide if($slide !== '') { ?> <section class="carousel slide" data-ride="carousel"> <div class="carousel-inner"> <div class="item active"> <img src="<?php echo $slide; ?>" class="slider-images" /> </div> <div class="carousel-caption"> <h2><?php if($slide_text !== '') { echo $slide_text; } else { echo the_title(); } ?></h2> </div> </div> </section> <?php } // end if statement } ?> 

Вы можете изменить $max_slides чтобы пройти более 4