Поддержка Проблемы и решения Отсортировать публикации по дате события

  • Решено dadzen

    (@dadzen)


    Я поставил на сайт плагин CCR Event и решил слегка переделать вывод списка событий. Все вроде бы хорошо, да только не могу отсортировать публикации по дате события. Дата события задается в произвольном поле. Вот отрывок кода, который отвечает за вывод анонса предстоящих событий:

    //short code
    	public function CCR_event_shortcode() {
    		$ccr_event_query = new WP_Query('post_type=event');
    
    ?>
    
    <p style="text-align: center;">Если Вы хотите принять участие в наших тренингах или семинарах<strong> зарегистрируйтесь</strong> и <strong>внесите организационный взнос 1000р</strong> на <em><strong><span style="color: #ff0000;">странице заинтересовавшего Вас мероприятия</span></strong></em>! Организационный взнос <strong>1000р</strong> един на все наши мероприятия (кроме ЭКЗО-Экспедиций)!</p>
    		<img class="size-full wp-image-1702 alignnone" title="Расписание Равновесия" src="http://www.gpp-ru.com/wp-content/uploads/2012/04/Kartinka-dlya-Raspisaniya.png" alt="" width="728" height="200">
    <?php
    		if($ccr_event_query -> have_posts()) { while($ccr_event_query -> have_posts()) { $ccr_event_query -> the_post() ?>
    
    		<div id="ccr-events">
    			<div class="ccr-event-content">
    				<div class="ccr-event-date">
    					<!-- <span class="ccr-day"><?php echo date( 'd', strtotime( get_the_date() ) ); ?></span>
    					<span class="ccr-month-year"><?php echo date( 'F j', strtotime( get_the_date() ) ); ?></span> -->
    					<div class='ccr-dat'><?php echo get_post_meta( get_the_ID(), 'ccr_event_date', true ); ?></div>
    				</div>
    				<div class="ccr-content">
    					<h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
    					<?php echo content(80) ?>
    					<a href="<?php the_permalink(); ?>">Читать далее →</a>
    					<hr>
    
    				</div>
    			</div>
    		</div>
    		<?php } } 
    
    		wp_reset_postdata();

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

    [Тема переименована согласно правилам форума.]

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Замените эту строку:

    $ccr_event_query = new WP_Query('post_type=event');

    на этот фрагмент:

    $args = array(
    	'post_type' => 'event',
    	'orderby'   => 'meta_value',
    	'meta_key'  => 'ccr_event_date',
    	'order'     => 'DESC',
    );
    
    $ccr_event_query = new WP_Query( $args );

    Ай, спасибочки. Работает как часики. Только один нюанс. ‘order’ => ‘ASC’, вместо ‘order’ => ‘DESC’,. Но, это мелочи. Большое человеческое спасибо. Тему закрываю.

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Отсортировать публикации по дате события» закрыта для новых ответов.