我正在使用Isotope在博客页面和类别页面底部安排博客帖子的网站上工作。我遇到的问题是这些帖子的摘录太长了。我希望它们只是一个段而不是4个或5个(see the problem at the bottom of this page)。另一位开发人员设置了这个,然后离开了项目,我无法确定这些摘录长度的设置位置。这就是代码在category.php
模板上的样子。
<div class="catfooter">
<div class="wrap">
<div class="clearfix">
<div class="h3 text-white"><?php single_cat_title('Read More About '); ?></div>
<img src="http://www.oakwoodsys.com/wp-content/uploads/light-blue-line.png">
<?php
echo '<ul id="isotope-container" class="masonry">';
$catID = get_query_var('cat');
$paged = ( get_query_var('page') ) ? get_query_var('page') : 1;
$posts_per_page = 4;
$args = array(
'post_type' => array('post', 'oakwood_quote', 'oakwood_whitepaper', 'oakwood_casestudies', 'oakwood_video'),
'posts_per_page' => $posts_per_page,
'paged' => $paged,
'cat' => $catID,
);
$insights_query = new WP_Query( $args );
if ( $insights_query->have_posts() ) {
while ( $insights_query->have_posts() ) {
$insights_query->the_post();
output_insight($post);
}
}
echo '</ul>';
$temp_query = $wp_query;
$wp_query = NULL;
$wp_query = $insights_query;
?>
</div>
<?php
$wp_query = $temp_query;
?>
</div>
</div>
</div>
</div>
我尝试将$insights_query->the_post();
更改为$insights_query->the_excerpt();
,但它打破了页面。如何在此处设置摘录长度?
答案 0 :(得分:1)
您可以更改功能中的摘录长度。
示例(您还可以按ID设置特定类别。
function new_excerpt_length($length) {
if(in_category()) {
return 300;
} else {
return 60;
}
}
add_filter('excerpt_length', 'new_excerpt_length');
此外,如果您在WordPress中有摘录,您可以使用它来提供对所包含文本数量的更多控制。
我也会给这个编辑一个go(包括这里的摘录):
( $insights_query->have_posts() ) {
$insights_query->the_post();
the_excerpt();
}
不完全确定{post}来自output_insight($post);
。 $insights_query->
显示传入的所有内容,以分号分隔。为了接受手册摘录,WordPress需要知道它应该去哪里(主题中的定义是必需的)。