Выводим несколько блоков Sape-ссылок на WordPress-сайте

По известным причинам рекомендуется разделять блок ссылок, размещенных на сайте через систему SAPE, на несколько частей. Также желательно не помещать их в самом конце кода страницы.

О том, как разумнее организовать вывод сапе-ссылок, написал очень полезную статью Ильшат SAID Саетов – Оформление ссылок в Сапе. За это ему большая благодарность. Лично мне информация очень пригодилась, надеюсь, и Вам она тоже будет полезна.

Я хотел бы дополнить SAID’а, описав его способ вывода ссылок применительно к популярному движку WordPress.

Основная заминка возникает в случае, когда необходимо разделенные блоки поместить в разных файлах шаблона WordPress-сайта, например, в index.php и sidebar.php.

Предположим, что нам нужно разделить ссылки от Sape на 2 блока. Тогда код для первой части будет следующим:

<?php
  define('_SAPE_USER', 'blablablablablablablablablabla');
  require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');

  $o['charset'] = 'UTF-8';
  $sape = new SAPE_client($o);
  unset($o);

  $sape_links = $sape->return_links(3); //указываем количество ссылок в первом блоке

  global $sape_echo;
  $sape_echo = $sape->return_links();

  if (strstr($sape_links, 'href')!==FALSE) //проверка наличия ссылок
  { echo '
  <ul id="sape1">
    <li>';
    echo $sape_links; //вывод ссылок (с разделителем)
    echo '
    </li>
  </ul>
  ';
  }
  else // если ссылок нет
  {
  echo $sape_links; //выводим только "список ссылок", то есть ничего
  }
?>

Код для второй части ссылок:

<?php
  global $sape_echo;
  if (strstr($sape_echo, 'href')!==FALSE) //проверка наличия ссылок
  { echo '
  <ul id="sape2">
    <li>';
    echo $sape_echo; //вывод ссылок (с разделителем)
    echo '
    </li>
  </ul>
  ';
  }
  else // если ссылок нет
  {
  echo $sape_echo; //выводим только "список ссылок", то есть ничего
  }
?>

Вы должны понимать, что порядок вставки указанных php-кодов в шаблон должен соответствовать порядку вывода информации на страницу. Т.е., например, нельзя 1-й код разместить в sidebar.php, а 2-й в index.php, если сначала выводится инфо из index.php, а потом из sidebar.php.

После вставки всего этого чуда в Ваш WordPress-шаблон, можно пошаманить с CSS, чтобы привести получившиеся списки ссылок к благородному виду.

Желаю успехов.

* * *

Лидирующая компания в сфере прозводства офисной техники предлагает приобрести копировальные аппараты KYOCERA на сайте km-line.ru. Имеется полный ассортимент техники “Kyocera Mita”. Возможна доставка как по Москве, так и в города России.

