2017-02-17 28 views
0

я рассматриваю другой пост, но я не нашел ничего, что я на 3-х дней, так как:OrderBy ACF дата настраиваемое поле не работают

Я хочу, чтобы дисплей 3 «» EVENEMENTS в порядке ASC но +2018 всегда до 2017 года

$auj = date('Ymd'); 

$queryEvent = new WP_Query(
    array(
    'category_name' => 'evenements', 
    'posts_per_page' => 3, 
    'meta_key' => 'date_de_fin', 
    'orberby' => 'meta_key', 
    'order' => 'ASC', 
    'meta_query' => array(
     array(
      'key' => 'date_de_fin', 
      'value' => $auj, 
      'compare' => '>=', 
     ), 
    ) 
    ) 
); 

?> 

У кого-то есть идея?

+0

что формат даты 'date_de_fin', если он не находится в Y-м-д, а затем проверить этот ответ. http://stackoverflow.com/a/41542520/5019802. –

+0

Формат Ymd, и я пробую ваш код, и порядок отображения тот же:/ –

+0

вы можете опубликовать обновленный код, а также некоторое примерное значение 'date_de_fin'. –

ответ

0

постановляю по проблеме с запросом SQL:

$queryEvent = $wpdb->get_results('SELECT * FROM cci_posts INNER JOIN cci_postmeta ON cci_posts.id = cci_postmeta.post_id INNER JOIN cci_term_relationships ON cci_posts.id = cci_term_relationships.object_id WHERE cci_term_relationships.term_taxonomy_id = 4 AND cci_postmeta.meta_key = "date_de_fin" AND cci_postmeta.meta_value > 20170221 AND cci_posts.post_status = "publish" ORDER BY cci_postmeta.meta_value ASC LIMIT 3', OBJECT); 
         //$queryEvent = new WP_Query($args); 
         ?> 
         <?php if ($queryEvent) : ?> 

         <?php /* Start the Loop */ ?> 
         <?php foreach ($queryEvent as $post) { 
          setup_postdata($post); ?> 
0

Я обновил ваш код. Пожалуйста, попробуйте обновленный запрос.

<?php $auj = date('Ymd'); 

$queryEvent = new WP_Query(
    array(
     'category_name' => 'evenements', 
     'posts_per_page' => 3, 
     'meta_key' => 'date_de_fin', 
     'orberby' => 'meta_value_num', 
     'order' => 'ASC', 
     'meta_query' => array(
      array(
       'key'  => 'date_de_fin', 
       'value' => $auj, 
       'compare' => '>=', 
       'type' => 'DATE' 
      ), 
     ) 
    )); 
?> 

У меня заменить параметр 'OrderBy' значение & добавил 'типа' в meta_query.

Надеюсь, это может быть полезно для вас.

+0

ваш код в сети, 0 изменений, но спасибо за вашу попытку –

+0

Установили ли вы какой-либо плагин для заказа сообщений? –

+0

И, пожалуйста, также сообщите, что является форматом возврата или сохранения в настраиваемом поле «date_de_fin». –

0

Как ваш формат даты не в Y-m-d так что вы должны определить свою собственную логику для короткого замыкания

function wh_posts_orderby($orderby, $query) { 
    //Only for custom orderby key 
    if ($query->get('orderby') != 'yyyymmdd_date_format') 
     return $orderby; 
    if (!($order = $query->get('order'))) 
     $order = 'ASC'; 
    global $wpdb; 
    $fieldName = $wpdb->postmeta . '.meta_value'; 
    return "STR_TO_DATE(" . $fieldName . ", '%Y%m%d') " . $order; 
} 

add_filter('posts_orderby', 'wh_posts_orderby', 10, 2); 

Добавьте ^^ выше код Вашей активной темы functions.php файла.


Теперь вы можете сортировать почту по дате (формат YYYYMMDD)

$auj = date('Ymd'); 
$args = [ 
    'category_name' => 'evenements', 
    'posts_per_page' => 3, 
    'meta_key' => 'date_de_fin', 
    'orberby' => 'yyyymmdd_date_format', //check this line 
    'order' => 'ASC', 
    'meta_query' => [ 
     'relation' => 'AND', //added this 
     [ 
      'key' => 'date_de_fin', 
      'value' => $auj, 
      'compare' => '>=', 
      'type' => 'DATE' 
     ], 
    ] 
]; 
$queryEvent = new WP_Query($args); 
if ($queryEvent->have_posts()) : 
    /* Start the Loop */ 
    while ($queryEvent->have_posts()) : $queryEvent->the_post(); 

    //you post 

    endwhile; 
endif; 

Связанного ответ How do I query posts and use the 'orderby' attribute to order posts in loop according to date 'meta_value'?

Надеется, что это помогает!

+0

Я увидел эту тему и попытался, я повторю сегодня код в сети: http://lpb.cerealog.net/cote-image/cci-site-alternance/ ничего не изменилось:/Я действительно не знаю :( –

 Смежные вопросы

  • Нет связанных вопросов^_^