Встраивание html-счетчиков в WordPress

Рубрика: WordPress -> Статьи
Пятница, 3 марта 2006 г.
Просмотров: 5365
]]>
]]>

Для того, чтобы добавить счетчик посещений в WP есть два варианта:

1-й («бульдозерный»): открыть файл sidebar.php (или другой) и вставить в необходимое место код счетчика (-иков).

2-й («элегантный»): сделать отдельный файл counters.txt, в который скопировать код счетчиков. Файл необходимо разместить в главном каталоге WP. После этого в шаблоне, где необходимо разместить счетчик, прописываем:

  1.  <?php
  2.  if (file_exists(ABSPATH . '/counters.txt'))
  3.        readfile(ABSPATH . '/counters.txt');
  4.  ?>

Код счетчиков не соответствует стандартам

Если вы встраиваете счетчики SpyLog, HotLog, Mail.ru и т.д. то код, который эти сервисы предлагают для размещения, не пройдут валидацию (http://validator.w3.org/) на стандарт HTML. И, как следствие, весь ваш сайт окажется невалиден. В этом случае вам придется поправить код.

Вот наиболее характерные ошибки подобных счетчиков:

  • Для скриптов необходимо указывать тип и язык: <script type="text/javascript" language="javascript">

  • Для всех IMG необходимо указывать парметр «alt»: alt="SpyLOG"

  • Все параметры в тегах необходимо экранировать кавычками (одинарными или двойными).

  • Символ & необходимо заменить на &

  • Теги желательно писать в нижнем регистре.
]]>twitter.com Google Buzz google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru]]>

Комментариев: 14

Вы можете оформить подписку на все комментарии сайта. Или даже на все новые записи сайта. Не знаете, как это сделать?
  1. 2006-03-10 в 15:08:42 | seed

    бульдозерным всё и сделал smile

  2. 2006-08-16 в 01:06:01 | xemul

    спасибо!

  3. 2006-08-23 в 21:23:57 | Ruslan

    А каким способом можно вставить JavaScript в пост типа page?

  4. 2006-08-23 в 21:32:38 | Максим

    Добавить его в page.php.

  5. 2006-08-23 в 21:41:05 | Ruslan

    Тогда этот скрипт будет вызываться в каждой странице.. Этого не нужно.. Есть всего один пост(типа page) для которого и будет это скрипт..

    Нашел плагин http://dev.wp-plugins.org/wiki/TextControl

    И сейчас ковыряюсь может получится.

  6. 2006-08-23 в 21:52:54 | Максим

    Напишите о результате. Я не уверен именно в этом плагине, но в принципе можно попробовать использовать Run PHP (http://mark.scottishclimbs.com/)

    Там нужно будет изменить $tag, например на "jscode" и заменить eval($phpcode) на echo $phpcode;

  7. 2006-08-23 в 22:17:17 | Ruslan

    Я пошел по следующему пути:

    Установил TextControl. С его помощью отключил на нужном посте обработку контента перед выводом (WPautop заменил на No Formatting)

    И все было бы хорошо, если бы не Rich редактор который кромсает JavaScript..

    Чтоб долго не мучатся(нужно один раз всего) полез в базу, и бульдозерным методом вставил в поле "post_content" свой код..

    (Примечание: Это опасно для жизни, дома не повторять :smilesmile

  8. 2007-07-01 в 12:19:05 | drima

    в счетчике LiveInternet надо внутри двойных кавычек использовать одинарные для обозначения параметров картинки, а также закрыть тэг img:

    например, вместо:

    "border=0 width=88 height=15>"

    пишем:

    "border='0' width='88' height='15' />"

    :cool:

  9. 2007-08-01 в 12:06:46 | Денис

    Спасибо!

    бульдозер работает smile

  10. 2008-01-22 в 08:31:47 | Compass

    А как установить счетчик Рамблера на бесплатном хостинге wordpress.com?

  11. 2008-09-17 в 12:32:44 | f

    поподробнее можно для особо одаренных...Куда вставлять этот код.Хочу счетчик liveinternet в футе. wordpress 2.6.2 Заранее спасибо.

  12. 2009-01-05 в 00:10:36 | Seop

    Спасибо, заметка помогла. Маленькое затруднение вызвал пробел между знаком "меньше" и ?php в начеле строки. Его не должно быть.

  13. 2009-03-06 в 13:41:39 | Олег

    Спасибо, поставил с помощью вашей статьи два счетчика.

    Возникла трудность с тем куда вставить код.

    В итоге, поставил его внутри дива. Получилось неплохо.

  14. 2009-08-26 в 02:07:54 | Alex

    "Элегантный способ" очень удобный. Спасибо.