mtpultz
Member
Posted 3 months ago #
I know you can have excerpts for pages now with WP 3.0 by addaction() of add_post_type_support( 'page', 'excerpt' ); but what I want to do is pull in a page excerpt but not on the page by doing something like
$page_id = 152;
$page_data = get_page( $page_id );
get_page_excerpt($page_data or $page_id);
so I can display the excerpt of the page in a widget.
Anyone know how to do this?
Thanks
mtpultz
Member
Posted 3 months ago #
I've got as far as this but it doesn't stop at the more link or cut off at the excerpt length? Can anyone help?
$page_id = 129;
$page_data = get_page( $page_id );
$content = apply_filters('the_content', $page_data->post_content);
$title = $page_data->post_title;
echo '<h2>'.$title.'</h2>';
echo $content;
mtpultz
Member
Posted 3 months ago #
Also tried
$content = apply_filters('the_excerpt', $page_data->post_content);
$content = apply_filters('get_the_excerpt', $page_data->post_content);
Both display the information but again don't show the excerpt on top of which get_the_excerpt seems to strip the tags out too all the <p> are gone so formatting is not working.
The codex says that the_content will stop at the <!--more--> tag http://codex.wordpress.org/Template_Tags/the_content so why isn't this working?
mtpultz
Member
Posted 3 months ago #
I noticed that but that implies I'm in the loop. This is a single page which I'm pulling in a pages content. I tried the below as well and it doesn't do anything. In order for that to work I'd have to be in the loop and be able to call the_content() directly like the example it seems.
global $more;
$more = 0;
$page_id = '152';
$page_data = get_page( $page_id );
$content = the_content($page_data->post_content); apply_filters('the_content', $page_data->post_content);
$title = $page_data->post_title;
echo '<h2>'.$title.'</h2>';
echo $content;
mtpultz
Member
Posted 3 months ago #
Got it, after saying it needs to be in the loop I just put it in the loop. Making sure $more = 0 is inside the loop.
<?php
// The Query
$the_query = new WP_Query( 'page_id=152' );
// The Loop
global $more;
while ( $the_query->have_posts() ) : $the_query->the_post();
$more = 0;
the_content("Read more...");
endwhile;
// Reset Post Data
wp_reset_postdata();
?>