我在我的网站中使用 Modern Tribe 的活动日历,我想修改该小部件。 我拥有我想要的一切,除了一个小细节……摘录。 这是我的代码部分在我的网站中的外观,它提取事件描述。 但我不想要该小部件的完整描述...我只需要 10 个左右的单词,后面跟着一个省略号 (...)。 有什么想法吗?
<div class="entry-content tribe-events-event-entry" itemprop="description">
<?php if (has_excerpt ()): ?>
<?php the_excerpt(); ?>
<?php else: ?>
<?php the_content(); ?>
<?php endif; ?>
</div> <!-- End tribe-events-event-entry -->
尝试将其添加到您的functions.php 文件中。有关 the_excerpt 的更多信息可以在这里找到:http://codex.wordpress.org/Function_Reference/the_excerpt
function custom_excerpt_length( $length ) {
return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
您可以使用它来创建自定义摘录
// get the post content
<?php $content = get_the_content(); ?>
<?php
// get the first 80 words from the content and added to the $abstract variable
preg_match('/^([^.!?\s]*[\.!?\s]+){0,80}/', strip_tags($content), $abstract);
// pregmatch will return an array and the first 80 chars will be in the first element
echo $abstract[0] . '...';
?>
我根据本教程改编了这个 http://www.kavoir.com/2009/02/php-generate-summary-abstract-from-a-text-or-html-string-limiting-by-words-or-sentences.html 希望有帮助
将此代码放入function.php
function word_count($string, $limit) {
$words = explode(' ', $string);
return implode(' ', array_slice($words, 0, $limit));
}
然后
<?php the_content() ?> or <?php the_excerpt() ?>
将代码替换为
这个:-
<?php echo word_count(get_the_excerpt(), '30'); ?>
首先,不要在条件句和
()
之间使用空格。 if (has_excerpt ()):
应该是 if (has_excerpt()):
您可以简单地使用
function pietergoosen_custom_excerpts($limit) {
return wp_trim_words(get_the_content(), $limit, '<a href="'. esc_url( get_permalink() ) . '">' . ' …' . __( 'Read more »', 'pietergoosen' ) . '</a>');
}
并添加
<?php echo pietergoosen_custom_excerpts($limit); ?>
您需要显示摘录的位置。只需将
$limit
替换为您要返回的字数即可。
返回 40 个字的示例
<?php echo pietergoosen_custom_excerpts(40); ?>
添加以下代码functions.php
function custom_excerpt_length( $length ) {
return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
有关 the_excerpt 的更多信息可以在这里找到:http://www.happiweb.net/2014/05/gioi-han-tu-trong-mo-ta-theexcerpt-cua.html
<?php
$excerpt = get_the_excerpt();
$excerpt = substr( $excerpt , 0, 100);
echo $excerpt;
?>
您可以通过更改 100 将金额更改为您喜欢的金额。
我刚刚找到了一种无需插件即可限制摘录字数的解决方案。将以下代码添加到您的functions.php 文件中。
<?php
// Custom Excerpt
function excerpt($limit) {
$excerpt = explode(' ', get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(" ",$excerpt).'...';
} else {
$excerpt = implode(" ",$excerpt);
}
$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
return $excerpt;
}
?>
现在,不要在循环中使用 the_content() 或 the_excerpt,而是使用 excerpt($limit) 或 content($limit)。 如果您想将摘录限制为 25 个单词,代码将如下所示:
<?php echo excerpt(25); ?>
我在这里找到了限制摘录字数的解决方案
更换即可
<?php the_excerpt(); ?>
与
<?php echo wp_trim_words(get_the_content(), 20); ?>
其中 20 是您要显示的内容的字数。
您可以使用纯 css 并使用此类代码在 100px 文本末尾获得省略号:
max-width: 100px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;