query_posts не сортирует по заголовку
6 июн. 2012 г., 12:42:45
Просмотры: 50K
Голосов: 4
Похоже на глупую ошибку, но как мне отсортировать по заголовку? Все равно сортирует по дате! Я использую:
query_posts( array(
'post_type' => 'page',
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'ASC'
) );
Я хочу использовать это в функции как SHORTCODE. То, чего я пытаюсь достичь - это создать карту сайта / индекс всех записей в алфавитном порядке. Также я использую новейшую версию WP.

Tommixoft
750
Комментарии
Показать остальные 2 комментариев
Все ответы на вопрос
2
1
Спасибо Chip Bennett, который указал мне на ошибку в использовании query_posts
внутри контента. Вместо этого я использовал get_posts
и получил желаемый результат, спасибо!
Вот пример решения, если у вас возникла аналогичная проблема:
function some_name(){
global $post;
$tmp_post = $post;
$args = array( 'post_type'=>'page', 'numberposts' => -1, 'orderby'=> 'title', 'order' => 'ASC' );
$myposts = get_posts( $args );
if ( !empty($myposts) ) {
foreach( $myposts as $post ) : setup_postdata($post);
the_title();
echo '<br>';
endforeach;
}
$post = $tmp_post;
}

Tommixoft
750
6 июн. 2012 г. 20:31:50
0
В другом посте есть этот код внутри функции, но для тех, кто хочет просто добавить посты в алфавитном порядке в пользовательскую тему, например, можно использовать следующий код...
<?php // Сортировка постов из категории *** по алфавиту
global $post;
$temp_post = $post;
$args = array( 'category' => *categoryID*, 'numberposts' => -1, 'orderby' => 'title', 'order' => 'ASC' );
$these_posts = get_posts( $args );
if( !empty($these_posts) ) {
foreach( $these_posts as $post ) : setup_postdata($post);
?>
<?php
/* Здесь должен быть HTML/PHP код для отображения каждого поста */
the_title("<h2>", "</h2>");
the_content("<div class='content'>", "</div>");
?>
<?php
endforeach; // Конец цикла.
}
$post = $temp_post;
?>

Bradley Smoak
1
19 мар. 2018 г. 21:37:44
Похожие вопросы
4
ответов
5
ответов