WordPress摘录在大多数语言字符中工作正常,但如果它在中文拼音语言中,则摘录不起作用。 由于汉字中的“无间距”,摘录计数无法过滤字符。 您可以使用以下中文修复:
代码1
function iesay_filter_chinese_excerpt( $output ) { global $post; //check if its chinese character input $chinese_output = preg_match_all("/\p{Han}+/u", $post->post_content, $matches); if($chinese_output) { $output = mb_substr( $output, 0, 50 ) . '...'; } return $output; } add_filter( 'get_the_excerpt', 'iesay_filter_chinese_excerpt' );
代码解释。第6行的50是中文字数设定,如果你是纯中文,50则代表50个字和标点符号。如果您的文章有英文摘要。你就需要在多使用下面的一个函数来定义英文默认的字数。
代码2
function ie_longer_excerpts( $length ) { // Don't change anything inside /wp-admin/ if ( is_admin() ) { return $length; } // Set excerpt length to 140 words return 100; } // "999" priority makes this run last of all the functions hooked to this filter, meaning it overrides them add_filter( 'excerpt_length', 'ie_longer_excerpts', 999 );
纯中文博客把代码1加入您的主题的functions.php中即可,如果你是中文和非中文混合的博客,请将上面代码1.2都加入到您的主题的functions.php中。注意。第一个代码的字数是第一个代码字数的两倍。如代码中的50和100的关系。
- 提示:这篇文章发布于 2018/10/14,作者 99839,总计 873 字.
- 原文: 教程:WordPress完美解决中文摘要不准确问题 | 爱壹主题