30марта
2007

Как разместить ссылки только на морде?

Мои клиенты и просто люди, обращающиеся с вопросами по поводу работы с WordPress довольно часто интересуются одним и тем же вопросом...

Как заставить WordPress показывать блок ссылок только на главной странице (у сеошников это принято обзывать ссылками с морды)?

Устроим-ка сегодня сбычу мечт для всех счастливых обладателей сайтов, работающих на WordPress, которые жаждут распродать свои мордастые рекламные площадки или забить их ссылками на свои веб-ресурсы!

Итак...

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

Эту затею можно реализовать, задействовав стандартные функции WordPress и чуток своего воображения (куда ж без него). Отмечу, что воображение нам просто необходимо, иначе — беда, ссылки выводиться не будут, хоть тресни...

Ссылки без описания толку приносят мало в плане seo, поэтому они нам не интересны. Хотя, кому приспичит, тот сможет проследить между строк незатейливый путь, подсказывающий как обрезать бедным ссылкам их описание.

Решено: озадачиваемся выводом ссылок с кратким описанием на морде сайта. Для этого нам понадобится функция <?php get_links(); ?> и вкладочка Ссылки в панели администрирования WordPress. Не забываем ещё про воображение.

По дефолту функция <?php get_links(); ?> выводит довольно ужасные ссылки, однако... У этой функции есть ряд замечательных параметров, поигравшись с которыми внешний вид ссылок можно сделать просто великолепным!

Путём хитрых преобразований получаем следующий вариант:

  1. <?php get_links(1, '&bull;', '<br />', ' &mdash; ', show_description); ?>

Что у нас появилось в скобках:

  • циферка впереди — это ID-категории ссылок, содержимое которой будет показываться на главной странице;
  • далее между двумя апострофами можно ввести html-тег, который будет показываться, до каждой ссылки, у меня это точка;
  • затем опять же между двумя апострофами можно ввести html-тег, который будет показываться после каждой ссылки, у меня это перехд на новую строку;
  • между следующими двумя апострофами вставляется html-тег, который будет между ссылкой и её описанием, у меня это тире;
  • ну и, в конце концов, выводим описание для каждой ссылки.

Другие параметры данной функции для оформления и преобразования вида ссылок вы можете подглядеть вот здесь — английский знать необязательно, если только чуток. Хотя можно и чисто логически догадаться о назначении каждого атрибута.

Как настроить внешний вид ссылок выяснили. Теперь кульминация: заставляем их показываться только на главной странице сайта.

Во-первых, указаную выше функцию надо вставить в какой-нибудь шаблон (sidebar.php, footer.php или любой другой в зависимости от того, где вы хотите поиметь ссылки).

Во-вторых, сверху данной функции нужно вставить следующую строчку php-кода:

  1. <?php if ( (is_home()) && !(is_page()) && !(is_single()) && !(is_search()) && !(is_archive()) && !(is_author()) && !(is_category()) && !(is_paged()) ) { ?>

а снизу

  1. <?php } ?>

Осталось только сходить в админку, выбрать вкладку Ссылки и добавить нужные урлы сайтов и описания к ним. Кстати, решить судьбу ссылки — показывать её или нет — здесь тоже можно, причём не удаляя её совсем (актуально, когда заказчик задерживает оплату).

Вот какие чудеса может сотворить ваше воображение! ;) Предостерегу особо впечатлительных — миллион ссылок на морде сайта вешать не стоит, это извращенство. Больше, чем от 10 толку не будет, только вред.

Эта запись опубликована в Пятница, 30 марта 2007 г. в 00:07 в рубрике Стандартные опции. Вы можете получать обновления комментариев к этой записи с помощью RSS 2.0. Также можно оставлять комментарии или trackback с вашего сайта.

автор: AlexPro

Комментариев: 9 »

  1. :

    Скажите, а капчу ("введите этот код") вы каким плагином сделали?

  2. :

    Anti-spam Image. Советую глянуть вот сюда ;)

  3. :

    Отличный пост! доступно и понятно =)

  4. :

    Собственно, а почему не сделать обычный блог вручную из html, не вставить его в sidebar.php и не прописать перед началом кода обычное условие if page_home - показывать блок, тоже вариант.

  5. :

    Блин, что-то akismet шалит...

    to Alex: угу, вариант. Просто хотелось использовать стандартную возможность WordPress для управления ссылками.

    А так и ваш вариант прокатит. Вот только насчёт условия сомневаюсь, надёжнее использовать указанный мной вариант.

  6. :

    А какую строчку ввести, чтобы на всех кроме главной ссылки выводились?

  7. :

    Подскажите, пожалйста, на что заменить

    1.

    Чтобы выводить что-либо на всех страницах кроме главной?

  8. :

    Не прошла строчка кода почему-то...

  9. :
    if(!is_home()) { /* Этот код выполнится на всех страницах, кроме главной */ }

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



 

Разрешенные тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>