1

I want to get the page content (so i can parse the tags/short-codes in it), but i don't want to output the result itself to the browser (i.e. echo=0).

I tried get_the_content(); but its the same deal.

2
  • get_the_content() does not echo output, it is returned. So what exactly is your problem with it?
    – Rarst
    Jul 14, 2011 at 16:32
  • It doesn't eval the shortcodes in the content.
    – Anonymous
    Jul 14, 2011 at 16:35

3 Answers 3

2

Where are you doing your code parsing? If you're doing it directly in the template file, inside the Loop, then you should be using get_the_content().

However, it might be more efficient to filter the_content(), via the the_content filter. e.g. in functions.php:

function mytheme_filter_the_content( $content ) {
    // add code here to filter the_content
    // which is contained in the $content variable,
    // then return $content
    return $content;
}
add_filter( 'the_content', 'mytheme_filter_the_content' );

EDIT

If, for whatever reason, you just want to parse the_content(), pull out the shorcodes, and execute them, use do_shortcode() (Codex ref). e.g.:

<?php
$page_content = get_the_content();
$page_shortcodes = array() // ...some array that includes whatever shortcodes you found

foreach ( $page_shortcodes as $page_shortcode ) {
    do_shortcode( $page_shortcode );
}
?>
2
  • Im using a template file, but i just want to get the page content and eval the short-codes in the page, without generating the HTML.
    – Anonymous
    Jul 14, 2011 at 16:32
  • See updated answer. Jul 14, 2011 at 16:39
1
<?php  
         query_posts( 'type=post&posts_per_page=1' );

           if ( have_posts() ) : while ( have_posts() ) : the_post();

           ?> 

             <?php the_content(); ?>

             <?php endwhile;
                               endif; 

              wp_reset_query();
              ?>
1
  • Can you explain the answer, please?
    – bravokeyl
    Nov 13, 2016 at 17:22
0

You can try this :

$page_data = get_page( $page_id ); 
$page_content = $page_data->post_content;
1
  • I can get it that's not the problem, the problem is evaluating the short-tags. This just get the plain text.
    – Anonymous
    Jul 14, 2011 at 16:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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