Украсить рейтинг ссылок

Опубликовано: 9 Ноябрь 2010Автор ratemir

Рейтинг ссылокСегодня мы осуществим, часто упускаемую из виду, особенность админ панели WordPress, назначения и отображения на страницах сайта рейтингов ссылок. Цель данного урока является создание системы рейтинга, основы которой будут заложены в панели управления. Рейтинг будет выводиться на экран в пятизвездочном формате. Но количество звёзд можно изменить или вообще сделать так, чтобы вместо них появлялся какой-нибудь другой значок.

Такая система поможет оказать больше внимания пользователей на Ваши любимые ссылки, и пусть читатели знают, на которые из них стоит потратить время. Да и для украшения самих ссылок это не помешает.

Пример конечного продукта, надеюсь, Вы уже видели(рисунок в самом начале статьи). Теперь, если Вы хотите, что бы что-то похожее появилось у Вас на сайте, перейдем к делу. Приятной стороной является то, что вставив код в файл шаблона, процессом можно управлять из админки. Во-первых, необходимо добавить саму ссылку, её описание и присвоить рейтинг. Для этого войдите в администраторскую часть и перейдите по ссылке «ссылки» -> «добавить новую». Перед Вами появятся поля, некоторые из которых необходимо заполнить. Вот пример:

Пример заполнения ссылочных полей

И конечно, необходимо присвоить рейтинг нашей ссылке. Это можно сделать спустившись в конец страницы и указав значение на Ваше усмотрение.

Поставить рейтинг ссылки

Таким образом, ссылок можно добавить неограниченное количество. В нашем случае, мы заполнили четыре различных поля(имя, адрес, описание и рейтинг). Для наглядного представления, что чему будет соответствовать при выводе на страницах Вашего ресурса, ниже приводится рисунок:

Соответствие ссылочных полей

Далее переходим к основному коду, который выложен ниже:

<div class="rating">		
<?php   
  $bookmarks = array();  
    $bookmarks = get_bookmarks(array(  
        orderby => 'rating',  
        order => 'DESC'  
    ));     
    if ($bookmarks[0] != '') { ?>  
       <ul class="linklist">  
           <h3>Рекомендуемые ссылки</h3>  
           <?php foreach ( $bookmarks as $bookmark ) { ?>  
                <li>  
                    <h4><a title="<?php echo $bookmark->link_name; ?>" href="<?php echo
					clean_url($bookmark->link_url); ?>" target="_blank"><?php echo $bookmark->link_name; 
					?></a></h4>  
                    <p><?php echo $bookmark->link_description ?></p>
                    <div class="link-rating">  
                    <?php  
                    $link_rating = $bookmark->link_rating;  
                    if ($link_rating >= 5){  
                      //If rating is five or greater, just assign a perfect score  
                      for ($i = 1; $i < 6; $i++){ ?>  
                      <img src="<?php bloginfo('template_directory'); ?>/images/star_48.png"/>  
                      <?php }  
                    }else{  
                      //If rating is under 5, display same number of stars.  
                      for ($i = 1; $i <= $link_rating; $i++){ ?>  
                      <img src="<?php bloginfo('template_directory'); ?>/images/star_48.png"/>  
                      <?php }  
                    } ?>  
                    </div>
                </li>  
          <? } ?>  
       </ul>  
   <?php } ?>
</div>

Данный код можно положить в любом файле шаблона. Как правило используется sidebar.php, то есть для показа в боковой части сайта.

В функции get_bookmarks () мы задаём аргументы для отсортировки значений рейтинга в порядке убывания. По другому, «лучшие» ссылки будут отображаться в верхней части списка. Если вам потребуется дополнительная информация об этой функции и других доступных элементах организации ссылок, Кодекс WordPress Вам поможет.

В контейнере <div> мы расположим рейтинговые звёзды. Наша система является пятизвездочной, но при желании она потдаётся расширению. Например, чтобы увеличить количество выводимых звезд до 6, просто поменяйте в коде 5 на 6 в ($link_rating >= 5), и 6 на 7 в ($i = 1; $i < 6; $i++) Но мне кажется и пяти достаточно.

Значок можно скачать бесплатно здесь. Он под названием star_48.png, его нужно будет поместить в папку с изображениями в теме Вашего сайта. Обычно это images.

Как пример могу предложить стили, которые Вы по мере необходимости смените.

/*Link Rating*/
.rating ul{padding:0;margin:0}
.linklist{clear:both; font-family:arial, sans-serif;}
.linklist li{clear:both; overflow:hidden; display:block; margin-bottom:5px; padding:10px; background:#F3F3F3; font-size:12px; border:1px solid #DDD;}
.linklist h3{margin-bottom:10px;}
.linklist h4{padding:0;margin:0}
.linklist h4 a{clear:both; font-weight:bold; color:#1c1259; text-decoration:none; color:#191919;}
.linklist h4 a:hover{text-decoration:none; color:red;}
.rating ul.linklist li p{padding:0 0 5px 0; margin:5px 0px; color:#333;}
.link-rating{clear:both; margin:0;}
.link-rating img{width:20px; height:20px; margin:0; padding:0;}

Теперь Вы обладаете гораздо более наглядным способом отображения рейтинга ссылок. Если есть интересные идеи для дальнейшего применения этой функции или я что-то пропустил? Обязательно сообщите мне об этом в комментариях ниже!



Опубликовать в twitter.comПоделиться ВКонтактеПоделиться в FacebookПоделиться В Моем МиреОпубликовать в своем блоге livejournal.com
Если Вам понравилась статья, Вы можете получать новые материалы Ratemir.ru по: RSS или можете просто получать обновления блога на e-mail:

Один комментарий к “Украсить рейтинг ссылок”

  • containdependent
    21 Декабрь, 2010, 12:40

    Любопытная статья, да и сам сайт я смотрю очень даже не плох. Попал сюда по поиску из Google, занес в букмарки :)

Оставить комментарий

Наверх