0

I am trying to get a custom field to show straight after the main body of text in single.php BUT before the Outbrain and Facebook Connect boxes. If I put the line to show the address above <?php the_content('Read the rest of this entry ยป'); ?> then it shows above the body text, if I place it below, it doesn't show at all.

Is there any way to insert it into 'the_content'?

Thanks!

2

Yes, there is 'the_content' filter. See the codex.

For instance:

add_filter( 'the_content', 'my_the_content_filter', 20 );

/**
 * Add a test to the end of every post page.
 */
function my_the_content_filter( $content ) {

    if ( is_singular('hotels') ){
        //If a single post is being viewed, add something
        //Or get the value of a custom field and append it
        $post_id = get_the_ID();
        $custom_field_value = get_post_meta($post_id, 'Address', true);
        $content .= $custom_field_value;
    }
    // Make sure you returns the content, edited or otherwise
    return $content;
}
  • Thanks for the reply. Can't get it to work. I must be doing something stupid :)... I am using a post type where single is single-hotels And want to add a custom field called 'Address' after the text... How would it fit in? Thanks – Ben Jan 13 '12 at 22:32
  • Replace is_single() with is_singular( 'hotels' ) – TheDeadMedic Jan 13 '12 at 22:34
  • Thanks - I did that but it didnt help – Ben Jan 13 '12 at 22:57
  • As TheDeadMedic points out, for custom post type 'customtype', you'll want to use is_singular('customtype'). See here – Stephen Harris Jan 13 '12 at 23:12
  • @Ben, I have made some changes to answer your question. The above should work, assuming the post is of custom type 'hotels'. – Stephen Harris Jan 13 '12 at 23:22

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.