我有这个头版显示三个文本,但它都以“...”结尾,除了这个特定的地方之外的所有其他地方都可以。这三个文本的帖子类型是服务,为什么我修改了以下代码。
// The excerpt based on words
/* Original disabled by Kenn Nielsen
function my_string_limit_words($string, $word_limit)
{
$words = explode(' ', $string, ($word_limit + 1));
if(count($words) > $word_limit)
array_pop($words);
return implode(' ', $words).'...';
}
*/
// Created if statement to remove dots from services on frontpage
if (post_type_exists('services') ) {
function my_string_limit_words($string, $word_limit) {
$words = explode(' ', $string, ($word_limit + 1));
if(count($words) > $word_limit)
array_pop($words);
return implode(' ', $words).'';
}
} else {
function my_string_limit_words($string, $word_limit) {
$words = explode(' ', $string, ($word_limit + 1));
if(count($words) > $word_limit)
array_pop($words);
return implode(' ', $words).'...';
}
}
不幸的是,这没有按预期工作。有什么我想念的吗? 我确信这可以用更短的代码完成,但我选择了快捷方式。
最佳, 肯恩
解决方法:
使用最简单的解决方案修复它,而无需更改theme-function.php以及更改摘录的方式,以便在给出wordcount时显示三个点。
在窗口小部件中,用于显示内容的代码是:
<div class="post_content">
<?php if ( $instance['excerpt'] ) : ?>
<?php if($limittext=="" || $limittext==0){ ?>
<?php if ( $instance['excerpt_as_link'] ) : ?>
<a href="<?php the_permalink() ?>">
<?php endif; ?>
<?php the_excerpt(); ?>
<?php if ( $instance['excerpt_as_link'] ) : ?>
</a>
<?php endif; ?>
<?php }else{ ?>
<?php if ( $instance['excerpt_as_link'] ) : ?>
<a href="<?php the_permalink() ?>">
<?php endif; ?>
<?php $excerpt = get_the_excerpt(); echo my_string_limit_words($excerpt,$limittext);?>
<?php if ( $instance['excerpt_as_link'] ) : ?>
</a>
<?php endif; ?>
<?php } ?>
<?php endif; ?>
</div>
没有这个功能就是回声,所以
<?php $excerpt = get_the_excerpt(); echo my_string_limit_words($excerpt,$limittext);?>
将是
<?php $excerpt = get_the_excerpt(); echo $excerpt;?>
这解决了问题/请求。
答案 0 :(得分:1)
假设您使用the_excerpt()来显示内容。
将以下函数添加到function.php文件中。
function change_excerpt( $more ) {
if(post_type_exists('services')){
return '';
}
return '...';
}
add_filter('excerpt_more', 'change_excerpt'); //Wordpress 2.8+
答案 1 :(得分:0)
为什么不使用自定义摘录。您只需要声明一次,但可以使用不同长度的多次。您只需使用the_excerpt();
更改模板文件中的echo pietergoosen_custom_excerpts($limit);
,其中$limit
是单词的数量,例如echo pietergoosen_custom_excerpts(45);
,以显示45个字。
这是实现该功能的功能
function pietergoosen_custom_excerpts($limit) {
return wp_trim_words(get_the_excerpt(), $limit, '<a href="'. esc_url( get_permalink() ) . '">' . ' …' . __( 'Read more »', 'pietergoosen' ) . '</a>');
}
如果你需要别的东西而不是
'<a href="'. esc_url( get_permalink() ) . '">' . ' …' . __( 'Read more »', 'pietergoosen' ) . '</a>'
你可以改变它。如果您在最后一个单词后无需显示任何内容,则只需执行以下操作即可
function pietergoosen_custom_excerpts($limit) {
return wp_trim_words(get_the_excerpt(), $limit, '');
}
答案 2 :(得分:0)
试试这个
在
中创建新功能<强>的functions.php 强>
function custom_excerpt() {
$text=preg_replace( "/\\[…\\]/",'place here whatever you want to replace',get_the_excerpt());
echo '<p>'.$text.'</p>';
}
使用页面上的新功能。
答案 3 :(得分:0)
只需将此代码段添加到function.php
文件中即可。
function quanda_new_excerpt_more( $more ) {
return '';
}
add_filter('excerpt_more', 'quanda_new_excerpt_more');
答案 4 :(得分:0)
打开你的主题 function.php 并添加这一行
add_filter('excerpt_more', '__return_false');