1

再一次,我的成熟 php 技能让我被它的弦钉住了!

我正在尝试更改我的 Wordpress 博客页面上帖子摘要的摘录长度。到目前为止,我已经创建了一个子主题,将 content.php 文件代码替换为

<div class="entry-content">
            <?php the_excerpt( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyeleven' ) ); ?>
            <?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?>
        </div><!-- .entry-content -->

并添加了一个带有以下代码的函数文件

    <?php

function CHILDTHEME_excerpt_length($length) {
    return 600;
}
add_filter('excerpt_length', 'CHILDTHEME_excerpt_length'); ?>

而且你知道什么......它仍然与以前一样在博客页面上保持相同的摘要长度。我究竟做错了什么?

一如既往地非常感谢所有帮助

4

2 回答 2

1

You must set the filter priority right:

add_filter('excerpt_length', 'CHILDTHEME_excerpt_length', 999);

Without specifying the priority WordPress filter on this function will run last and override what you set here.

于 2012-11-05T14:28:38.147 回答
0

您可能有一个在您的过滤器之后运行并重置长度的过滤器。您可以设置更高的优先级,这可能是猜测,直到您获得足够高的优先级。另一种选择是在添加之前删除此钩子的所有现有过滤器:

function my_excerpt_length($length){
   return 400;
}
remove_all_filters( 'excerpt_length' );
add_filter( 'excerpt_length', 'my_excerpt_length', 999 );
于 2012-11-05T16:31:26.830 回答