[Помогите] Длинна текста в Свежих записях

Тема в разделе "Wordpress", создана пользователем partizannn, 16 окт 2008.

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

    partizannn

    Регистр.:
    15 сен 2008
    Сообщения:
    418
    Симпатии:
    52
    Собственно вопрос как можно обрезать черезмерно длинный текст в виджете последние записи? Чтобы например если текст больше заданной длинны то просто ставилось многоточие.
     
  2. Tushkan

    Tushkan

    Регистр.:
    9 апр 2007
    Сообщения:
    208
    Симпатии:
    61
    вот:
    PHP:
    <?php
    function toCut($str,$int){   //(str Строка, int Максимальная длинна, поменяешь на нужное колличество символов)
    }
    ?>
    копай в этом направлении
     
  3. partizannn

    partizannn

    Регистр.:
    15 сен 2008
    Сообщения:
    418
    Симпатии:
    52
    Спасибо, поробую, а многоточие как туда всунуть??
    Типа так?
    PHP:
    <?php
    function toCut($str,$int)...{   //(str Строка, int Максимальная длинна, поменяешь на нужное колличество символов)
    }
    ?>
     
     
  4. Tushkan

    Tushkan

    Регистр.:
    9 апр 2007
    Сообщения:
    208
    Симпатии:
    61
    В папке WP-includes
    Находишь два файла
    post-template
    widgets
    В первом добавляешь где нить между функциями
    PHP:
    function cut_title($before ''$after ''$echo true) {
        
    $title get_the_title();

        if ( 
    strlen($title) == )
            return;

        
    $title $before $title $after;

        if ( 
    $echo ) {
        
    $titlesubstr($title010); //Здесь меняй  последнее  значение (10)  на нужное, короче опытным путём подберёшь (2 выводит 1 символ, 4 - 2символа, 6-3... и т.д. )
                  
    echo "{$title}...";}
        else
            return 
    $title;
    }
    Во втором ищешь функцию wp_widget_recent_entries
    в строке
    PHP:
    <li><a href="<?php the_permalink() ?>"><?php if ( get_the_title() ) the_title(); else the_ID(); ?> </a></li>
    меняешь the_title() на cut_title ()

    Всё...
    На денвере протестил, пашет
     
    partizannn нравится это.
  5. partizannn

    partizannn

    Регистр.:
    15 сен 2008
    Сообщения:
    418
    Симпатии:
    52
    Сорри, но эт снова я. Значит глянул я у себя post-template переменной function cut_title и $title= substr совсем не обнаружено. Версия вордпреса 2.6.2
     
  6. Tushkan

    Tushkan

    Регистр.:
    9 апр 2007
    Сообщения:
    208
    Симпатии:
    61
    Объясняю на пальцах
    1. В правильном редакторе (notepad++) открываеш post-template.php
    В нём добавляешь новую функцию cut_title, т.е. функции изменять там ни какие не надо...
    PHP:
    function cut_title($before ''$after ''$echo true) { 
        
    $title get_the_title(); 

        if ( 
    strlen($title) == 
            return; 

        
    $title $before $title $after

        if ( 
    $echo ) { 
        
    $titlesubstr($title010); //Здесь меняй  последнее  значение (10)  на нужное, короче опытным путём подберёшь (2 выводит 1 символ, 4 - 2символа, 6-3... и т.д. ) 
                  
    echo "{$title}...";} 
        else 
            return 
    $title

    Просто добавляешь куда нибудь в середину
    например после
    PHP:
    function the_ID() {
        global 
    $id;
        echo 
    $id;
    }
    после этого открываешь widgets.php
    ищешь строчку
    PHP:
    <li><a href="<?php the_permalink() ?>"><?php if ( get_the_title() ) the_title(); else the_ID(); ?> </a></li>
    она в функции wp_widget_recent_entries, должна быть...
    и в этой строке вместо the_title() вписываешь cut_title ()

    Пробуй... когда получится отпишись :)
     
    partizannn нравится это.
Статус темы:
Закрыта.