WordPress Упорядочить по дате на странице архива пользовательских типов записей

У меня есть пользовательский тип записи, который называется city guide, и я создал страницу архива со следующим кодом в WordPress. Сообщения отображаются, но не в порядке. Мне нужно с указанием даты и порядка. Когда я изменился $ арг Сортировать по а также порядок из приведенного ниже кода, но он отображал то же самое.

<?php

$args = array( 'hide_empty' => false, 'orderby' => 'id', 'order' => 'ASC' );
$taxonomy = 'city-guide-category';
$tax_terms = get_terms( $taxonomy, $args );
foreach($tax_terms as $tt):
$cat_arr[] = $tt->term_id;
endforeach;

?>
<?php

global $wp_query, $paged;

if( get_query_var('paged') ){
$paged = get_query_var('paged' );
} else if ( get_query_var('page') ){
$paged = get_query_var('page' );
} else{
$paged = 1;
}
?>
<?php $i=1; while( $wp_query->have_posts() ): $wp_query->the_post(); ?>

<?php get_template_part( 'templates/content-city-guide', get_post_format() ); ?>

<?php if( $i%2 == 0 && $i != $wp_query->post_count): ?>
<div class="clearfix visible-xs hidden-sm hidden-md hidden-lg"></div>
<?php endif; ?>

<?php if( $i%3 == 0 && $i != $wp_query->post_count): ?>
<div class="clearfix hidden-xs hidden-md hidden-lg"></div>
<?php endif; ?>

<?php if( $i%4 == 0 && $i != $wp_query->post_count): ?>
<div class="clearfix hidden-xs hidden-sm"></div>
<?php endif; ?>
<?php $i++; endwhile; ?>
</div>

Я тоже пробовал

<?php
$wp_query->set('orderby','date');
$wp_query->set('order','desc');
?>

до и после

<?php $i=1; while( $wp_query->have_posts() ): $wp_query->the_post(); ?>

что тоже не сработало. Где я не прав. Помогите пожалуйста.

Я пробовал это

 <?php

global $wp_query, $paged;

if( get_query_var('paged') ){
$paged = get_query_var('paged' );
} else if ( get_query_var('page') ){
$paged = get_query_var('page' );
} else{
$paged = 1;
}

//ddbug( $wp_query->request );

$args = array(
'orderby' => 'date',
'order'   => 'DESC',
);
$query = new WP_Query( $args );  ?>
<?php $i=1; while( $query->have_posts() ): $query->the_post(); ?>

<?php get_template_part( 'templates/content-city-guide', get_post_format() ); ?>

<?php if( $i%2 == 0 && $i != $query->post_count): ?>
<div class="clearfix visible-xs hidden-sm hidden-md hidden-lg">        </div>
<?php endif; ?>

<?php if( $i%3 == 0 && $i != $query->post_count): ?>
<div class="clearfix hidden-xs hidden-md hidden-lg"></div>
<?php endif; ?>

<?php if( $i%4 == 0 && $i != $query->post_count): ?>
<div class="clearfix hidden-xs hidden-sm"></div>
<?php endif; ?>

<?php $i++; endwhile; ?>
</div>

<?php if( $query->max_num_pages > 1) : ?>
<div class="more-posts-link-wrapper">
<?php next_posts_link(__('<span class="more-posts-text">More <i class="bits-arrow-down"></i></span><img src="' . get_stylesheet_directory_uri() . '/assets/img/ajax-loader.gif" alt="Loading..." class="ajax-loader" height="15px;" width="auto" style="display:none;">','roots') ); ?>
</div>
<?php endif; ?>
</div>
</div>

Теперь он отображается по дате, но когда я нажимаю ссылку «Больше ссылок» на следующей странице, чтобы увидеть второй набор сообщений, он отображает тот же набор сообщений. Значит, они повторяются, даже если я перехожу на 12-ю страницу нумерации страниц.
пожалуйста помоги.

0

Решение

увидеть https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters для дополнительной информации. Немного отличающийся от того, что вы уже пробовали, попробуйте создать новый объект WP Query.

РЕДАКТИРОВАТЬ, чтобы включить параметры разбиения на страницы в аргументах, попробуйте что-то вроде

$paged = ( get_query_var('page') ) ? get_query_var('page') : 1;
args = array(
'orderby' => 'date',
'order'   => 'DESC',
'post_type' => 'post',
'posts_per_page' => 5,
'paged' => $paged
);

$query = new WP_Query( $args );

while ($query->have_posts()){
// do stuff
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector