Прежде всего извините за мой вопрос нуб. Я использую WordPress в качестве своей CMS, и одним из компонентов моего сайта является Master sSider. Это плагин, чтобы скользить сообщения. Он принимает полные названия и вставляет слайдер. Я хочу сократить количество символов этого названия. Я пытался найти, если кто-то хотел что-то такое же, но ничего не нашел. Поэтому я попытался найти, какой код генерирует заголовок, и найти это.
$value = $post->post_title;
Как мне нужно изменить этот код, чтобы сократить мой заголовок? Спасибо, ребята, и извините за вопрос нуб.
Примерно так должно работать:
function truncateShort($text, $chars = 25) {
$text = $text." ";
$text = substr($text,0,$chars);
$text = substr($text,0,strrpos($text,' '));
$text = $text."...";
return $text;
}
Тогда используйте это:
$title = $post->post_title;
$value = truncateShort($title, 50};
Руководство по PHP гласит:
Если длина задана и является положительной, возвращаемая строка будет содержать в самый длина символов, начиная с начала (в зависимости от длины строки).
Таким образом, эта строка действительна для получения первых 25 символов (или меньше, если строка короче):
$value = substr($post->post_title, 0, 25)
Но я вижу, что вы хотите добавить «…» к заголовку, если он укорочен, поэтому используйте это, например:
$value = substr($post->post_title, 0, 25) . (strlen($post->post_title) > 25 ? "..." : "")
Может быть, выходит за рамки прямого вопроса: если вы измените шаблон WordPress, вы можете потерять изменения, если вы не создадите какой-либо дочерний шаблон (при обновлении шаблона).