
Jean Bosio
1,048 PointsWhy does the single.php require the loop?
I noticed the loop is in the single.php code:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
But I don't understand the logic of why it is here since, we only want to insert the content from one particular post?
Thanks.
2 Answers

Jean Bosio
1,048 PointsI found this, by googling. Is it correct?
http://wordpress.stackexchange.com/questions/198704/should-i-use-loop-in-the-single-php-file
Answer 1: Stricktly speaking, you don't need the loop in single post pages, you only need the call to the_post(). The reason for the_post() is that the_post() sets the $post global value to the single post post object.
AND
Answer 2: If you want to maintain 100% compatibility with all plugins, you need to use the loop on single.php. The reason is that there are loop_start and loop_end actions which get triggered on the first and last call to have_posts().

Jean Bosio
1,048 PointsThanks, Liam :-)
Liam Maclachlan
22,805 PointsLiam Maclachlan
22,805 PointsThat would seem to make sense. I know I don't use the loop on single pages, but I think I may start :) It would seem the second one is to do with hooks that the plugins may use.