Древовидные комментарии и подписка на WordPress — без плагина

темы WPБезуспешные попытки настроить функцию подписки с помощью WordPress Thread Comment на этой теме (древовидные комментарии в ней работают и так), настроили меня на поиск информации в ПС, где я и  нашел статью, в которой  автор  рассказал о том

Как сделать древовидные комментарии без плагина

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

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

Но я даже рад этому: теперь я установил плагин Плагин Subscribe to Comments Reloaded, который на моем блоге прекрасно работает и, что самое важное, — позволяет видеть, кто из комментаторов подписался на комментарии в статье, а кто лишь нанес визит вежливости. Это помогает мне, как  администратору: я теперь знаю — кому отвечать на комментарий, а кому не обязательно. Это экономит мое время — спасибо плагину!

Я как всегда с прелюдией 😉 . Но теперь к делу: какие же коды и куда вставлять?

Коды нужно будет вставлять (или заменять) в файлах вашей темы header.php, functions.php, comments.php, style.css, поэтому, прежде чем приступить к операции создания древовидных комментариев — обязательно сохраните эти файлы у себя на ЖД: может быть их придется восстанавливать.

Итак, вначале идем в файл header.php и добавляем в него перед строкой wp_head();    строку кода :

if (is_singular() AND comments_open() AND (get_option(‘thread_comments’) == 1)) wp_enqueue_script(‘comment-reply’);

Далее, в файле functions.php, добавьте следующий код:

<?php
function mytheme_comment($comment, $args, $depth) {
$GLOBALS[‘comment’] = $comment; ?>
<li <?php comment_class(); ?> id=»li-comment-<?php comment_ID() ?>»>
<div id=»comment-<?php comment_ID(); ?>»>
<div>
<?php echo get_avatar( $comment->comment_author_email, 64); ?>
<?php printf(__(‘<cite>%s</cite> <span>пишет:</span>’), get_comment_author_link()) ?>
</div>
<?php if ($comment->comment_approved == ‘0’) : ?>
<em><?php _e(‘Ваш комментарий появится после проверки’) ?></em>
<br />
<?php endif; ?>
<div><?php printf(__(‘<small>%1$s в %2$s</small>’), get_comment_date(),  get_comment_time()) ?><?php edit_comment_link(__(‘<div></div>’),’  ‘,») ?></div>
<div>
<?php comment_text() ?>
</div>
<div>
<?php comment_reply_link(array_merge( $args, array(‘depth’ => $depth, ‘max_depth’ => $args[‘max_depth’]))) ?>
</div>
</div>
<?php } ?>

Затем открываем файл comments.php и заменяем всё, что хранится между тегами <ul class=»commentlist»> и </ul> на
<?php wp_list_comments(‘callback=mytheme_comment’); ?>

Для того, что бы все отобразилось на страницах блога корректно, необходимо в файл style.css темы вставить следующий код:

