Сышышь ты, выходи сюда,
поговорим !

Превью в разделе редактирования постов

Опубликовано: 24.08.2018

видео Превью в разделе редактирования постов

КАК С ТЕЛЕФОНА ПОСТАВИТЬ ШАПКУ НА КАНАЛ| AnyLey

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


Основы WordPress. Серия пятая. Анонсы записей

Про то, как установить миниатюры для поста в wordpress 2.9 я уже писал, сегодня хочу поделиться небольшим интересным дополнением (хаком) к нему. После того как вы сделаете все необходимые правки в шаблоне блога, вам понадобится добавить превью (миниатюры) в каждый пост. Если статей много и выполнять этот процесс по чуть-чуть (не все сразу), то иногда можно запутаться в том, где есть превью, где их еще нет и т.п. Но почему бы не добавить превью в меню «Записи» — «Изменить». Вот как выглядит это для моего typo3 блога .

По-моему, весьма удобно и главное красиво. Притом, что сделать это вообще не сложно – на выручку нам приходит файл functions.php Открываем его и добавляем следующий код.

if ( ! function_exists ( 'fb_AddThumbColumn' ) && function_exists ( 'add_theme_support' ) ) { // for post and page add_theme_support ( 'post-thumbnails' , array ( 'post' , 'page' ) ) ; function fb_AddThumbColumn ( $cols ) { $cols [ 'thumbnail' ] = __ ( 'Thumbnail' ) ; return $cols ; } function fb_AddThumbValue ( $column_name , $post_id ) { $width = ( int ) 35 ; $height = ( int ) 35 ; if ( 'thumbnail' == $column_name ) { // thumbnail of WP 2.9 $thumbnail_id = get_post_meta ( $post_id , '_thumbnail_id' , true ) ; // image from gallery $attachments = get_children ( array ( 'post_parent' => $post_id , 'post_type' => 'attachment' , 'post_mime_type' => 'image' ) ) ; if ( $thumbnail_id ) $thumb = wp_get_attachment_image ( $thumbnail_id , array ( $width , $height ) , true ) ; elseif ( $attachments ) { foreach ( $attachments as $attachment_id => $attachment ) { $thumb = wp_get_attachment_image ( $attachment_id , array ( $width , $height ) , true ) ; } } if ( isset ( $thumb ) && $thumb ) { echo $thumb ; } else { echo __ ( 'None' ) ; } } } // for posts add_filter ( 'manage_posts_columns' , 'fb_AddThumbColumn' ) ; add_action ( 'manage_posts_custom_column' , 'fb_AddThumbValue' , 10 , 2 ) ; // for pages add_filter ( 'manage_pages_columns' , 'fb_AddThumbColumn' ) ; add_action ( 'manage_pages_custom_column' , 'fb_AddThumbValue' , 10 , 2 ) ; }

if ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) { // for post and page add_theme_support('post-thumbnails', array( 'post', 'page' ) ); function fb_AddThumbColumn($cols) { $cols['thumbnail'] = __('Thumbnail'); return $cols; } function fb_AddThumbValue($column_name, $post_id) { $width = (int) 35; $height = (int) 35; if ( 'thumbnail' == $column_name ) { // thumbnail of WP 2.9 $thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true ); // image from gallery $attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') ); if ($thumbnail_id) $thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true ); elseif ($attachments) { foreach ( $attachments as $attachment_id => $attachment ) { $thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true ); } } if ( isset($thumb) && $thumb ) { echo $thumb; } else { echo __('None'); } } } // for posts add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' ); add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 ); // for pages add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' ); add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 ); }

Теперь сохраняем и проверяем результат. Кстати, предварительно советую сделать бэкап файла для тех, кто не сильно разбирается во всем этом. Если что-то пойдет не так, всегда сможете восстановить. Либо попробуйте модуль Admin Columns который мы рассматривали в подборке 20 лучших плагинов WordPress панели .

Нашел тут еще немного кода, дабы убрать из раздела «Записи» — «Изменить» ненужные колонки – автора и количество комментариев. Если вам они тоже не сильно нужны, то можете добавить в файл functions.php следующие строки:

add_filter ( 'manage_posts_columns' , 'scompt_custom_columns' ) ; function scompt_custom_columns ( $defaults ) { unset ( $defaults [ 'comments' ] ) ; unset ( $defaults [ 'author' ] ) ; return $defaults ; }

add_filter('manage_posts_columns', 'scompt_custom_columns'); function scompt_custom_columns($defaults) { unset($defaults['comments']); unset($defaults['author']); return $defaults; }

Теперь все выглядит более компактно и красиво.

rss