Увлекаюсь wordpress и php
Местоположение
Россия, Санкт-Петербург и область, Санкт-Петербург

Наибольший вклад в теги

Все теги (1)

Лучшие ответы пользователя

Все ответы (1)
  • Почему не срабатывает функция для ограничения кол-во символов в названии постов?

    @sokollll Автор вопроса
    web dev
    Решил этот вопрос по-другому, дело в том, что $link_post_tag действительно не меняется, даже после проверки длины символов, а меняется только $title, поэтому его и будем выводить, добавим еще html теги, так как изначально заголовок должен быть в виде ссылки на страницу поста.

    В функцию добавляем параметр $before и $after, которая будет хранить html теги и сразу объявляем их внутри
    function custom_the_title($limit,$before,$after) {
    
    
        $title = get_the_title(); // Получаем название записи 
    
        $before = '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">'; 
        $after = '</a></h2>';
       
    
        	if (strlen($title) > $limit) { // Проверка кол-ва символов в названии
           
    
     			$title =  substr($title, 0, $limit)  . '...' ; // Обрезаем название и добавляем многоточие
        
        	}
    
    	
    
       
    echo $before . $title . $after ; // Выводятится обрезаное
      
    }


    А уже в шаблоне, вызываем функцию так:
    if ( is_singular() ) : // проверяется, просматривается ли страница записи, если нет срабатывает else
    
    						the_title( '<h1 class="entry-title">', '</h1>' );
    					else :
    
    
    						//the_title( '<h2 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' );
    
    							custom_the_title(30,'',''); //ставим ограничение и 2 пустых параметра 
    					endif;


    В результате названия всех постов ограничивается. Единственный момент, если ставить ограничение в 30 символов, то показывается 15 символов, вероятно из-за кириллицы
    Ответ написан
    1 комментарий

Лучшие вопросы пользователя

Все вопросы (1)