Проблемы и ошибки        01.07.2020   

Наказываются communication blog добавить комментарий http. Blogger: Настраиваем комментарии! Делаем поля Имя и Email необязательными

(в которой мы убирали теги h3 в заголовке перед формой комментирования) — сегодня заставим функцию формы комментов WP работать целиком по нашим правилам:

получим возможность задавать собственные стили, менять на своё усмотрение заглавие «Добавить комментарий», исключать при необходимости определённые окошки ввода информации, например форму url, настраивать placeholder и т.д. а, главное, не потерять всё это при обновлении движка.

Нынче мы запросто выполним нашу цель, всего лишь редакцией файла функций. И коли вы чувствуете в себе силы редактировать код сайта (этот способ чуть сложнее от того, который описан ранее)…

Начнём концерт:

стоит ли редактировать ядро WordPress

Как известно, править ядро WordPress (файлы CMS) не рекомендованное занятие, в большей степени из-за того, что после обновления движка теряются наработки! Тем паче у начинающих администраторов ресурсов, эти обновления вордпресс совершаются внезапно (без их ведома) как этого избежать, читайте в этой .

стоит ли обновлять WordPress

Непременно да! …тут не может быть и разногласий! …однако это чревато, как и говорилось, тем что обновление движка затирает редакции администратора!

Посему многие веб мастера, для более гибких настроек своего сайта, используют всевозможные фильтры (хаки): тоже неплохо! Однако я (и не только один я) предпочитаю какие-то второстепенные (относительно важности постоянных обновлений) функции ядра WP переносить в корень шаблона.

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

Приступим к редакции, но!!

…напоминаю всякий раз: заведите какой-то документ «запоминалку» всех совершаемых эксов с блогом. Копируйте редактируемые файлы. Пригодится!

Поверьте: так короче до профессионализма, ибо возможность переварки накопленных крупиц знаний в кашу маловероятна!

Что нам нужно для достижения цели:

перенести из ядра WP (из файла comment-template.php) отработку функции comment_form в директорию шаблона.

где найти файл comment-template.php

Переходим по этому пути ваш_домен/wp-includes файл comment-template.php

…открываем его (или прямо на хостинге — я делаю так), или скачиваем и редактируем в Нотепад++ — читать: как настроить Notepad++

Ищите такую строку (примерный № строки 2111)

