我正在尝试使用此wordpress页面模板来显示特定帖子的摘录。创建帖子后,我确定将链接插入到我想要的位置。我能够抓住标题,缩略图,固定链接等......但无论出于何种原因,我都无法获得摘录。我试过了:
the_excerpt();
get_the_excerpt();
the_content('',FALSE);
get_the_content('', FALSE, '');
get_the_content('', TRUE);
除此之外。当我尝试get_the_content('', TRUE)
时,它会从链接后的所有内容中提供内容,但我想要的是链接之前的内容。
有什么想法吗?
<?php
$query = 'cat=23&posts_per_page=1';
$queryObject = new WP_Query($query);
?>
<?php if($queryObject->have_posts()) : ?>
<div>
<?php while($queryObject->have_posts()) : $queryObject->the_post() ?>
<div>
<h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
<br>
<?php the_post_thumbnail() ?>
<?php #the_excerpt(); ?>
<div>
<a href="<?php the_permalink(); ?>">Read More</a>
</div>
</div>
<?php endwhile ?>
</div>
<?php endif; wp_reset_query();
&GT;
答案 0 :(得分:3)
尝试将此添加到您的functions.php并通过帖子ID调用摘录:
//get excerpt by id
function get_excerpt_by_id($post_id){
$the_post = get_post($post_id); //Gets post ID
$the_excerpt = ($the_post ? $the_post->post_content : null); //Gets post_content to be used as a basis for the excerpt
$excerpt_length = 35; //Sets excerpt length by word count
$the_excerpt = strip_tags(strip_shortcodes($the_excerpt)); //Strips tags and images
$words = explode(' ', $the_excerpt, $excerpt_length + 1);
if(count($words) > $excerpt_length) :
array_pop($words);
array_push($words, '…');
$the_excerpt = implode(' ', $words);
endif;
return $the_excerpt;
}
然后在你的模板中调用它:
get_excerpt_by_id($post->ID);
答案 1 :(得分:3)
这是一个非常巧妙的解决方案,可以帮到你!
<div class="post">
<h3 class="title"><?php echo $post->post_title ?></h3>
<?
// Making an excerpt of the blog post content
$excerpt = strip_tags($post->post_content);
if (strlen($excerpt) > 100) {
$excerpt = substr($excerpt, 0, 100);
$excerpt = substr($excerpt, 0, strrpos($excerpt, ' '));
$excerpt .= '...';
}
?>
<p class="excerpt"><?php echo $excerpt ?></p>
<a class="more-link" href="<?php echo get_post_permalink($post->ID); ?>">Read more</a>
</div>
答案 2 :(得分:1)
好的,这就是我想出来的。可能更好的解决方案,但它的工作原理!
function get_excerpt(){
$page_object = get_page( $post->ID );
$content = explode('<!--more-->', $page_object->post_content);
return $content[0];
}
然后这样称呼:
<?php echo get_excerpt(); ?>