Intereting Posts
Первый блог WordPress, должен ли я сделать свою собственную тему для максимальной настройки? Радиокнопки обновляются в настройках Аутентификация для мобильного приложения, подключенного через wp-rest api? Как я могу связать тесты с проблемами GitHub? Какой клиент блогов для Windows / Linux имеет лучшую поддержку для поддержки / восстановления ваших сообщений? Преобразование HTML в тему WordPress: интеграция функций страниц и использование его текстового редактора, условная привязка Пользовательские поля ACF В этот короткий код можно вставить данные «Custom Field»? Список всех сообщений, страниц и пользовательских типов сообщений в admin Массовые изображения культур: Пейзажные изображения -> Портретные изображения Получение следующей ошибки веб-сервисов после активации Плагина вознаграждений Регистрация мобильного пользователя WP Query-Связь между двумя настраиваемыми типами сообщений и их полями Как проверить, зарегистрирован ли пользователь (не текущий пользователь)? Разбиение страницы RSS2

Отображение настраиваемого поля в соответствии с датой

Я не уверен, является ли это вопросом, связанным с расширенными пользовательскими полями, или общим вопросом PHP, поэтому я также разместил его на форуме поддержки ACF для тех из вас, кто также ищет аналогичную помощь.

В настоящее время я работаю над сайтом локального каталога, специально сосредоточенным на ночной жизни. У меня есть тип персонализированного ночного клуба, с несколькими полями ACF, включая события в каждую ночь. Пока что события структурированы как понедельник – изображение плаката, название. Вторник – изображение плаката, название и т. Д.

То, что я хотел бы сделать, – это отображать только те события, которые сегодня происходят на первой странице, но мне трудно сузить запрос до тех, у кого есть записи, которые есть сегодня. Вот запрос, который я сделал до сих пор:

<div id="home-featuredevent"> <h2>On Tonight</h2> <?php $date = date('l' ); ?> <?php $args = array( 'post_type' => 'nightclub' , 'posts_per_page' => 10, 'key' => 'event_$date' , 'value' => '' , 'compare' => '!=' ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); ?> <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <a href="<?php the_field('event_$date' ); ?>"><?php the_field('event_$date_desc' ); ?></a> 

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

Любая помощь была бы замечательной,

Тристан

Я не уверен, почему вы сравниваете что-либо, когда обычно вы просто запрашиваете meta_key на определенный день, возможно, я неправильно понял вопрос.

Структура будет примерно такой:

  meta_key => day // or $variable meta_value => Monday //for example 

Затем вы просто запрашиваете сообщения за определенный день с соответствующим значением поля мета-поля.

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

 function wpse_78591_date( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $today = date("l"); $query->set('meta_key', 'day'); $query->set('meta_value', $today ); } } add_action( 'pre_get_posts', 'wpse_78591_date', 9999 ); 

или в вашем примере это будет:

 $args = array( 'post_type' => 'nightclub' , 'posts_per_page' => 10, 'key' => 'day' , 'value' => $today ); 

В моем примере у меня есть hardcoded 'key' => 'day' но вместо этого вы можете использовать переменную.