[Ищу] Обрезать длину Title

Тема в разделе "Wordpress", создана пользователем Danilka71, 26 янв 2011.

Статус темы:
Закрыта.
Модераторы: DzSoft, Sorcus
  1. Danilka71

    Danilka71 Постоялец

    Регистр.:
    17 мар 2009
    Сообщения:
    127
    Симпатии:
    7
    WordPress 3.0.4
    Ищу плагин или запрос в базе, который автоматически обрежет длину названия поста "Title" до определенного количества символов и после обрезки поставит ...
    Например: заголовок поста "Pittsburgh Steelers show force in time-consuming TD drive and on defense, up 7-0 — Tony’s take" а его надо брезать впловину "Pittsburgh Steelers show force in ..."
    И это надо сделать во всей базе одним махом :)
    Спасибо
     
  2. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    запрос обрезает до 10 символов и добавляет ...
    Код:
    UPDATE wp_posts SET post_title = IF(CHAR_LENGTH(post_title)>10, CONCAT(SUBSTRING(post_title FROM 1 FOR 10), '...'), post_title);
    
    может копию базы сделать вдруг понадобятся полные названия.

    Другой вариант обрезать на выводе сайта на странице все названия для выбранного шаблона, тогда надо добавить в каталоге шаблона в файл functions.php (если нет, то создать)
    PHP:
    function title_cut($title){
      if(
    mb_strlen($title)>10){
          return 
    mb_substr($title010).'...';
      }else{
          return 
    $title;
      }
    }
    add_filter('the_title''title_cut'1);
    Или вообще везде на сайте и в админке тогда такой плагин title_cut.php:
    PHP:
    <?php
    //Plugin Name: Обрезание названий

    function title_cut($title){
      if(
    mb_strlen($title)>10){
          return 
    mb_substr($title010).'...';
      }else{
          return 
    $title;
      }
    }
    add_filter('the_title''title_cut'1);

    ?>
    надо добавить файл title_cut.php в wp-content\plugins

    Различие между запросом и фильтром, что запрос безвозвратно обновляет названия в базе, а фильтр только фильтрует названия при выводе и в базе не изменяет.
     
    Danilka71 нравится это.
  3. Danilka71

    Danilka71 Постоялец

    Регистр.:
    17 мар 2009
    Сообщения:
    127
    Симпатии:
    7
    Обрезание с добавлением в functions.php намного удобнее, я почемуто не подумал о таком варианте.. :yahoo:
    Проверил, все работает, только количество символов я увеличил до 30. :ay:
    А вот такой вопросик, а гугль будет видеть уже обрезанные же заголовки? Я так думаю он в базу то доступ не получает :ah:
    Только вот проблемка с плагином all-in-one-seo-pack. Он показывает целые тайтлы. Получается вверху браузера в статусной строке показывается полный заголовок, а в посте уже укороченный:)
    Придется наверно обрезать и в базе ткаже..
     
  4. anz

    anz Level XXL

    Регистр.:
    17 окт 2006
    Сообщения:
    936
    Симпатии:
    304
    ну это ты загнул, поисковики видят тоже что и юзеры.
     
Статус темы:
Закрыта.