Smashing Magazine
10 Useful WordPress Loop Hacks
The loop is a very important aspect of WordPress blogs. In fact, the loop is what allows you to get posts from your WordPress database and print them on the screen. A set of useful and user-friendly functions, the loop is incredibly powerful. With it, you can get a single post, a list of posts ordered by date, title or category, a list of posts written by a specific author and much more.
In this article, we’ll show you 10 useful things you can do with the WordPress loop to make your blog even more powerful than it is right now.
You may be interested in the following related posts:
- 100 Amazing Free WordPress Themes For 2009
- Custom Field Hacks For WordPress
- 10 Exceptional WordPress Hacks
- 15 Useful Twitter Hacks and Plugins For WordPress
- Mastering WordPress Shortcuts
1. Get Posts Published Between Two Dates
Image source: Shutterstock
The problem.
The loop and the query_posts()
WordPress function allow you to easily retrieve a list of posts published in a specific week or month. Unfortunately, getting posts published between, for example, March 17 and May 3 isn’t that easy. Let’s solve this problem.
The solution.
Simply paste the following code wherever in your theme you’d like to display the list of posts published between two dates. Don’t forget to replace the dates in the example with yours.
<?php function filter_where($where = '') { $where .= " AND post_date >= '2009-03-17' AND post_date <= '2009-05-03'"; return $where; } add_filter('posts_where', 'filter_where'); query_posts($query_string); while (have_posts()) : the_post(); the_content(); endwhile; ?>
Code explanation.
To achieve this hack, I first create a function named filter_where()
, which contains an SQL “WHERE
” condition. Then, before starting the loop, the filter_where()
function is hooked into WordPress’ post_where()
function.
As a result, the “WHERE
” clause contained in the filter_where()
function is added to the end of the SQL query contained in the post_where()
function, which means that the loop will return posts published only between the two dates specified in the filter_where()
function.
Source
2. Use More Than One Loop On A Page, Without Printing Duplicate Posts
The problem.
Most modern themes and all “magazine” themes display at least two loops on the blog’s home page; these can be used, for example, for a “featured posts” section. While using two loops is very easy to do, preventing duplicate posts from displaying is not… until, that is, you learn this easy method of preventing them.
The solution.
- Let’s start with the first loop. Nothing hard here: we’re just going to get the eight most recent posts using the
showposts
parameter. Open the index.php file, and paste the following code to output your “featured” posts:<?php query_posts('showposts=8'); $ids = array(); while (have_posts()) : the_post(); $ids[] = get_the_ID(); the_title(); the_content(); endwhile; ?>
- Once that’s done, it’s time to apply our second loop and get all posts, excepted the ones we have already outputted in the first loop:
<?php query_posts(array('post__not_in' => $ids)); while (have_posts()) : the_post(); the_title(); the_content(); endwhile; ?>
- Save your index.php file and admire the results!
Code explanation.
The first loop starts with the very useful query_posts()
function, which allows you to specify a wide range of parameters to be used by the loop. The showposts
parameter allows you to get the specified number of posts. Just before the loop starts, I create a PHP array named $ids
, which will receive all IDs of the posts returned by this loop.
Like the first one, the second loop uses the query_posts()
function with the post__not_in
parameter. This parameter allows you to specify a list of posts that you don’t want to be displayed, in the form of a PHP array. As you probably saw, I passed the $ids
array to this parameter so that any posts returned by the first loop would be returned again by the second loop.
3. Insert Ads After The First Post
The problem.
Advertising is a good way to monetize your blog. But to get advertisers, your ads must receive clicks by your visitors. Many bloggers display ads on the blog sidebar, footer or header, which isn’t always great with click-through rates. To obtain more clicks on your ads and make your advertisers happy, inserting them after the first post is a good idea. Let’s see how to do this in the WordPress loop.
The solution.
Simply use the following loop instead of your current loop. Don’t forget to insert your ad code on line 6:
<?php if (have_posts()) : ?> <?php $count = 0; ?> <?php while (have_posts()) : the_post(); ?> <?php $count++; ?> <?php if ($count == 2) : ?> //Paste your ad code here <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php the_excerpt(); ?> <?php else : ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php the_excerpt(); ?> <?php endif; ?> <?php endwhile; ?> <?php endif; ?>
Code explanation.
Since the early days of programming, integer variables have been a common operation to use as a counter. This is exactly what I’ve done here: just before the loop starts, a $count
variable is created. This variable increases by an increment of 1 with each result returned by the loop.
Then, you just have to add an if
structure (line 5) and see if $count
is equal to 2. If it is, it means that the first post has already been returned and we can display the ads.
Source
4. Get Posts With A Specific Custom Field And Specific Value
The problem.
Because of the popularity of WordPress’ custom fields, you will often want to be able to output a list of posts with a specific custom field and specific value. While so simple for advanced WordPress users, beginners continue to ask me about this on my blogs. So, here’s the correct and easy way to achieve this.
The solution.
Not hard at all. We only have to use the query_posts()
function with the meta_key
and meta_value
parameters:
<?php query_posts('meta_key=review_type&meta_value=movie'); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?>
Code explanation.
Definitely nothing hard here. To get only posts with a specific custom field and specific value, you have to use the query_posts()
function with the meta_key
and meta_value
parameters. The meta_key
value is the name of the desired custom field, and meta_value
is the desired value.
Source
- How to Only Show Posts With a Specific Custom Field
- Easily get posts with a specific custom field/value on your WordPress blog
5. List Upcoming Posts
The problem.
Thanks to the “schedule post” option, our favorite blogging platform allows us to write a post and schedule it to be published later. To make sure your readers come back to your blog or subscribe to your RSS feed, listing your upcoming posts is a good idea.
The solution.
<?php query_posts('showposts=10&post_status=future'); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <h2><?php the_title(); ?></h2> <span class="datetime"><?php the_time('j. F Y'); ?></span></p> <?php endwhile; else: ?><p>No future events scheduled.</p> <?php endif; ?>
Code explanation.
To achieve this, I used the query_posts()
function with an interesting parameter called post_status
. The post_status
parameter allows you to get posts according to their published status (“published,” “draft” or, like in this example, “future”). Because I also added the showposts=10
parameter, this code will not return more than 10 upcoming posts.
Source
6. Display Posts Published One Year Ago
The problem.
Many blogs have so much content and some very good older posts that should not be ignored. But most visitors end up seeing only the freshest content.
The solution.
If your blog is relatively old, why not showcase posts that were published over a year ago? Doing this is simple. Just insert the following code in your blog sidebar or single.php file.
<?php $current_day = date('j'); $last_year = date('Y')-1; query_posts('day='.$current_day.'&year='.$last_year); if (have_posts()): while (have_posts()) : the_post(); the_title(); the_excerpt(); endwhile; endif; ?>
Code explanation.
The first thing was to get today’s number, which we did on line 2, using the PHP date()
function. Then, we had to get last year’s number, which we easily did by taking date('Y')
(which returns the current year) and subtracting 1, giving us last year’s number.
Once that’s done, we only have to pass the $current_day
and $last_year
variables to the day
and year
parameters of the query_posts
WordPress function.
As an aside, if for some reason you want only today’s posts, just delete line 3 and replace line 4 with the following:
query_posts('day='.$current_day);
Source
7. Use The Loop To Create An “Archive” Page Template
The problem.
As noted in the previous hack, a common problem on blogs is that it is hard for readers to find content published a while ago.
To help my readers finding what they’re looking for, I created a WordPress page template that displays a list of all posts ever published on my blog. You can see a live demo of this hack on WpRecipes.
The solution.
If you don’t know what a page template is or how to use one on your blog, you should first read this quick post to get started.
<?php /* Template Name: Archives */ ?> <?php get_header(); ?> <h2><?php $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish'"); if (0 < $numposts) $numposts = number_format($numposts); ?> <h2><?php echo $numposts.' recipes published since October 06, 2008'; ?> </h2> <ul id="archive-list"> <?php $myposts = get_posts('numberposts=-1&'); foreach($myposts as $post) : ?> <li><?php the_time('m/d/y') ?>: <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?php endforeach; ?> </ul> <?php get_sidebar(); ?> <?php get_footer(); ?>
Code explanation.
The first thing to do is create a “page template.” A page template is created by adding the following lines to the top of the file:
<?php /* Template Name: Archives */ ?>
An interesting part of this code is the post counter (line 8). This is done by creating a PHP variable named $numposts
and using the $wpdb
object to get the result from the SQL query sent to WordPress database.
Once that’s done, we simply have to display the $numposts
variable, and the total number of posts on your blog will be printed on the screen.
Now, let’s have a closer look at the loop used in this code. As you probably saw, this code doesn’t use the classic loop but rather uses the get_posts()
function. get_posts()
is a simple tag for creating multiple loops. We first take all posts from the engine and for each of these posts we present the date, the link and the title of the post. Simple and effective.
Source
8. Create Your Own WordPress Loops Using The WP_Query Object
The problem.
The classic WordPress loop, which is used in most hacks in this post, is both useful and user-friendly. However, particularly when using a lot of custom loops (for example, in complex “magazine” layouts), you risk problems with resetting, offsetting, invalid conditional tags and other annoyances.
The solution.
The solution is to use the WP_Query
object and create your very own loop:
<?php $myPosts = new WP_Query(); $myPosts->query('showposts=5'); while ($myPosts->have_posts()) : $myPosts->the_post(); ?> the_title(); the_content(); endwhile; ?>
Code explanation.
The code above displays your five most recent posts. Here is what this code does in detail:
- On line 2, I created a new
WP_Query
object, named$myPosts
. - On line 3, I executed a query using the
showposts
parameter to get only the five most recent posts. - On line 5, our custom loop starts.
- On line 6 and 7, we simply print some basic post information (title and post content)
- On line 8, our custom loop ends.
If you want to display more or less than five posts, simply change the value of the showposts
parameter on line 3.
Source
9. Get Only The Latest Sticky Posts
The problem.
Introduced in WordPress 2.7, sticky posts are a very cool feature of our favorite blogging platform. A lot of WordPress users ask how to get only sticky posts in the loop.
The solution.
To display your five most recent sticky posts, just paste the following code anywhere in your theme files. If you want to display more or less sticky posts, just change the 5 to the desired value on line 4.
<?php $sticky = get_option('sticky_posts'); rsort( $sticky ); $sticky = array_slice( $sticky, 0, 5); query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) ); if (have_posts()) : while (have_posts()) : the_post(); the_title(); the_excerpt(); endwhile; endif; ?>
Code explanation.
The first thing was to get all sticky posts (line 2). Then, we re-ordered them, displaying the most recent ones at the top, using the PHP rsort()
function (line 3). On line 4, we got the five most recent sticky posts. As mentioned, you can change the amount of posts retrieved by changing 5 to any other value.
Once that’s done, we use the query_posts()
function to control the WordPress loop. Using the post__in
parameter, we can make sure that the retrieved posts are contained in an array of values. This array is indeed our $sticky
variable. Then, we just set up a basic loop and display the desired information from the post on the screen.
Sources
10. Create A Loop Of Images
The problem.
Nowadays, most blogs display post excerpts on the home page along with an image. How about being even more original and providing readers with a nice “gallery” page, listing however many of your recent posts, and displaying each post’s lead image? Of course, we can easily achieve this with custom fields; but believe it or not, custom fields aren’t necessary.
The solution.
To create our loop of images, we first need a PHP function that can grab the first image from each post and return its URL. To do this, paste the following function in your functions.php file. Don’t forget to define a default image on line 10.
function catch_that_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); $first_img = $matches [1] [0]; if(empty($first_img)){ //Defines a default image $first_img = "/images/default.jpg"; } return $first_img; }
Once you’ve saved the functions.php file, you are now ready to display your image loop.
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> <a href="<?php the_permalink();?>" title="<?php the_title(); ?>" class="img-loop"> <img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/images/wordpress-loop-hacks/<?php echo catch_that_image() ?>" alt="<?php the_title(); ?>" /> </a> endwhile; endif; ?>
Code explanation.
The first part of this code is the catch_that_image()
function that we inclued in our functions.php file. Basically, this function parses the post’s content using the $post
and $posts
global variables as well as a PHP regular expression. If no image is found (i.e. the post doesn’t have one), the default image URL is returned. Otherwise, the function returns the URL of the first image in the post.
The second part of the code is the loop itself, and there’s absolutely nothing hard about it. In fact, it is just a basic loop with no text content is displayed. Instead, the first image from the post is displayed, using the catch_that_image()
function.
Sources
Related posts
You may be interested in the following related posts:
- 100 Amazing Free WordPress Themes For 2009
- Custom Field Hacks For WordPress
- 10 Exceptional WordPress Hacks
- 15 Useful Twitter Hacks and Plugins For WordPress
- Mastering WordPress Shortcuts
(al)
TweetThis guest post was written by Jean-Baptiste Jung, a 28-year-old blogger from Belgium, who blogs about Web Development on Cats Who Code, about WordPress at WpRecipes and about blogging on Cats Who Blog . You can stay in touch with Jean by following him on Twitter.
Leave a Comment
Make sure you enter the * required information where indicated. Please also rate the article as it will help us decide future content and posts. Comments are moderated – and rel="nofollow" is in use. Please no link dropping, no keywords or domains as names; do not spam, and do not advertise!
- Are your status reports helpful? Here's a guide on how to make them work for you and your clients - http://bit.ly/hFIxaf (via @happycog)
- If all browsers fully supported CSS2.1 and CSS3, what feature would you start using often and why? #smcss
- Behind the scenes: 37signals.com Redesign (Case-study) - http://bit.ly/dOk491
- CSS Box-Shadow:Inset - http://trentwalton.com/2010/11/22/css-box-shadowinset/
- @seangaffney Sean, Trent Walton has recommended you as a CSS/JS ninja. Would you like to write an article or two for SmashingMag? ;)
- Spritebox: a WYSIWIG tool to help designers quickly create CSS classes and IDs from a single sprite image - http://bit.ly/hrfSkD
- What are common database development mistakes made by application developers? - http://bit.ly/hWk7ue #useful
- Seamless Pattern Background Design Editor - http://bit.ly/hmqLiv
- The wait is over. The Smashing Book 2 is open for pre-orders now: http://bit.ly/efDFGP - Get yours now and save 20% off!
- @jfkorn The SM Book 2 will be indeed a bit larger.
Nice Article… tips and tricks always comes in handy!!
DKumar M.
@instantshift
Great post! Some really cool tips in here.
How about some tips for sidebar? Maybe a follow up post… :)
Cheers!
I’m gonna use the tip n.10 for sure on the next project!!! :D
I use a trick quite similar to the tip n.3 to insert ads every x posts here is the code :
if (have_posts()) :
$count = 0;
while (have_posts()) : the_post();
$count++;
if ($count%2== 0) :
//Paste your ad code here
endif;
endwhile;
endif;
this make your ads compare every 2 posts , change the value next to the % for have your ads every 3 , 4 , 5 and so on ..
nice article..thanks alot..
very cool hacks, thanks for those tips :D
Nice article. Although using new WP_Query is an easier method of having multiple queries running on a page. It’s used like this:
$newsarchive = new WP_Query(‘cat=1&showposts=20′);
if($newsarchive->have_posts()) : while($newsarchive->have_posts()) : $newsarchive->the_post();
Then you can use your various post tags such as the_content(); and the_title();, and finish it off with
endwhile; endif;
Thanks for useful post,.. I’m using some of proposed tips.
Great Tips. I am looking for one tip not mentioned. I am bringing in posts to wordpress via RSS. How can I include a generic image per post via a custom field?
Can’t get enough of this kind of posts guys!
I love wordpress and often need to hack it ;-)
Thank you very much!
Thanks for this one. I have been doing web development for a long time but I am just now emmersing myself in WordPress. This gave me some great info I will definitely be using. By the way, I like how you don’t allow blatant ads through your comments. Good work. The web needs more like you.
great post, you should also make mention to the
rewind_posts();
for using multiple loops on a page. fixed many headaches for meCheers!
Thanks great post. The loop is most powerful!
wordpress stuff… YUMMY !!
Waho… very very usefull. Thanks a lot !
Great Post!
Would be great if you could show a way to display the posts in order of the most recent comment, similar to how a forum works.
What happened to your CSS? Your h2 Headlines are as small as the text since some days?
So it is not quite lucid :-(
awesome great thanks
i am working on new WordPress codes website http://wpcodes.com :)
Great article. The WordPress loop is super sexy. :D
great post, thanks
Jean – It is amazing and endless – the number of plug-ins, themes, and widget that exist and continue to be added, which makes Word Press a remarkable platform for bloggers. Your post opened my eyes up to a whole new realm of posibilities.
Thank you!
James
Thanks..useful stuff like always :)
Great ideas (and their implemetations)!
I like customize WordPress also, and I create a more useful archive and 404 pages on my blog.
I believe I will write a post about my tecniques…
I wanted to see if you had HTML to add a contact form in the sidebar or in the regular text of the page. Thanks
#3 is a nice little trick
Very useful tutorial.
On tip 3 you have code repetition that isn’t really required you could just add an if on the add and place it under the text body
I love these kinds of posts. Thank you very much :-)
This is excellent! Even as a veteran PHP developer, some of these caught me off-guard with their simplicity.
Jean-Baptiste– in a word, thanks.
Echoes to most of the ones above as well. Very well-written and worded post.
Proving again the means by which Smashing keeps addicts, and adds more daily.
Thanks everyone for the comments! I’m glad (most of) you found this article usefull!
Is there an easy way to post multiple loops that each display posts from different categories?
Out of a programmer’s view, the way WordPress is designed is just a insane. I actually like the product in many ways but the programmer who build it to begin with must have been high on crack.
Wordpress is simple and powerful. What a strange combination…
Hey, thanks for dropping ads into your RSS feed. Now that subscribing is no longer a way of avoiding getting slammed with advertising on this site I’ll just stop subscribing.
Cheers.
Sweet hacks. Well written article and very helpful. Thanks for sharing this info!
Nice content! Congratulations for sharing this!
Great tips. Going to have to implement some of these in my upcoming theme for my personal website.
Thanks!
Great post! Thanks for the tips, I’ll definitely use the “Use More Than One Loop On A Page, Without Printing Duplicate Posts” on my next project.
Great Post! Latest version of WordPress has been released. In addition to over 790 bugs fixes, there are improvements in themes, widgets, taxonomies, and overall speed. W3Avenue has compiled a list of resources for WordPress developers that will help them quickly upgrade their themes or plugins to accommodate latest features:
http://www.w3avenue.com/2009/06/12/wordpress-28-resources-for-developers/
Thanx, i use a lot of customized loops and tricks in my blog
Jean Baptiste! Way to go.. pretty cool features, and yes, I shall be including some of the tips for my next theme!!! Many Thanks….
Good stuff! Thanks for sharing
Jon
Great hacks! Can’t wait to put the Loop Archive page to use. Posts on new hacks for WordPress never get old :)
Excellent WordPress Tweaks.
Whenever i run across these type of Posts listing Tweaks, i am always amazed and humbled by genius programmers out there like Jean-Baptiste Jung! Thank you Jean-Baptiste for sharing with the rest of us!
Hi, very interesting post!
I have a question for you. Suppose one would like to hide all published posts (but the ones that should be shown in the current page) putting them within
<div style="display=none!important;">
(…)
</div>
The posts have to be ordered cronologically. How would you do it? I guess it needs three loops.
Cheers,
C
How about getting the number of posts the returned by the query?
Hi, this is a wonderful entry, I don’t know if I can ask question here but I think you could probably answer if fairly easily.
I’m currently making this wordpress theme
I wanted to give the client the ability to change out the promo image (at the top), the left container events posts, and the right container news posts. I have three different loops for each using category to distinguish them. Here is an example of my events post loop (used in the left container) :
Not Found
Sorry, but you are looking for something that isn’t here.
My problem is that I only want to show 4 posts in the events container, 1 post (the image) in the promo container, and 3 posts in the news container. I have tried various plug-ins and the don’t seem to work. Also I tried the here but it controls all posts, not just the events.
Can any one out there help me or point me in the right direction? Excuse my lack of programming lingo, I’m more of a designer dabbling in code.
Thanks so much.
well… it appears I can’t post my code in here.
Nice Post..
How to display the posts in coloum wise..by taking the posts id from outside file like..assume
post.txt contains post ids..
reading the file and displayig the posts where ever we want…
using the query_posts();
please
anil
Yuck,
Views in Drupal can do this kind of stuff and a boat load more without hacking the shit out of it. WordPress is a blog engine at best, toy CMS at worst.
Great Information … will give them a try.
LOVE the no duplicate posts in multiple loops solution!
I have been looking for this and although I have found many “solutions” this is the only one that would work in my Sidebars!
Thanks
Ed @ FoundByDesign
Great collection. Just using the “Creat a Loop of Images” code. But there’s a doubled “empty” in the code. Need to remove one. Looks like this:
if(empty($first_img)){ //Defines a default image
$first_img = "/images/default.jpg";
I have a short question. For a project at the company I work, I need a Script that shows up the search result count of a wordpress blog, outside of it. What I mean is in a separate website, that is used as a metasearch engine, I have to show the search result number from a wordpress blog. There’s different approaches that I have in mind. I could maybe use Tip Nr. 8 which means creating my own WordPress Loop using The WP_Query Object in a File at the root folder and then inlude this php file in the separate website? or as a second approach I could try and modify this script from the wordpress forum:
http://wordpress.org/support/topic/226572?replies=15
so that it pulls, not the the number of posts in the WP database but the search results count. Only I don’t know how to achieve it.
Of course the query:
// ...Formulate the query
$query = "
SELECT *
FROM `wp_posts`
WHERE `post_status` = 'publish'
AND `post_password` = ''
AND `post_type` = 'post'";
// ...Perform the query
$result = mysql_query( $query );
// ...Check results of the query and terminate the script if invalid results
if ( !$result ) {
$message = 'Invalid query.' . "n";
$message .= 'Whole query: ' . $query ." n";
die ( $message );
}
// Init a variable for the number of rows of results
$num_rows = mysql_num_rows( $result );
// Print the number of posts
echo "$num_rows Posts";
hast to be different, but I´m really not a php master. Thank you very much for your support!
Wow. It’s a lot simpler than that to count WordPress’ search results, here:
[code]
global $wp_query;
$count = sizeof( $wp_query->posts );
echo"";
//var_dump($wp_query);// The WP Query Object
var_dump($wp_query->posts); // The WP Query Object's 'posts' property (note the plural)
echo"";
[/code]
If you drop that snippet in your search template, it will output the properties of the ‘$wp_query’ variable, specifically the ‘posts’ property of the object. This is an array that stores a collection of the returned posts from the search query, which you can do a number of things with once you access it, including (*drumroll*), *count* the number of posts in that array using either PHP’s ‘count()’ or ‘sizeof()’ function.
and, one step quicker to get the post count returned, rather than using size of the posts array, you can just use:
$count = $my_query->post_count;
Thanks for this. It means I can stop pulling my hair out and solve my problem–its bugged me for 3 weeks
Hi, i’m using the second hacks and it’s all ok but all posts remain in the front page: the 11th post mot appear in the second page but in the firste. Why?
Exscuse me for my bad english.
Do you know how I should modify the Printing Duplicate Posts tip to have it show one category and not the one I’ve already shown?
…. some really cool WP hacks…. thanks for posting them !!
How can I order category archive posts by subcategories and then by meta value?
Like This:
Archive for category 1:
Sucat 1 (child of 1)
1.(metavalue) Post 1
2.(metavalue) Post 2
3.(metavalue) Post 3
Sucat 2 (child of 1)
1.(metavalue) Post 4
2.(metavalue) Post 5
2.(metavalue) Post 6
Hi,
Is it possible to use the ‘duplicate posts in loop’ method in two different template files? i.e. one in the main loop and then test against the $do_not_duplicate in the footer.php file?
I can’t seem to get it working…
To get number of posts , you can do something in wp-includes\query.php
Add the below lines after have_posts() . There are two functions .
around line 2601 , the first one is inside the class.
function get_post_count() {
return $this->post_count;
}
Around line 638. This is not in class .
function get_post_count() {
global $wp_query;
return $wp_query->get_post_count();
}
Really nice list of hacks, I thinks all this tips gotta help me to do my design idea project :D
Finally, I printed this tuts into a pdf file. Thanks a lot :)
“Use More Than One Loop On A Page, Without Printing Duplicate Posts” – this is exactly what I’m looking for! Thank you so much!
Thanks!
however, there are problems with the “Display Posts Published One Year Ago” hack:
1: the month isn’t specified, so you get all articles written last year on the x-th day of every month
2: if no article was written exactly on the same day as today one year before, the loop doesn’t return any article…
… and that’s precisely what I’m struggling about : I’d like to get the one and only article that was written just before today, one year ealier…
Any idea ?