Общее количество пингбеков, трекбеков в колонках записей админки
Добавление этого сниппета в файл functions.php вашей темы wordpress добавит новую колонку под названием Counts (можно изменить в коде) в таблицу списка записей блога. Эта колонка выведет общее количество пингбеков и трекбеков для каждой записи.
function commentCount($type = 'comments'){ if($type == 'trackbacks'): $typeSql = 'comment_type = "trackback"'; $oneText = 'One :trackback'; $moreText = '% :trackbacks'; $noneText = 'No :trackbacks'; elseif($type == 'pingbacks'): $typeSql = 'comment_type = "pingback"'; $oneText = 'One :pingback'; $moreText = '% :pingbacks'; $noneText = 'No :pingbacks'; endif; global $wpdb; $result = $wpdb->get_var(' SELECT COUNT(comment_ID) FROM '.$wpdb->comments.' WHERE '.$typeSql.' AND comment_approved="1" AND comment_post_ID= '.get_the_ID() ); if($result == 0): echo str_replace('%', $result, $noneText); elseif($result == 1): echo str_replace('%', $result, $oneText); elseif($result > 1): echo str_replace('%', $result, $moreText); endif; } add_filter('manage_posts_columns', 'posts_columns_counts', 1); add_action('manage_posts_custom_column', 'posts_custom_columns_counts', 1, 2); function posts_columns_counts($defaults){ $defaults['wps_post_counts'] = __('Counts'); return $defaults; } function posts_custom_columns_counts($column_name, $id){ if($column_name === 'wps_post_counts'){ commentCount('trackbacks'); echo "<br />"; commentCount('pingbacks'); } }
Дополнительная колонка в медиа библиотеки с ID вложений
Добавление этого сниппета в файл functions.php вашей темы wordpress добавит новую колонку в медиа библиотеке с указанием ID вложения.
add_filter('manage_media_columns', 'posts_columns_attachment_id', 1); add_action('manage_media_custom_column', 'posts_custom_columns_attachment_id', 1, 2); function posts_columns_attachment_id($defaults){ $defaults['wps_post_attachments_id'] = __('ID'); return $defaults; } function posts_custom_columns_attachment_id($column_name, $id){ if($column_name === 'wps_post_attachments_id'){ echo $id; } }
Добавляем произвольные указатели-подсказки в темы и плагины
Добавление этого сниппета в файл functions.php вашей темы WordPress позволит вам воспользоваться новой фичей под названием «указатели». Многие из вас замечали такие указатели в новых обновлениях WordPress. Просто укажите в переменной pointer_content информацию, которую вы хотите вывести и ID с jquery для назначения указателю “$(‘#menu-appearance’)”.
add_action( 'admin_enqueue_scripts', 'my_admin_enqueue_scripts' ); function my_admin_enqueue_scripts() { wp_enqueue_style( 'wp-pointer' ); wp_enqueue_script( 'wp-pointer' ); add_action( 'admin_print_footer_scripts', 'my_admin_print_footer_scripts' ); } function my_admin_print_footer_scripts() { $pointer_content = '<h3>wpincode.com | Notice</h3>'; $pointer_content .= '<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>'; ?> <script type="text/javascript"> //<![CDATA[ jQuery(document).ready( function($) { $('#menu-appearance').pointer({ content: '<?php echo $pointer_content; ?>', position: 'left', close: function() { // После нажатия на кнопку Закрыть } }).pointer('open'); }); //]]> </script> <?php }
Выводим пользователей с наибольшим количеством комментариев, его email и ссылку на сайт автора
Добавление этого сниппета в файл functions.php вашей темы WordPress позволит вам вывести список топ-комментаторов. Используйте $result->comment_author_email, $result->comments_count, $result->comment_author_url для добавления дополнительных параметров к сниппету.
function top_comment_authors($amount = 5) { global $wpdb; $results = $wpdb->get_results(' SELECT COUNT(comment_author_email) AS comments_count, comment_author_email, comment_author, comment_author_url FROM '.$wpdb->comments.' WHERE comment_author_email != "" AND comment_type = "" AND comment_approved = 1 GROUP BY comment_author_email ORDER BY comments_count DESC, comment_author ASC LIMIT '.$amount ); $output = "<ul>"; foreach($results as $result) { $output .= "<li>".$result->comment_author."</li>"; } $output .= "</ul>"; echo $output; }
Добавьте следующий кусочек кода в то место темы, куда нужно вывести список:
<? top_comment_authors(); ?>
Добавляем произвольные типы записей на страницу архива
Добавление этого сниппета в файл functions.php вашей темы WordPress позволит вам вывести произвольные типы записей на страницу архива
function add_custom_types_archive( $query ) { if( is_category() || is_tag() && empty( $query->query_vars['suppress_filters'] ) ) { $query->set( 'post_type', array( 'post', 'your-custom-post-type-here' )); return $query; } } add_filter( 'pre_get_posts', 'add_custom_types_archive' );