Каждый раз, когда я захожу в админку, я попадаю на ее главную страницу, на которой находится виджет Активность. То есть, зайдя в админку, я сразу смотрю, не появились ли на блоге новые комментарии, и, если таковые имеются, я нажимаю на символ #
и попадаю по прямой ссылке непосредственно на тот комментарий, на который я хочу ответить.
Я всегда так делал, в результате чего очень привык к такому процессу. А что произошло дальше? На сайт стало заходить больше людей, а следовательно, стало появляться больше комментариев, и, когда новых комментариев за раз стало приходить больше пяти, у меня начались неудобства — в итоге для того, чтобы ответить на все комментарии, мне приходилось переходить на страницу со всеми комментариями и выискивать там новые. Одно время я даже немного путался с этим, в результате некоторые комментарии я просто пропустил, оставив без ответа.
Очень жаль, что в WordPress не предусмотрено фильтров, позволяющих изменить количество комментариев в этом виджете, поэтому единственным решением является перерегистрация данного виджета (те, кто уже собрался залезать в код движка — не спешите).
По сути, всё, что нам требуется, это вставить этот код в functions.php
текущей темы:
/* * Удаляем стандартный виджет Активность */ function true_remove_activity_widget() { global $wp_meta_boxes; unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']); } add_action('wp_dashboard_setup', 'true_remove_activity_widget' ); /* * Регистрируем свой виджет */ function true_add_activity_widget() { wp_add_dashboard_widget('dashboard_activity', 'Activity', 'true_site_activity'); // функция true_site_activity будет выводить содержимое виджета } add_action('wp_dashboard_setup', 'true_add_activity_widget' ); /* * Содержимое нового виджета */ function true_site_activity() { echo '<div id="activity-widget">'; // посты, запланированные на публикацию (вы можете изменить их параметры отображения либо не отображать совсем) $future_posts = wp_dashboard_recent_posts( array( 'display' => 2, 'max' => 5, 'status' => 'future', 'order' => 'ASC', 'title' => __( 'Publishing Soon' ), 'id' => 'future-posts', ) ); // недавно опубликованные посты $recent_posts = wp_dashboard_recent_posts( array( 'display' => 2, 'max' => 5, 'status' => 'publish', 'order' => 'DESC', 'title' => __( 'Recently Published' ), 'id' => 'published-posts', ) ); // а вот и комментарии, в параметрах функции указываем количество выводимых комментов $recent_comments = wp_dashboard_recent_comments( 10 ); // что следует отображать, если нет ни постов ни комментов if ( !$future_posts && !$recent_posts && !$recent_comments ) { echo '<div class="no-activity">'; echo '<p class="smiley"></p>'; echo '<p>' . __( 'No activity yet!' ) . '</p>'; echo '</div>'; } echo '</div>'; } |
Что ещё, кроме изменения количества выводимых комментариев, вы можете сделать, используя данный код:
- менять местами блоки недавно опубликованных постов, запланированных постов и свежих комментариев,
- вы также можете изменить количество выводимых постов в блоках с опубликованными и запланированными постами,
- также в блок «Активность» вы можете добавить и что-то своё, например произвольные типы постов, страницы и т.д.
У себя на блоге я вообще убрал блоки с опубликованными и запланированными постами и оставил только комментарии, вот так:
Источник: misha.blog