4

I am currently hooking on the_content() but that goes through the Wordpress loop too. How can I only hook on the Single.php page?

Also, is there a way to only look on the first X posts in the Wordpress loop?

By the way, I am creating a plugin

  • You want to add extra stuff to the end of the_content, but you only want it to happen when on single.php? – Pippin Jun 28 '12 at 22:45
  • Yes. Also, I wanted to add something at the bottom of the content for the X most recent posts. – Doug Jun 28 '12 at 22:50
  • You should probably expand your question a little more, because right now it doesn't make much sense. If you want to modify single.php, open up single.php and modify it. By its nature, single.php will only have a single post in the loop. To get other posts, you'll need a secondary loop after your main loop. – SickHippie Jun 28 '12 at 22:52
  • I am creating a plugin. – Doug Jun 28 '12 at 22:55
15

This will handle appending the content to single posts:

function yourprefix_add_to_content( $content ) {    
    if( is_single() ) {
        $content .= 'Your new content here';
    }
    return $content;
}
add_filter( 'the_content', 'yourprefix_add_to_content' );
4

Just to add to Pippin's answer, in my case some content were also being shown in other parts of the single page, e.g. sidebar. Checking just is_single() also triggered the content modification in the other areas. Here's another check so that only the main content will have appended stuff:

function yourprefix_add_to_content( $content ) {

    if( is_single() && ! empty( $GLOBALS['post'] ) ) {

        if ( $GLOBALS['post']->ID == get_the_ID() ) {

            $content .= 'Your new content here';

        }

    }

    return $content;
}
add_filter('the_content', 'yourprefix_add_to_content');
  • This is the more accurate answer to this question. – Christine Cooper Sep 29 '17 at 10:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.