Счетчик нажатий на кнопку
Реально ли для wordpress написать вот что... Как правильно подойти к этому...?
Нажимаешь на кнопку, она тебе выводит текст, а то что на кнопку было произведено нажатие отправляется в бд или куда то в файл где к общему числу +1 добавляется. Вероятно стоит подходить к этому реализацией через javascript. Посоветовали подумать в сторону jquery ajax Идеальный вариант, это что бы был общий файл-таблица на которой будет выведен список по типу: № 143 - 1509 нажатий № 144 - 148 нажатий № 145 - 735 нажатий То есть кнопка будет находится в разных записях и каждая иметь свой уникальный текст, который будет показан после нажатия. Может есть подобные готовые решения? Нашел кое что, что практически идеально подходит под требование, но немного не то... http://wp-kama.ru/id_430/plagin-dlya...k-counter.html И вот ещё тематическую статью нашел: http://lifeexample.ru/php-primeryi-s...wordpress.html Ниже инфа моих попыток решить задачу. Вполне вероятно что я на ошибочном пути и всё что ниже можно не учитывать, а нужно двигаться совершенно в другом направлении. Относительно нашел решение установкой плагина Kama’s Click Counter и скриптом который идеально подходит для задачи: <script type="text/javascript">// <![CDATA[ function showTooltip() { var myDiv = document.getElementById('tooltip'); var myLink = document.getElementById('link'); if(myDiv.style.display == 'none'){ myDiv.style.display = 'block'; myLink.style.display = 'none'; } else { myDiv.style.display = 'none'; } return false; } // ]]></script> <a class="count" href="javascript:;" onclick="showTooltip()" id="link">Показать </a> <div id="tooltip" style="display: none;">Текст текст текст текст текст</div> Но есть проблема. Класс которой отвечает за запись +1 клик в админку (class="count") делает свое дело. Но при нажатии, помимо того что скрипт показывает нужный текст, страница переходит по ссылке ?kcccount=javascript:;!p=302 выдавая ошибку: Цитата:
Интересна реализация через Kama’s Click Counter (очень успешно для задачи подходит этот плагин) Но когда я добавляю класс count то код преобразуется в ссылку (href="http://site.ru?kcccount=javascript:;!p=302) вместо того что бы просто быть href="javascript:;" а так как это становится ссылкой, меня соответственно перебрасывает. Проблема, что только лишь если проходишь по ссылке которую создает класс count, (в данном примере это http://site.ru?kcccount=javascript:;!p=302) происходит запись в базу +1 клик. Может как то можно реализовать, что бы count создавал нужный запрос но без редиректа? _______________________ От ошибки избавился удалив кусок в файле плагина, то есть: # перенаправляем $_url = explode('!p=', $url); $url = $_url[0]; if ($is_IIS) { header("Refresh:0;url=$url"); } else { if( !headers_sent() ){ header("Location: $url"); header("Status: 303"); } else { print "<script>location.replace(\"$url\");</script>"; } } exit; но это проблему не решает. Ссылка всё равно остается активной и помимо того, что открывает нужный текст, перебрасывает на http://site.ru?kcccount=javascript:;!p=302 Сам файл плагина отвечающий за вышеперечисленные действия: Посмотреть в txt: http://yadi.sk/d/-8d57sQpFUWGM php файл: http://yadi.sk/d/lnYojg1iFUb5y |
Старался изложить всё максимально подробно, что бы было легче ответить:)
Если кратко, то к прочтению только первая честь сообщения |
Нашел немного инфы на эту тему:
http://wordpress.org/support/topic/a...te-wp-database http://wordpress.org/plugins/ajax-hits-counter/ http://wordpress.stackexchange.com/q...unter-meta-box Мог бы кто то это всё оптимизировать? В первом примере так понимаю парень подключает к постам php. Хотелось бы обойтись без этого Вот чего ещё нашел: http://javascript.ru/forum/events/16...-v-jquery.html почти законченный код и вот: http://snipcode.ru/catalog.html?snipid=16 |
Всем спасибо за помощь:D
Решение: Юзаем тему: http://zarabotat-na-sajte.ru/uroki-h...po-ssilke.html Таким вот образом выводим текст: <a href="javascript:;" id="link" onclick="setrate(2); showTooltip()"> Показать </a></p> <div id="tooltip" style="display: none;">Тут текст текст текст текст</div> |
Часовой пояс GMT +3, время: 05:19. |