Комментарии (74)

  1. Dobrodoov
    6 августа 2008 г. в 14:44

    Что то не понимаю я, можно как-то скопировать этот чудо код без цифр, которые идут столбиком? (1. 2. 3. 4.) А то заколебался их удалять по одному.
    Заранее спасибо

  2. 6 августа 2008 г. в 17:52

    Dobrodoov, каким браузером пользуетесь? Вообще-то эти цифры не должны копироваться.

  3. PacMan
    7 августа 2008 г. в 19:58

    наконецто получилось сделать всё так, как хотелось
    спасибо

  4. 3 сентября 2008 г. в 15:37

    У меня тоже Яндекс пока начего не забанил, но бережёного…
    Спасибо за статью!

  5. 29 сентября 2008 г. в 00:01

    Димокс , спасибо за инфу, но всё же – где желательно ( в коде ) размещать код сапы? между чем и чем ? Боюсь код подпортить
    И второе – это для контекстных ссылок ?

  6. 29 сентября 2008 г. в 16:11

    Блогер, желательно, чтобы они были в коде как можно выше, где конкретно – решать вам.

    И второе – это для контекстных ссылок ?

    Нет, весь код – для обычных ссылок.

  7. 2 ноября 2008 г. в 11:41

    Может у кого-то есть готовый код для разбивания на 3 блока, а то что-то у меня не получается…

    1. 29 июня 2009 г. в 13:09 / ответ на коммент liveseo

      У меня есть )))

      define('_SAPE_USER', 'папка');
      require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');

      $opt = array();
      $uri = getenv('REQUEST_URI');
      $pos = strpos($uri, '?');
      if ( $pos ) $uri = substr($uri,0,$pos);
      $opt['request_uri'] = $uri;

      $o['host'] = 'сайт';
      $sape = new SAPE_client($opt);
      unset($o);
      //echo $sape->return_links();
      $tpl->set('{LINKS}', $sape->return_links());

      Это сам код в пхп-файл
      А дальше в шаблоне в нужных местах выводим:

      $tpl->set('{sape_links}', $sape->return_links(2));
      $tpl->set('{sape_links1}', $sape->return_links(2));
      $tpl->set('{sape_links2}', $sape->return_links());

      Цифры в скобках – это количество ссылок в данном блоке

  8. 20 января 2009 г. в 00:49

    Поставил всё как есть, вообще перестали ссылки отображатся( И ошибок никаких не пишет(

  9. 16 февраля 2009 г. в 22:10

    Подскажите, кто уже долго работает с системой SAPE – может ли Гугл определить продажные ссылки на странице, если эти ссылки распределить не сплошным блоком а по одной?

    1. 17 февраля 2009 г. в 12:18 / ответ на коммент slesra

      Скорее всего нет.

  10. den
    3 мая 2009 г. в 10:17

    Добрый день!

    Я новичок в данной теме. Мне не понятны некоторые моменты. Часто в темах о сапе упоминаются уровни страниц: главная, 2-го уровня, 3-го. Я так понимаю, уровни страниц определяются количеством переходов(кликов) от главной. Правильно ли я понимаю?
    Что я вляется страницей в принципе с точки зрения ссылкобирж – это каждый уникальный URI? Как сайт разбивается на упомянутые уровни(в частности интересуют блоги на WP)? Поясню вопрос: допустим я хочу разместить ссылку на главной странице, следовательно я ищу место в блоке контента(около постов). Если я размещу ссылку в сайдбаре(или подвале) эта ссылка будет красоваться на всем сайте, а не только на главной. Это пока вызывает у меня путаницу. Буду очень признателен если кто-нибудь разъяснит. Спасибо.

    1. 3 мая 2009 г. в 14:06 / ответ на коммент den

      Правильно ли я понимаю?

      Абсолютно правильно.

      Что я вляется страницей в принципе с точки зрения ссылкобирж – это каждый уникальный URI?

      Да.

      Если я размещу ссылку в сайдбаре(или подвале) эта ссылка будет красоваться на всем сайте, а не только на главной.

      Это не так, если вы ссылки размещаете не вручную, а с помощью кода системы. В таком случае сапа автоматически выводит ссылки только на нужных страницах.

      1. den
        3 мая 2009 г. в 14:42 / ответ на коммент Dimox

        Т.е. сапа учитывет особеннсти движков(автоматом или вебмастер сам указывает при регистрации)?

        Спасибо за ответы.

        1. 3 мая 2009 г. в 15:57 / ответ на коммент den

          Не знаю, учитывает ли особенности, но способ размещения ссылок (автоматом или вручную) вы выбираете сами.

  11. webernie
    29 июня 2009 г. в 10:56

    Спасибо за совет. Попробуем.

  12. Недовольный студент
    5 ноября 2009 г. в 16:28

    Спасибо за статью, а то давно использовал этот метод вместо плагина специального, а теперь другу помочь надо, а сам забыл, как это делается.

  13. wizarddd
    6 декабря 2009 г. в 21:56

    Привет, хотел спросить, сейчас актуально ли эта тема с сапой? – это насчет того, можно ли зарабатывать. и по главней вопрос – не пойму куда именно вставлять коды, в самом верху шаблона или конкретно между какими то тэгами?

    1. 7 декабря 2009 г. в 09:52 / ответ на коммент wizarddd

      Тема актуальна конечно. Код нужно вставлять в том место шаблона, где нужно вывести ссылки.

  14. Rowman Pirce
    7 февраля 2010 г. в 22:18

    if (strstr($sape_echo, ‘href’)!==FALSE) …
    if (strstr($sape_links, ‘href’)!==FALSE) …

    как-то не человечно условие написано =) ты писал?

    по-моему след. вариант красивее выглядит( и более правильно с точки зрения… двига xD):
    if (strstr($sape_echo, ‘href’)) …
    if (strstr($sape_links, ‘href’)) …

    условие у обоих примеров одинаковое, но второй вариант все-таки правильнее..

    1. 8 февраля 2010 г. в 10:24 / ответ на коммент Rowman Pirce

      Не я писал. Я в таких штуках не разбираюсь.

  15. maltus
    15 февраля 2010 г. в 22:24

    Спс за код. Хотя сейчас всё это делает плагин, было интересно понять как же оно там работает.

  16. 13 июня 2010 г. в 20:17

    Всем привет Ребят может кто поможет установить этот блок а то я всё сделал только блок не могу установить вот моя ася 565095131

  17. Марик
    30 марта 2011 г. в 20:53

    Привет, не в тему немного. Но как называется плагин этот сбоку левого кнопок социалок? Самому мне не нужны кнопки эти. Просто нужно вывод в блоге важной инфо с помощью такой фигни??

    1. 31 марта 2011 г. в 09:53 / ответ на коммент Марик

      http://dimox.name/socializ-floating-panel/

  18. Антон
    9 декабря 2011 г. в 03:58

    Спасибо за статью. Подскажите еще одно, если можно. Как сделать теперь ссылки отображаемые на сайте маленького размера, ну чисто для эстетичности и незаметности. На джумла я делал так: return_links(1), “UTF-8”, “CP1251”); ?> Перекодировка и уменьшение. Я не шарю в этом, посему попробовал подставить тег span в разных вариантах к вашим кодам не получается. Вобщем как сделать ссылки меньше?

    1. 9 декабря 2011 г. в 11:05 / ответ на коммент Антон

      Там, где в коде указано <ul id="sape1"> и <ul id="sape2">, сделайте так:

      <ul id="sape1" style="font-size: 10px"> и <ul id="sape2" style="font-size: 10px">.

      1. Антон
        9 декабря 2011 г. в 13:06 / ответ на коммент Dimox

        Dimox Спасибо вам большое, все работает. Желаю вам больше трафа, высокий ТИЦ и PR, а так же благодать Господа и Бога нашего Иисуса Христа да пребудет с вами!

        1. 9 декабря 2011 г. в 13:27 / ответ на коммент Антон

          И вам спасибо за добрые слова!

  19. Антон
    9 декабря 2011 г. в 04:01

    Еще одно. Допустим нужно сделать по одной ссылке в разных частях сайта. Какой будет код для третьей части ссылок?

    1. 9 декабря 2011 г. в 11:09 / ответ на коммент Антон

      После строки:

      $sape_links = $sape->return_links(3);

      добавьте:

      $sape_links2 = $sape->return_links(3);

      И в коде для вывода (т.е. в коде 2-й части) замените все $sape_echo на $sape_links2. А для третьего блока, соответственно, останется неизменный код второй части.

  20. Oleg
    11 ноября 2012 г. в 17:07

    Dimox Здравствуйте, на блоге wordpress использую плагин iSape, блок ссылок выводиться в сайдбаре с помощью виджета iSape Links.http://s017.radikal.ru/i441/1211/20/3e59ad39d478.jpg
    Теперь хочу поставить еще один (горизонтальный) блок ссылок после записи, только какой код вставить в single.php я не в курсе (.
    Надеюсь на Вашу помощь.

    1. 11 ноября 2012 г. в 17:32 / ответ на коммент Oleg

      Ничем не могу помочь. Спросите лучше у разработчика плагина.

Ваш комментарий

Жирный текст

Ссылка

Цитата

Внутристрочный код

CSS-код

HTML-код

JavaScript-код

PHP-код