function comment_form($args = array(), $post_id = null) {

do_action("comment_form_comments_closed");

Всё это копируете и переносите к себе в файл функций functions.php .

Обычно, все новые добавления кода помещают перед закрывающим тегом?> . Но я рекомендую добавляемый код группировать, так сказать, по теме, тогда всё запросто при необходимости отыщете.

Следующим шагом будет изменение имени функции: можете назвать её как угодно душе, хоть именным вензелем обозначить… У меня получилось так:

function my_my_ comment_form

Сохраняем наработки…

…и переходим в файл вашей темы comments.php .

В этом файле нам нужно поменять имя вызова функции, на то, которым обозвали на первом шаге:

Отыскиваете в документе такую фразу (она обычно в его финале): и просто-напросто добавляете my_my_ ну или своё имя.

Должно получиться так:

…теперь задача вызова новой функции выполнена: логика шаблона станет использовать именно наш перекопированный в тему код!

Что нам и требовалось!

Теперь всё что вам остаётся выполнить, так это подредактировать под свои нужды код новоиспечённой функции my_my_comment_form();

…или задают индивидуальную отработку placeholder — посмотрите как выглядит это у меня:

…у меня в окошке формы комментирования расположен вензель «Ваш комментарий…» который исчезает, как только комментатор набирает своё послание…

…и тому… и тому… подобное.

Есть какие-то вопросы по добавлению/уборке элементов формы комментирования, пишите, разберёмся…

или вот можете почесть пост о полезных сниппетах () для формы комментирования…

Exchange Server: Community & Knowledge Base

Обновления и исправления

  • Выпущено обновление безопасности Exchange MS14-075 .
  • Обновленная версия Exchange 2013 Server Role Requirements Calculator. Вы можете посмотреть изменения и скачать новую версию.
  • Обновленная версия Exchange 2010 Server Role Requirements Calculator. Вы можете посмотреть изменения и скачать новую версию.
  • Стал доступен Exchange Server 2013 Cumulative Update 7 . Список проблем решаемых установкой CU7 вы можете найти в KB2986485 .

Декабрьские исправления для Outlook 2010 вы можете скачать по следующей ссылке .

Полный перечень обновлений для Office:

Полный перечень обновлений и версий Exchange:

Список текущих проблем протокола ActiveSync с устройствами сторонних производителей.

Проблемы и их решения :

Сообщение об ошибке: «Страница представителей недоступна» при переходе на вкладку делегаты в диалоговом окне Параметры в Outlook с Exchange Server:

Фиксируется ошибка 9875: MSExchangeIS Mailbox Store:

Выполнении командлета Get-WebServicesVirtualDirectory завершается ошибкой, при запуске мастера настройки Гибридной конфигурации:

При выполнении поиска вложения Excel файлов, при указании критерия поиска число возвращается пустой результат в режиме подключения Online и в OWA:

Exchange ActiveSync не загружает вложения содержащиеся в элементах календаря:

Не возможно установить TLS соединение в Exchange Online или Exchange Server:

Устройства ActiveSync неожиданно блокируются:

Не возможно использовать EAC для удаления участников группы рассылки, которая содержит более 3000 участников.


Lync Server: Community & Knowledge Base

Обновления и исправления

Актуальная версия Lync Connectivity Analyzer

Актуальные обновления для Lync Server, а также клиентов Lync можно найти

Описание обновлений

Перечень изменений и исправлений:

Краткое описание изменений:

  • Анонимное подключение к конференции
  • Пассивная аутентификация и аутентификация по сертификату
  • Управление контактами (доступно только в Lync Online)

Доступно обновление мобильного клиента Lync 2013 для Windows Phone

В обновлении добавлена поддержка следующих функций:

  • Transport Settings – user can use VOIP or Cellular for making & receiving phone calls
  • WP should not cancel VOIP call on all endpoints when receiving PSTN & VoIP call at the same time

Перечень исправлений:

Доступен Protocol Workloads Poster для Lync Server 2013 – pdf и visio версии постера можно загрузить

Дополнительная информация и описание

Доступны новые каталоги аппаратных и программных решений для Lync Server:

Доступен функционал видео-звонков между клиентами Lync и Skype

ВАЖНО! – Данный функционал временно отключен до выхода обновленной версии клиента Skype. Обновление будет доступно в ближайшее время.

Новые возможности собраний Lync с оборудованием Unified Conference Stations от Polycom.

Обучающие сессии Skype for Business теперь включены в программу Office 365 Summit.


Share Point Server: Community & Knowledge Base

Обновления и исправления

Декабрьское накопительное обновление для SharePoint 2010 устанавливается на систему с установленным 2-ым пакетом обновления, необходимо установить 2-й пакет обновления перед установкой декабрьского накопительного обновления. Порядок установки: пакет обновления 2 (SP2) для Microsoft SharePoint 2010, затем Пакет обновления 2 (SP2) для Microsoft 2010 Server Language Pack, затем декабрьское накопительное обновление. После установки исправления необходимо запустить Мастер настройки продуктов SharePoint 2010 (SharePoint 2010 Products Configuration Wizard) на каждом сервере в ферме.

Декабрьское накопительное обновление для SharePoint 2013 устанавливается на систему с установленным 1-ым пакетом обновления. Рекомендуется установить 1-й пакет обновления перед установкой декабрьского накопительного обновления. Порядок установки: пакет обновления 1 (SP1) для Microsoft SharePoint 2013, затем Пакет обновления 1 (SP1) для Microsoft 2013 Server Language Pack, затем декабрьское накопительное обновление. После установки исправления необходимо запустить Мастер настройки продуктов SharePoint 2013 (SharePoint 2013 Products Configuration Wizard) на каждом сервере в ферме.

ВНИМАНИЕ:

Предыдущие выпуски накопительных обновлений SharePoint Server 2013 включали исполняемый и CAB файл в одном самораспаковывающемся файле. Из-за размера файла пакет SharePoint Server 2013 был разделен на отдельные загрузки: исполняемый файл и CAB-файлы. Все являются необходимыми и должны быть извлечены в одну и ту же папку, чтобы успешно установить обновление. Все доступны по указанной ссылке.

Полный перечень обновлений и версий SharePoint

Microsoft Support Lifecycle

Завершение поддержки продуктов

  • Windows XP поддержка завершена 8 апреля 2014.
  • Office 2003, SharePoint Server 2003, Visio 2003, Project 2003 поддержка завершена 8 апреля 2014 .
  • Exchange Server 2003 поддержка завершена 8 апреля 2014 .
  • BizTalk Server 2004 поддержка завершена 8 июля 2014 .

Завершение поддержки пакетов обновлений

  • Exchange Server 2010 SP2 поддержка завершена 8 апреля 2014.

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

Шаг 1. Разбираемся в функцией comment_form и ее аргументами

Рассмотрим функцию WordPress comment_form . Она отвечает за вывод формы комментариев, которая выводится на странице или записи. Вызов данной функции в основном можно встретить в файле comments.php в папке темы. Данный файл включается в различных местах, например, в файлах single.php и page.php , непосредственно или через вызов функции comments_template .

Описание функции можно найти в кодексе WordPress .

Если использовать функцию comment_form для вывода формы, то она будет выводиться с использованием параметров по умолчанию и будет содержать такие поля как имя, email (оба поля являются обязательными), веб сайт и содержание комментария. В теме по умолчанию Twenty Eleven форма будет выглядеть следующим образом.

Некоторые важные аргументы функции comment_form:

  • fields -с его помощью можно управлять выводом полей в форме комментария.
  • comment_notes_before и comment_notes_after - используются для вывода информации перед и после формы.
  • title_reply - используется для изменения названия ответа, которое по умолчанию имеет значение ‘Leave a Reply’.
  • label_submit - используется для изменения текста на кнопке отправки комментария.
Шаг 2. Настраиваем форму комментария с помощью функции comment_form

Теперь настроим нашу форму комментария с помощью передачи аргументов в функцию comment_form .

В случае, если нам нужно настроить поля в форме комментариев, нужно передать их список в функцию comment_form . По умолчанию для функции используется следующий список полей:

$fields = array("author" => "

" . "" . __("Name") . " " . ($req ? "*" : "") . "

", "email" => "", "url" => "

" . __("Website") . "" . "

",);

Если нам нужно удалить поле, например, website , нужно просто исключить его из массива и передать массив в функцию comment_form .

$commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("author" => "

" . "" . __("Name") . " " . ($req ? "*" : "") . "

", "email" => "",); $comments_args = array("fields" => $fields); comment_form($comments_args);

В дополнение также сменим название формы на ‘Please give us your valuable comment’, а надпись на кнопке на ‘Send My Comment’.

Для выполнения задачи передаем в функцию comment_form следующие аргументы:

$commenter = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("author" => "

" . "" . __("Name") . " " . ($req ? "*" : "") . "

", "email" => "",); $comments_args = array("fields" => $fields, "title_reply"=>"Please give us your valuable comment", "label_submit" => "Send My Comment"); comment_form($comments_args);

Теперь форма комментария будет выглядеть следующим образом:

Шаг 3 . Удаляем поля из формы с помощью крюка

Также форма комментария WordPress может быть изменена с помощью крюков и фильтров. Такая настройка может быть особенно полезна при работе с плагином, когда нужно настроить несколько элементов, но не изменять файлы темы. Фильтр для добавления иди удаления полей из формы - ‘ comment_form_default_fields ‘

Удалим поле адреса URL с помощью фильтра. Приведенный код можно использовать в плагине или в файле functions.php активной темы.

Function remove_comment_fields($fields) { unset($fields["url"]); return $fields; } add_filter("comment_form_default_fields","remove_comment_fields");

Шаг 4. Добавляем данные в форму комментария с помощью крюка

Мы можем добавить поля в форму с помощью фильтра ‘ comment_form_default_fields ‘. Добавим поле возраста автора с помощью фильтра и сохраним данное поле дополнительные данные и будем их выводить в комментарии.

Добавляем поле следующим образом:

Function add_comment_fields($fields) { $fields["age"] = "

" . __("Age") . "" . "

"; return $fields; } add_filter("comment_form_default_fields","add_comment_fields");

#respond .comment-form-author label, #respond .comment-form-email label, #respond .comment-form-url label, #respond .comment-form-age label, #respond .comment-form-comment label { background: #eee; -webkit-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); -moz-box-shadow: 1px 2px 2px rgba(204,204,204,0.8); box-shadow: 1px 2px 2px rgba(204,204,204,0.8); color: #555; display: inline-block; font-size: 13px; left: 4px; min-width: 60px; padding: 4px 10px; position: relative; top: 40px; z-index: 1; }

Теперь наша форма комментария будет выглядеть следующим образом:

Теперь возраст хранится как дополнительная информация. Нужно использовать крюк в ‘ comment_post ‘:

Function add_comment_meta_values($comment_id) { if(isset($_POST["age"])) { $age = wp_filter_nohtml_kses($_POST["age"]); add_comment_meta($comment_id, "age", $age, false); } } add_action ("comment_post", "add_comment_meta_values", 1);

Как только данные сохранены, их можно выводить в комментарии следующим образом:

Шаг 5 . Настройка комментариев для определенных типов записей

Иногда требуется использовать поля в комментариях только для определенных типов записей. Изменим код для вывода поля возраста только для записи типа book :

Function add_comment_fields($fields) { if(is_singular("books")) { $fields["age"] = "

" . __("Age") . "" . "

"; } return $fields; } add_filter("comment_form_default_fields","add_comment_fields");

Шаг 6. Создаем возвратную функцию для вывода комментариев

Функция wp_list_comments используется для вывода комментариев в записях. В кодексе WordPress функция описана подробно.

wp_list_comments имеет аргумент ‘ callback ‘ в котором можно определить функцию, которая вызывается при выводе комментария.

В теме Twenty Eleven в файле comments.php можно найти строку:

Wp_list_comments(array("callback" => "twentyeleven_comment"));

Изменим ее на:

Wp_list_comments(array("callback" => "my_comments_callback"));

Функция my_comments_callback будет вызываться для каждой записи.

Шаг 7. Стилизация комментариев

Теперь мы немного изменим стиль комментария. Просто будем выводить содержание записи и поле возраста, которое было добавлено нами ранее. Мы также изменим цвет фона для комментариев.

Код функции ‘ my_comments_callback ‘:

Function my_comments_callback($comment, $args, $depth) { $GLOBALS["comment"] = $comment; ?>

Последний шаг в создании формы комментариев для сайта на PHP и MySQL — Делаем вывод наших комментариев на странице сайта. Вот код для этого:

Вот и все! Наша простая форма комментариев ля сайта создана и может работать на сайте.

Но это конечно не для новичка, который не станет копаться со всеми этими кодами HTML, PHP и MySQL. Также не станет изучать, как создать базу данных. Ему нужно все сразу, быстро и без головной боли. Я прав? Конечно прав!

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

Системы комментариев для сайта. Какую выбрать?

Как сделать комментарии на сайте — это вопрос важный потому, что комментарии на сайте играют важную роль не только для общения владельца сайта и посетителя, но также комментарии важны для сео продвижения и раскрутки.

С помощью комментариев на сайте повышаются позиции сайта в поисковой выдаче, улучшаются поведенческие факторы, растет трафик на сайт, а следственно и увеличивается ваш заработок. Вот видите, как важны комментарии для сайта!

Поэтому давайте рассмотрим как сделать комментарии на сайте и какую систему комментирования выбрать, как наиболее оптимальный вариант?

Вообще комментарии на сайтах выводятся многими способами. Это и специальные плагины для wordpress движков и комментарии от социальных сетей всевозможные, такие как например Вконтакте , Facebook , Disqus . Также есть независимые сервисы, которые предлагают свои системы комментариев для сайта, например .

Я сейчас вам приведу одну табличку, которая сразу расставит все на свои места и вопросов уже не возникнет по поводу выбора системы комментариев для сайта:

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

Я для себя уже принял решение и установил систему комментариев для своего сайта от Cackle.

Кстати если Вы уже решились выбрать систему для своего сайта, то вот вам ссылка, которая дает 5% скидку на приобретение системы комментариев от Cackle!

А у меня пока все на сегодня! Всем удачи и благополучия! До новых встреч!

Честно говоря, когда увидел, что по этому поводу пишут и советуют новичкам на других сайтах, немного ужаснулся и решил запилить свою заметку на эту тему без фатального недостатка . В основном я видел длинные полотнища кода, которые реализуют добавление комментариев на сайт . Обычно для этого создают форму, реализуют ее обработку, сохранение, а так же выборки для отображения. Но преимуществ подобного подхода чем дальше, тем все меньше.

В этой заметке вы узнаете один из самый простых (но, субъективно, один из наиболее предпочтительных) способов добавить комментарии на сайт - простой пример для новичков + варианты для более продвинутых веб-мастеров.

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

Но прежде чем перейдем к непосредственно внедрению, давайте рассмотрим преимущества/недостатки использования готовых решений. (Если о чем забыл - пишите в комментах - расширим список)

Преимущества сторонних решений:

  • Простота в реализации.
  • Защищенность от спама "с коробки" (в своем решении пришлось бы это дополнительно реализовать, так что, теоретически, связано с предыдущим пунктом).
  • В меньшей степени подвержено ошибкам, багам и т.д., так как сторонние решения проверили миллионы пользователей (опять связано с первым: вы тоже можете написать все без багов, но уйдет дополнительное время на отладку).
  • Как правило, сервисы предоставляют готовую админку, статистику, уведомления для админов, иногда модерацию, несколько админов, премодерацию и т.д., на реализацию чего у веб-мастера, особенно начинающего, могут уйти месяцы, если не годы.
  • Пользователю не нужно регистрироваться, вводить свое имя и т. д. - предполагается, что у него уже есть аккаунт в популярной соцсети.
  • Скорее всего, выдержит большую нагрузку из-за того, что соц. платформы изначально рассчитаны на большие нагрузки.

Недостатки:

  • Скудное или полное отсутствие возможности изменить внешний вид блока с комментариями.
  • Индексация в поисковых системах.

Как видите, преимуществ намного больше. Невозможность изменить внешний вид, скорее всего, сделана для того, чтобы узнавать стиль сервиса комментариев, таким образом создавав ненавязчивую рекламу. (Как один из вариантов). А что касается индексации - так ли уж она важна, ведь далеко не все комменты несут смысловую нагрузку.

Но довольно теории, перейдем к практике.

1. Простейший вариант - добавить комментарии с использованием какой-то выбранной соцсети.

Например, vk. Смотрим документацию . Копируем предоставленный код, и добавляем на странице (куски кода взяты с доки по ссылке, в будущем может поменяться, так что всегда копируйте с сайта с документацией. Здесь только возможный пример):

1) Добавляем в :

VK.init({apiId: 2951023, onlyWidgets: true});

2) Добавляем в том месте, где хотим видеть виджет комментариев (например, после заметки, если речь идет о блоге):

VK.Widgets.Comments("vk_comments", {redesign: 1, limit: 10, width: "665", attach: "*"});

2. Добавить виджеты из нескольких сервисов. Например, как на этом ресурсе. Переключаются табами:


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

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

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

(function(global, $) { "use strict"; $(function() { var $tabToggler, initComments, initialized; initialized = { "#vk-comments": false, "#disqus_thread": false }; initComments = function(type) { var discussUserName, disqus_config, pageUrl; if (initialized) { return; } pageUrl = "page_url"; switch (type) { case "#disqus_thread": // You need to set this params using your platform"s appropriate way discussUserName = "discussUserName"; disqus_config = function() { this.page.url = pageUrl; return this.page.identifier = "page_identifier"; }; (function() { var d, s; d = document; s = d.createElement("script"); s.src = "//" + discussUserName + ".disqus.com/embed.js"; s.setAttribute("data-timestamp", +new Date()); return (d.head || d.body).appendChild(s); })(); break; case "#vk-comments": VK.Widgets.Comments("vk-comments", { limit: 5, attach: "*", pageUrl: pageUrl }); break; default: return; } initialized = true; }; $tabToggler = $(".comments-wrapper a"); $tabToggler.on("shown.bs.tab", function(e) { initComments($(e.target).attr("href")); }); initComments($tabToggler.closest(".active").find("a").attr("href")); }); })(window, jQuery);

Обратите внимание на переменные, значение которых вы должны подготовить с помощью методов, предоставляемых вашей платформой.

Для начала создаем маппинг типов виджетов комментариев , переменная initialized . Дальше, функция initComments(type) позволяет инициализировать виджет комментария , причем она ничего не делает, если он уже был инициализирован.

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

Готовый скрипт на и coffeescript на gist. Пример работы - внизу (примеры кода взяты с этого сайта)