X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Сократить текст выводимый в сайд баре
zik
zik
Topic Starter сообщение 23.9.2012, 21:22; Ответить: zik
Сообщение #1


Бывалый
****

Группа: User
Сообщений: 450
Регистрация: 15.12.2007
Из: Belarus
Поблагодарили: 87 раз
Репутация:   26  


Есть плагин..в его коде нарыл код виджета
Проблема в том, что он выводит популярные посты как положено, но заголовок их слишком длинный и
переносится на вторую строчку, а это не очень красиво.
Хотелось бы сделать, что бы текст был максимум например 40символов, остальное обрезалось бы...
в PHP вообще нулевой, поэтому прошу у вас помощи.

#### WIDGET ####

function add_widget_most_liked_posts() {
    function widget_most_liked_posts($args) {
        extract($args);
        $options = get_option("most_liked_posts");
        if (!is_array( $options )) {
            $options = array(
            'title' => 'Most liked posts',
            'number' => '5'
            );
        }
        $title = $options['title'];
        $numberOf = $options['number'];
        
        global $wpdb;
    
        $output = '';
        $request = "SELECT ID, post_title FROM $wpdb->posts, $wpdb->postmeta";
        $request .= " WHERE $wpdb->posts.ID=$wpdb->postmeta.post_id";
        $request .= " AND post_status='publish' AND post_type='post' AND meta_key='_liked'";
        $request .= " GROUP BY $wpdb->postmeta.post_id ORDER BY meta_value DESC LIMIT $numberOf";
        $posts = $wpdb->get_results($request);
    
        if ($posts) {
            echo $before_widget;
            echo $before_title . $title . $after_title;
            echo '<ul>';

            foreach ($posts as $post) {
                $post_title = stripslashes($post->post_title);
                $permalink = get_permalink($post->ID);
                
                echo '<li><a href="' . $permalink . '" title="' . $post_title.'" rel="nofollow">' . $post_title . '</a></li>';
            }

            echo '</ul>';
            echo $after_widget;
        }
    }    
    register_sidebar_widget('Most liked posts', 'widget_most_liked_posts');
    
    function options_widget_most_liked_posts() {
        $options = get_option("most_liked_posts");
        
        if (!is_array( $options )) {
            $options = array(
            'title' => 'Most liked posts',
            'number' => '5'
            );
        }
        
        if ($_POST['mlp-submit']) {
            $options['title'] = htmlspecialchars($_POST['mlp-title']);
            $options['number'] = htmlspecialchars($_POST['mlp-number']);
            if ( $options['number'] > 15) { $options['number'] = 15; }
            
            update_option("most_liked_posts", $options);
        }
        ?>
        <p><label for="mlp-title"><?php _e('Title:', 'i-like-this'); ?></label><br />
        <input class="widefat" type="text" id="mlp-title" name="mlp-title" value="<?php echo $options['title'];?>" /></p>
        
        <p><label for="mlp-number"><?php _e('Number of posts to show:', 'i-like-this'); ?></label><br />
        <input type="text" id="mlp-number" name="mlp-number" style="width: 25px;" value="<?php echo $options['number'];?>" /> <small>(max. 15)</small></p>
        
        <input type="hidden" id="mlp-submit" name="mlp-submit" value="1" />
        <?php
    }
    register_widget_control('Most liked posts', 'options_widget_most_liked_posts');
}

add_action('init', 'add_widget_most_liked_posts');

####


--------------------
вэп дисаен
C вами с 2007 года
ICQ 532011
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SpaceX
SpaceX
сообщение 24.9.2012, 0:01; Ответить: SpaceX
Сообщение #2


Участник
***

Группа: User
Сообщений: 205
Регистрация: 13.3.2011
Поблагодарили: 66 раз
Репутация:   18  


вместо $post_title нужно mb_substr($post_title, 0, 40)
но библиотека mb должна быть подключена... если нет надо будет поизвращаться немного...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Electric
Electric
сообщение 24.9.2012, 3:08; Ответить: Electric
Сообщение #3


CMS help/antivirus
******

Группа: Active User
Сообщений: 1532
Регистрация: 27.12.2009
Из: Єдина Україна
Поблагодарили: 389 раз
Репутация:   57  


Вместо:
echo '<li><a href="' . $permalink . '" title="' . $post_title.'" rel="nofollow">' . $post_title . '</a></li>';

Используйте:
echo '<li><a href="' . $permalink . '" title="' . $post_title.'" rel="nofollow">' . substr($post_title, 0, 40) . '</a></li>';


Подробнее тут: http://php.su/functions/?substr


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
disiyndel
disiyndel
сообщение 24.9.2012, 3:13; Ответить: disiyndel
Сообщение #4


Завсегдатай
*****

Группа: Active User
Сообщений: 762
Регистрация: 27.10.2009
Из: отборных зерен.
Поблагодарили: 219 раз
Репутация:   29  


Если дело в красоте: http://htmlbook.ru/css/text-overflow

Плюс при на ведении можно поставить всплывающим полный тайтл.


--------------------
http://heisenbrog.com - только цифры, факты и эксперименты.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Копирайтинг и рерайт: качественный сео-текст по доступной цене!
312 Sostavitel 91107 8.12.2017, 12:30
автор: Sostavitel
Открытая тема (нет новых ответов) Размножить текст
4 azos 368 2.12.2017, 23:37
автор: Emtec
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыМожет, хватит терять клиентов? Текст – продавец, который будет работать на вас 24 часа в сутки.
39 Писатель 18346 7.11.2017, 13:22
автор: Писатель
Открытая тема (нет новых ответов) Отличный текст от 40р за 1000 сим
Готова потрудиться на благо рунета!
16 LiteText 2893 30.8.2017, 19:41
автор: LiteText
Открытая тема (нет новых ответов) Нужен хороший копирайтер, текст на тематику WordPress
Ищу копирайтера хорошо знакомым с WordPress
1 Mowshon 747 26.4.2017, 21:18
автор: pishu-text


 



RSS Текстовая версия Сейчас: 16.12.2017, 11:26
Дизайн