Шорткод для вывода комментариев текущего пользователя

Настройки
Пример шорткода, выводящего определенное количество комментариев текущего, залогиненного пользователя блога.
👍 Научим создавать сайты на WordPress бесплатно за 19 уроков. Подробнее →

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

Шорткод для вывода комментариев текущего пользователя

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

Код шорткода для вставки в файл functions.php:

function show_recent_comments_function( $atts, $content = null )
{
  extract( shortcode_atts( array( 
    "count" => 10, //количество выводимых комментариев
    "pretty_permalink" => 0
    ), $atts ));

  $output = '';
  
  if ( is_user_logged_in() )
  {
    global $current_user;
    get_currentuserinfo();

    $args = array(
      'user_id' => $current_user->ID,
      'number' => $count,
      'status' => 'approve' //показывать только одобренные администратором комментарии
      );

    $comments = get_comments( $args );
    if ( $comments )
    {
      $output.= "n";
      foreach ( $comments as $c )
      {
      $output.= '<div>';
      if ( $pretty_permalink )
        $output.= '<div><a>comment_ID ).'">';
      else
      $output.= '<div><a>comment_post_ID.'#comment-'.$c->comment_ID.'">';
      $output.= 'ссылка'; 
      $output.= '</a></div>';
      $output.= '<div>';   
      $output.= $c->comment_content;
      $output.= '</div>';
      $output.= "</div>n";
      }
      $output.= '';
    }
  }
  else
  {
    $output.= "<div>Просмотр собственных комментариев комментариев доступен только зарегистрированным пользователям. Войти.</div>";
  }
  return $output;
}

add_shortcode ( 'sr_comments', 'show_recent_comments_function' );

Для вывода комментариев текущего пользователя на отдельной странице (например, на специальной странице доступного профиля), нужно вставить шорткод в содержимое страницы:

[sr_comments]

По-умолчанию выводятся последних 10 комментариев текущего пользователя, но это количество можно изменить, указав в шорткоде параметр:

[sr_comments count=25]

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

 

Просто. Гибко. Удобно.

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

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