#author, #email, #url {
margin:3px 10px 3px 0;
float:left;
height:25px;
color:#555;
padding:0 12px 0 12px;
background-color:#dedede;
font-size:16px;
border:1px solid #bbb;
border-radius:12px;
-o-border-radius:12px;
-moz-border-radius:12px;
-webkit-border-radius:12px;
-ms-border-radius:12px;
width:150px;
box-shadow:0 1px 1px #fff;
-moz-box-shadow:0 1px 1px #fff;
-webkit-box-shadow:0 1px 1px #fff;
-o-box-shadow:0 1px 1px #fff;
-ms-box-shadow:0 1px 1px #fff;
}
#comment {
width:95%;
color:#555;
padding:12px;
background-color:#dedede;
border:1px solid #bbb;
border-radius:12px;
-o-border-radius:12px;
-moz-border-radius:12px;
-webkit-border-radius:12px;
-ms-border-radius:12px;
box-shadow:0 1px 1px #fff;
-moz-box-shadow:0 1px 1px #fff;
-webkit-box-shadow:0 1px 1px #fff;
-o-box-shadow:0 1px 1px #fff;
-ms-box-shadow:0 1px 1px #fff;
margin:3px 0 3px 0;
font-size:16px;
font-family:Tahoma, Arial;
}
#author:focus, #email:focus, #url:focus, #comment:focus {
box-shadow:0 0 5px #007efd;
-moz-box-shadow:0 0 5px #007efd;
-webkit-box-shadow:0 0 5px #007efd;
-o-box-shadow:0 0 5px #007efd;
-ms-box-shadow:0 0 5px #007efd;
border:1px solid #777;
color:#555;
}
ul.commentlist { font-size:14px;font-family:arial;list-style:none;padding:0;text-indent:0;margin-bottom:20px;}
ul.commentlist li {
border:1px dashed #d3d3d3;
background:#eee;
padding:5px 5px 5px 5px;
margin:5px 0 0 0;
border-radius:12px;
-o-border-radius:12px;
-moz-border-radius:12px;
-webkit-border-radius:12px;
-ms-border-radius:12px;
}
ul.commentlist li.comment { padding:10px 10px 10px 10px; }
ul.commentlist li div.comment-author { font-weight: bold; }
ul.commentlist li div.vcard cite.fn a.url { text-decoration: none; }
ul.commentlist li div.vcard cite.fn a:hover.url { color: #313131; text-decoration: none; }
ul.commentlist li div.vcard img.avatar { border:1px solid #d6d6d6;width:50px;height:50px;float:left;padding:3px;background:#f4f4f4;margin-right:10px; }
ul.commentlist li div.comment-meta { font-family:arial;color:#818181;font-style:oblique;text-shadow:0 1px 0 #fff; }
ul.commentlist li p { color:#606060; clear:both;margin:20px 0 10px 0; }
ul.commentlist li ul { list-style:square; }
ul.commentlist li ul.children { list-style:none; text-indent:0; }
ul.commentlist li ul.children li.bypostauthor { background:#e3e3e3;border:1px dashed #aaa;}
ul.commentlist li.pingback { }
ul.commentlist li.bypostauthor { }
ul.commentlist li.thread-odd {
border:1px dashed #d3d3d3;
margin:5px 0 5px 0;
border-radius:12px;
-o-border-radius:12px;
-moz-border-radius:12px;
-webkit-border-radius:12px;
-ms-border-radius:12px;
}
.comment-text {
padding:5px 10px 0 0;
display:block;
}
.comment-text p {
padding:5px 10px 0 0;
display:block;
font-size:16px;
}
#respond input#submit {
color:#444;
font-weight:bold;
margin:10px 0 10px 0;
padding:5px 8px 5px 8px;
border:1px solid #888;
border-radius:12px;
-o-border-radius:12px;
-moz-border-radius:12px;
-webkit-border-radius:12px;
-ms-border-radius:12px;
background: #c1c1c1; /* Old browsers */
background: -moz-linear-gradient(top, #eeeeee 0%, #c1c1c1 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(100%,#c1c1c1)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #eeeeee 0%,#c1c1c1 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #eeeeee 0%,#c1c1c1 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #eeeeee 0%,#c1c1c1 100%); /* IE10+ */
background: linear-gradient(top, #eeeeee 0%,#c1c1c1 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=’#eeeeee’, endColorstr=’#c1c1c1′,GradientType=0 ); /* IE6-9 */
}
#respond input#submit:hover {
color:#666;
background: #e3e3e3; /* Old browsers */
background: -moz-linear-gradient(top, #e3e3e3 0%, #ccc 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#e3e3e3), color-stop(100%,#ccc)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #e3e3e3 0%,#ccc 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #e3e3e3 0%,#ccc 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #e3e3e3 0%,#ccc 100%); /* IE10+ */
background: linear-gradient(top, #e3e3e3 0%,#ccc 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr=’#e3e3e3′, endColorstr=’#cccccc’,GradientType=0 ); /* IE6-9 */
}

 

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

Немного новостей с моего блога

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

Вообще, отзывы вебмастеров о даном  апдейте PR очень нелестные — странным он каким-то выдался.

В связи с увеличением посещаемости, авторитет этого  блога в alexa.com перешагнул стотысячный рубеж и в настоящее время продолжает понижаться. Это радует.alexa rank

Кода-то, на заре развития  своих блогов на вордпресс я рекомендовал плагин для автоматической перелинковкиTerms Descriptions и даже создал ролик по его правильному использованию; там же  написал подробную инструкцию работы с ним и статья вышла в ТОП по некоторым запросам. Однако, я давно уже его не применяю и не составляю новых фраз, для автоматического ввода внутренних ссылок. Считаю, что автоматическое наполнение тематической статьи, проникновение ссылок не в тему, только вредит продвижению статей. По моему опыту, в теле статьи должно быть не более двух внутренних ссылок на другие страницы сайта. Кроме того, автоматическое добавление ссылок — это не грамотная перелинковка — а хаос, который, как известно, наносит   только вред.

Друзья, хотел бы услышать ваше мнение о работе с этим плагином. Особенно от тех кто работает (или работал с ним).

Принимаю пожелания и заказы

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

Всем привет и масса наилучших пожеланий!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *