将wordpress中的所有帖子/文章标题限制为65个字符而不删除最后一个单词

时间:2018-02-17 09:45:42

标签: php function truncate substr strlen

请注意:对于所有将此标记为重复的人

问题未使用该主题的代码解决。请不要将此标记为重复,但请尝试帮助我。我真的很欣赏它:)

让我解释一下我的问题。

我得到了一个包含10,000个帖子的WordPress,其中+ 6k的帖子超过了65个字符,影响了搜索引擎优化。

我使用此代码将标题限制为65个字符:

function tokenTruncate($title, $your_desired_width) {
$parts = preg_split('/([\s\n\r]+)/', $title, null, PREG_SPLIT_DELIM_CAPTURE);
$parts_count = count($parts);

$length = 0;
$last_part = 0;
for (; $last_part < $parts_count; ++$last_part) {
$length += strlen($parts[$last_part]);
if ($length > $your_desired_width) { break; }
}

return implode(array_slice($parts, 0, $last_part));

$your_desired_width = 65;

if (strlen($title) > $your_desired_width) {
$title = wordwrap($title, $your_desired_width);
$title = substr($title, 0, strpos($title, "\n")).'...';
return $title;
}

add_filter('the_title','tokenTruncate');

0 个答案:

没有答案