Reputation: 27027
I would like to change the default behavior of Wordpress regarding the number of articles displayed on a same page to be the following :
?m=200906&order=ASC
, I'd like to display on the same page all articles of this month (in other words, I don't want to have to browse through articles using previous entries or next entries.EDIT : I forgot something else I'd like to change :
On the page where all articles of the specified month are displayed, I would like to display the comments for each article.
Is this possible to do ? How ?
Upvotes: 1
Views: 998
Reputation: 21979
in your archive.php, add this on top of your template:
$allowedOrder = array('ASC', 'DESC');
if(isset($_GET['m'])){
$order = isset($_GET['order']) ? (in_array($_GET['order'], $allowedOrder) ? $_GET['order'] : $allowedOrder[0]) : $allowedOrder[0];
$m = $_GET['m'];
$y = substr($m, 0, 4);
$m = substr($m, -2);
$query = "posts_per_page=-1&year=$y&monthnum=$m&order=$order";
query_posts($query);
}
Or, if you just have one big index.php template file, do this:
$allowedOrder = array('ASC', 'DESC');
if(is_month()){
$order = isset($_GET['order']) ? (in_array($_GET['order'], $allowedOrder) ? $_GET['order'] : $allowedOrder[0]) : $allowedOrder[0];
$m = $_GET['m'];
$y = substr($m, 0, 4);
$m = substr($m, -2);
$query = "posts_per_page=-1&year=$y&monthnum=$m&order=$order";
query_posts($query);
}
For more detail, look at codex page:
Upvotes: 4
Reputation: 1412
Check out WP_query
also there are some differences between query_posts
and WP_query
.
Both are used to create queries for custom loop. If you want better control over query use WP_query
.
Upvotes: 0
Reputation: 3074
You can probably do this using query_post if you look at the codex page it gives you details of how to do this:
http://codex.wordpress.org/Template_Tags/query_posts
Upvotes: 0