@DMax921

Как везде обрезать заголовок по кол-ву слов кроме Поста?

Здравствуйте, подскажите пожалуйста, как можно обрезать заголовок статьи по количеству слов по всему сайту, но не обрезать заголовок в самой статье?
Я нашел функцию
add_filter('the_title', 'trim_words');
 
function trim_words($post_title) {
  $count = 16; // Максимально допустимое число слов.
  $after = ' ...'; // Что ставить в конец, когда произведена принудительная обрезка. 
  $words = split(' ', $post_title);
  if (count($words) > $count) :
    array_splice($words, $count);
    $post_title = implode(' ', $words);
  else :
    $after = '';
  endif;
  return $post_title. $after;
}

Но эта функция обрезает заголовки по всему сайту, и когда просматриваешь статью, ее заголовок обрезан.
Может можно как-то добавить исключения?
Заранее спасибо!
  • Вопрос задан
  • 226 просмотров
Решения вопроса 1
Punkie
@Punkie
add_filter('the_title', 'trim_words');
 
function trim_words($post_title) {
  if(is_single()) { return $post_title; } // вся магия
  $count = 16; // Максимально допустимое число слов.
  $after = ' ...'; // Что ставить в конец, когда произведена принудительная обрезка. 
  $words = split(' ', $post_title);
  if (count($words) > $count) :
    array_splice($words, $count);
    $post_title = implode(' ', $words);
  else :
    $after = '';
  endif;
  return $post_title. $after;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы