PHP-функция для WordPress «Ответ на комментарий %username%»

PHP-функция для WordPress «Ответ на комментарий %username%»

Я придумал и реализовал очередную полезную фигнюшку для WordPress ツ Суть Мне очень давно не хватало в WordPress нижеследующих двух простых и, вроде бы, банальных вещей, которые разработчики движка почему-то не додумаются сделать по умолчанию. Обе функции касаются письма, которое получает администратор сайта ...

Комментарии (70)
  1. 1
    SpiritI

    Итересно)) Реализую у себя!

  2. 2
    TimeIndex
    @

    Здравствуйте! Скажите пожалуйста, извиняюсь что не в тему, а у Ваших комментариев кнопка ответить — это стандартная или плагин какой то для древовидных комментариев? Не подскажите?

  3. 7
    Богдан
    @

    Дак а куда именно вставлять код.Куда именно-имеется ввиду в начало,середину или в конец php файла?Я поставил в конец и уменя ничего не изменилось.Помоему этот код хрень полная

  4. 9
    @

    Скажите, пожалуйста, как возможно настроить ответ на оповещение о необходимости модерации коммента прямо автору коммента, а не wordpress@domain.ru? Заранее спасибо вам!

  5. 11

    Здравствуйте! Извините что не совсем близко к теме, но хотел бы спросить у Вас насчет комментариев. Никак не могу найти информацию как сделать чтобы ссылки в имени комментаторов в новом окне, а в имени автора блога в текущем. Понимаю что нужно через условие If, но методом «тыка» не получается…

    Сейчас сделал у себя в /wp-includes/comment-template.php вот так:

    function get_comment_author_link( $comment_ID = 0 ) {
    	/** @todo Only call these functions when they are needed. Include in if... else blocks */
    	$url = get_comment_author_url( $comment_ID );
    	$author = get_comment_author( $comment_ID );
    
    	if ( empty( $url ) || 'http://' == $url )
    		$return = $author;
    	else
    		$return = "<a target='_blank' href='$url' rel='external nofollow' class='url'>$author</a>";
    	return apply_filters('get_comment_author_link', $return);
    }
    

    Т.е. все ссылки теперь в имени в новом окне, а вот как чтобы у автора блога открывалась в текущем? Буду очень благодарен если подскажете или даже пост напишете об этом)))

    До этого у меня вообще все ссылки открывались в текущем окне и посетители просто уходили с блога. Заранее спасибо!

    • 12

      Следующий код нужно вставить в файл functions.php, который в папке с шаблоном:

      function my_comment_author_url() {
      	$url = get_comment_author_url();
      	$author = get_comment_author();
      	$target = '';
      	if (!preg_match('#'.get_option('home').'#im', $url)) $target = " target='_blank'";
      	if ( empty( $url ) || 'http://' == $url )
      		$return = $author;
      	else
      		$return = "<a$target href='$url' rel='external nofollow' class='url'>$author</a>";
      	return $return;
      }
      add_filter('get_comment_author_link', 'my_comment_author_url', 10000);

      А файл /wp-includes/comment-template.php лучше не трогать.

  6. 14
    @

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

    Заранее спасибо!)

  7. 22
    Ванька
    @

    Здравствуйте!
    Вопрос такой, можно ли как то настроить получения писем только на мои комментарии, как админа?
    Наверно тема устарела, может даже есть что то лучше, Если да посоветуйте пожалуйста! Я пока что не нашел такой функции….
    Заранее спасибо!

  8. 24
    @

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

  9. 27
    Роман

    В wp 4.4. не работает?

    • 28
      Kenny Mccormick
      function addcomm(){
      	$comment = get_comment($comment_id);
      	$parent_id = $comment->comment_parent;
      	$parentComment = get_comment($parent_id);
      	if ($parent_id > 1){
      		$text .='<div style="float: left; margin-top: 1px;">&nbsp;&nbsp;>&nbsp;&nbsp;</div>'. get_avatar( $parentComment, $size='18', $default='' ) .
      		'<a id="anchor" href="' . get_comment_link($parentComment) . '">' .		 	 
      		 	$parentComment->comment_author .
      		'</a>';
      	}
      	echo $text;
      }
      
  10. 29
    Константин
    @

    Здравствуйте! А как получить имя тому, кому отвечаете в комментарии ? Например, как у вас на сайте : Ваш комментарий для: USERNAME. Спасибо.

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