如何限制wordpress中的摘录?

问题描述 投票:0回答:9

我在我的网站中使用 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 -->
php wordpress loops widget
9个回答
4
投票

尝试将其添加到您的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 );

2
投票

您可以使用它来创建自定义摘录

// 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 希望有帮助


1
投票

将此代码放入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'); ?>

1
投票

首先,不要在条件句和

()
之间使用空格。
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() ) . '">' . '&nbsp;&hellip;' . __( 'Read more &nbsp;&raquo;', 'pietergoosen' ) . '</a>');
}

并添加

<?php  echo pietergoosen_custom_excerpts($limit); ?>

您需要显示摘录的位置。只需将

$limit
替换为您要返回的字数即可。

返回 40 个字的示例

<?php  echo pietergoosen_custom_excerpts(40); ?>


1
投票

添加以下代码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


1
投票
<?php 
$excerpt = get_the_excerpt();
$excerpt = substr( $excerpt , 0, 100); 
echo $excerpt;
?>

您可以通过更改 100 将金额更改为您喜欢的金额。


0
投票

我刚刚找到了一种无需插件即可限制摘录字数的解决方案。将以下代码添加到您的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); ?>

我在这里找到了限制摘录字数的解决方案


0
投票

更换即可

<?php the_excerpt(); ?>

<?php echo wp_trim_words(get_the_content(), 20); ?>

其中 20 是您要显示的内容的字数。


-1
投票

您可以使用纯 css 并使用此类代码在 100px 文本末尾获得省略号:

max-width: 100px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
© www.soinside.com 2019 - 2024. All rights reserved.