It seems like stupid bug, but how can i order by title? It anyways orders by date! I'm using:
query_posts( array(
'post_type' => 'page',
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'ASC'
) );
I want to use this in function as SHORTCODE. What i'm trying to achieve is to create site map / index of all entries in alphabetic order. Also i'm using newest WP.
It seems like stupid bug, but how can i order by title? It anyways orders by date! I'm using:
query_posts( array(
'post_type' => 'page',
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'ASC'
) );
I want to use this in function as SHORTCODE. What i'm trying to achieve is to create site map / index of all entries in alphabetic order. Also i'm using newest WP.
Share Improve this question edited Jun 6, 2012 at 17:24 Tommixoft asked Jun 6, 2012 at 9:42 TommixoftTommixoft 7501 gold badge5 silver badges15 bronze badges 7 | Show 2 more comments2 Answers
Reset to default 10Thanks to Chip Bennett who told me that i'm doing wrong by using query_posts
inside content. So i used get_posts
and i got what i wanted, thanks!
Here is sample of how can you do it, if you got the same problem as me:
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;
}
Another post has this code inside a function, but for those looking to simply add alphabetized posts to a custom theme, for example, you can use the following...
<?php // Alphabetize posts from the *** category
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 code goes here to display each post */
the_title("<h2>", "</h2>");
the_content("<div class='content'>", "</div>");
?>
<?php
endforeach; // End of The Loop.
}
$post = $temp_post;
?>
var_dump()
orprint_r()
of the generated query? Also, a bit of context for this code would be helpful. Are you modifying the main loop query, or running a secondary loop? – Chip Bennett Commented Jun 6, 2012 at 15:26