Описание тонкостей по выводу миниатюры записи wordpress. Как удалить миниатюру страницы в WordPress — простое решение проблемы Как удалить уже существующие миниатюры

Flector 5

Как убрать миниатюру записи внутри полной записи?

Это еще один очень частый вопрос на форумах поддержки WordPress - как скрыть миниатюру записи (теперь это называется "изображение записи") при открытии страницы с полной записью? Людям обычно нравится, когда темы выводят изображения записей при открытии главной страницы сайта или рубрик, но вывод изображения записи при открытии страницы с полной записью иногда не уместен. Например, когда автор темы выводит там тот же размер изображения, что и в рубриках и выглядеть это может очень плохо. Универсального способа удалить миниатюру записи при открытии страницы полной записи нет (код всех тем очень разный), поэтому я рассмотрю решение этой проблемы на примере.

Первый делом вам необходимо скачать текстовой редактор, который умеет сохранять файлы в кодировке "UTF8 без БОМ" (только в этой кодировке могут редактироваться файлы движка, включая файлы тем и плагинов) и который умеет выполнять поиск по файлам. Рекомендую воспользоваться редактором Notepad++ .

Далее, скачайте папку своей темы через FTP или файловый менеджер хостинга. Сделали? Миниатюры записей (изображения записей) в темах в 95% случаях выводятся через функцию the_post_thumbnail() . Следовательно, надо выполнить поиск по файлам, ища вывод этой функции. В Notepad++ это делается так:

Я ищу вывод изображения записи в теме Twenty Fifteen , как вы можете видеть на скриншоте. Результат поиска по файлам будет таким:

Результат всего один и это хорошо - значит, править придется только один файл темы. Кликните 2 раза на строчке с найденной функцией, чтобы Notepad++ открыл этот файл сразу на нужной строке. Там видим такую функцию:

function twentyfifteen_post_thumbnail() { if (post_password_required() || is_attachment() || ! has_post_thumbnail()) { return; } if (is_singular()) : ?>
" aria-hidden="true"> get_the_title() ) ) ; ?>

function twentyfifteen_post_thumbnail() { if (post_password_required() || is_attachment() || ! has_post_thumbnail()) { return; } if (is_singular()) : ?>

" aria-hidden="true"> get_the_title())); ?>

Как изменить эту функцию, чтобы она не выводила изображение записи? Вариантов, на самом деле, много. Например, можно изменить строчку:

if ( post_password_required() || is_attachment() || ! has_post_thumbnail() ) {

if (post_password_required() || is_attachment() || ! has_post_thumbnail()) {

Результат будет аналогичным - изображение записи не будет выведено на странице полной записи. Правда, в теме Twenty Fifteen недостаточно просто удалить вывод изображения записи - надо еще удалить css-код, который убирает отступ заголовка (потому что этот отступ есть у изображения, которое мы удалили). То есть из файла темы style.css надо будет удалить строчки:

1595 1596 1597 .hentry .has-post-thumbnail { padding-top : 0 ; }

Hentry.has-post-thumbnail { padding-top: 0; }

И вот тогда уже страница полной записи с удаленным изображением записи ничем не будет отличаться от страницы полной записи, в которой вообще не установлено изображение записи.

Сложно? Не волнуйтесь, в большинстве тем изображения записей выводятся сразу в шаблоне single.php через функцию the_post_thumbnail() . То есть вероятнее всего вам всего лишь надо будет открыть файл single.php , найти там вывод the_post_thumbnail() и заключить его в условный тег !is_single . Примерно так:

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

//удаляем вывод миниатюры при открытии полной записи start function wph_remove_thumbnail_single($html , $post_id , $post_image_id ) { if ( ! is_single() ) { return $html ; } else { return "" ; } } add_filter("post_thumbnail_html" , "wph_remove_thumbnail_single" , 10 , 3 ) ; //удаляем вывод миниатюры при открытии полной записи end

//удаляем вывод миниатюры при открытии полной записи start function wph_remove_thumbnail_single($html, $post_id, $post_image_id) { if (!is_single()) { return $html; } else { return ""; } } add_filter("post_thumbnail_html", "wph_remove_thumbnail_single", 10, 3); //удаляем вывод миниатюры при открытии полной записи end

Совсем просто, да? Но подобный код не подойдет вам в случае, если изображение записи выводится в каких-либо css-элементах, имеющих свое собственное оформление или отступы. То есть изображение, конечно, будет удалено, но вот его оформление может остаться на месте. То есть после применения этого кода в исходном коде страницы могут остаться элементы оформления что-то вроде:

<div class = "post-thumbnail" > </ div >

Поэтому используйте этот код только в самых простых случаях, когда изображение в записи оформляется через его собственный класс. В противном случае, лучше вам будет воспользоваться поиском функции the_post_thumbnail() в файлах темы, чтобы заключить ее в условный тег !is_single () { } (не страница одиночной записи).

Убрать миниатюру записи внутри полной записи не так сложно, но универсального способа это сделать не существует. Надеюсь, что это статья вам поможет. А если нет, то пишите в комментариях, я вам обязательно помогу.

На многих сайтах используются миниатюры изображений, иллюстрирующие тему той или иной статьи. Это позволяет придать сайту больше красок, сделать ему более профессиональный и согласованный внешний вид, а также заинтересовать посетителя на просмотр материала.

Если вы владелец сайта под управлением WordPress, то для вас не составит труда вывести любое изображение как миниатюру к записи или странице, поскольку эта функция встроена в ядро системы по умолчанию.

Более того, она позволяет применить некоторую обработку, чтобы настроить вывод превью более подходящим образом, с учетом дизайна вашего сайта.

Добавление изображения-превью для поста или страницы в WordPress

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

Перед вами появится всплывающее окно, где вы можете загрузить изображение с компьютера или выбрать его из библиотеки файлов WordPress. После чего, вы можете задать такие параметры, как:

  • Заголовок – появляется при наведении курсора;
  • Подпись – можно вывести специальным кодом;
  • Атрибут alt – альтернативный текст, отображается вместо отсутствующего изображения;
  • Описание – краткое описание содержания картинки.

Помимо этого, есть возможность также отредактировать картинку, изменив ее масштаб или обрезав до нужных размеров. Только стоит отметить, что размер может также определяться установленной темой, тогда эти изменения не повлияют на результат. Кроме того, есть один важный нюанс – некоторые шаблоны используют вывод большого превью для записи на главной сайта и маленького в содержимом поста, или наоборот.

Проблема повторяющихся изображений в постах

Если установить миниатюру для записи на WordPress, то некоторые темы будут отображать ее не только в списке постов на главной, но и на странице одного поста тоже. Таким образом, если вы захотите разместить такую же картинку внутри поста, но с другими размерами, то это будет выглядеть как дубликат.

Исправить данное недоразумение можно двумя способами. Вы можете либо удалить картинку, которую поместили вручную в пост, либо отключить автоматический вывод изображений-превью в содержимом. Сделать это достаточно просто, но потребуется немного покопаться в коде установленной темы.

Чтобы удалить миниатюру из содержимого записи, первым делом, нужно найти строчку кода, отвечающую за ее вывод. После чего, задать такое условие, при котором она будет отображаться только на главной странице или в категории.

Местонахождение этой строчки может отличаться, но всегда следует начинать поиск с файла «Single.php». На примере стандартного WordPress шаблона Twenty Sixteen, нужно открыть редактора кода, который расположен в разделе «Внешний вид» административной панели. Здесь потребуется открыть файл «Single.php» и найти в коде строчку, отвечающую за вывод контента. Она выглядит так:

get_template_part("template-parts/content", "single");

Из этой строчки становится понятно, что продолжать поиск необходимо по файлу «content-single.php». Открыв этот файл в редакторе, вы найдете такую строку:

Именно она и отвечает за вывод миниатюры на странице отдельной статьи. Имейте ввиду, что эта строчка может выглядеть по-разному, все зависит от конкретного шаблона, но она обязательно должна содержать слова «post» и «thumbnail». Вам нужно просто заменить эту строчку на:

Все достаточно просто, но каждый конкретный случай может прибавить проблем. Поэтому, чтобы избавить себя от лишней головной боли, следует сделать резервную копию сайта перед внесением изменений.

Включение поддержки миниатюры в шаблоне

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

Первым делом, необходимо открыть файл «functions.php», находящийся в папке с темой, и добавить следующую строчку:

add_theme_support("post-thumbnails");

Это разрешит вывод миниатюры для записи или страницы во время создания. Если вы хотите включить эту функцию только для записи, то нужно добавить такую строку:

add_theme_support("post-thumbnails", array("post"));

А только для страницы такую:

add_theme_support("post-thumbnails", array("page"));

Далее, вы должны указать размеры, воспользовавшись один из двух способов, предлагаемых функциями WordPress: пропорциональное изменение или обрезка. В первом случае, изображение будет пропорционально (без искажений) сжиматься, пока не будет соответствовать указанной ширине и высоте. Например, если оригинальная картинка будет 100 × 50, а вы указали 50 × 50, то по итогу получится 50 × 25. Код первого способа выглядит так:

set_post_thumbnail_size(50, 50);

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


Второй способ изменения размера – обрезка. В этом случае изображение обрезается, чтобы соответствовать целевому коэффициенту пропорциональности, а затем сжимается, чтобы поместиться в заданные параметры наиболее точно. Код данного способа выглядит так:

set_post_thumbnail_size(50, 50, true);

Преимущество здесь в том, что все картинки будут одинаковые, а недостаток, что часть картинки будет обрезана, а это может сильно сказаться на ее содержимом и даже исказить его смысл.

Теперь, когда все параметры заданы, остается только осуществить вывод миниатюры в установленной теме. Для этого нужно добавить небольшую строчку кода в файлы тех страниц, на которых вы хотите это сделать. Строчка выглядит так:

Заключение

Эта статья приводит только основные параметры, с помощью которых можно сделать наиболее подходящую под дизайн сайта иллюстрацию содержимого записи в WordPress. Помимо описанных здесь действий, можно также организовать вывод миниатюры по умолчанию для всех постов, разместить на ней любую подпись или даже добавить несколько разных картинок к одной статье.

Добрый день, дорогие друзья! Сегодня я хочу рассказать Вам про миниатюру страниц в некоторых шаблонах вордпресс. Миниатюра – неотъемлемая часть шаблона, которая выводится на странице или записи. Она служит графическим дополнением заголовка для визуализации темы. Большинство шаблонов WordPress задают миниатюру для записи (single), однако последнее время все чаще можно встретить миниатюру у страниц (page). При работе я потратил много времени на то, чтобы изменить параметры страницы, поэтому сегодня я хочу рассказать, как удалить миниатюру страницы в WordPress.

Удаление миниатюры страницы в коде сайта

Как Вы все знаете, миниатюры в вордпресс задаются с помощью команды thumbnails. В частности, в большинстве шаблонов данная функция прописана в файле functions.php в папке темы. Для того, чтобы удалить миниатюру в данном случае, достаточно просто убрать строчку кода, отвечающего за вывод картинки. В некоторых темах такой прием не работает, как например в моем случае. С данной проблемой я столкнулся в популярной тема Metro-magazine от популярного разработчика Themeisle.

Пример миниатюры в админке вордпресс

Удалив миниатюру записей, я столкнулся с вопросом, как удалить миниатюру страницы в WordPress. Главная проблема в данном случае заключается в том, поиск по команде «thumbnails» не дает каких-либо результатов. Действительно, ведь миниатюру здесь вывели через обычное «image». Чтобы удалить вывод миниатюр для всех страниц в шаблоне, необходимо зайти в файл content-page.php и найти строчку:

metro_magazine_page_content_image — 20

Данная строчка отвечает за вывод миниатюры. Для корректной работы шаблона Metro-magazine необходимо удалить код отвечающий за отображение картинок на страницах:

* Before Page entry content

* @hooked @see metro_magazine_page_content_image — 20

do_action(‘metro_magazine_before_page_entry_content’);

После удаления проверяем корректную работу шаблона и радуемся результату! Теперь Вы знаете, как удалить миниатюру страницы в WordPress, и можете без труда настраивать шаблон metro-magazine по Вашему усмотрению. Если у Вас остались вопросы по работе данного шаблона, обязательно пишите их в комментариях. На сегодняшний день, это один из самых популярных журнальных тем для сайтов, функционал которого позволяет создать полноценный портал. Желаю Вам легкой правки php-кода!

Кстати, как сделать сайт на WordPress, читайте

При загрузке изображений в WordPress часто происходят интересные вещи – сайт сам создает несколько копий изначального файла с разными размерами картинок – миниатюры. В результате, в папках изображений собирается в 3-4 раза больше файлов (иногда и больше), чем требуется для работы. Это не только засоряет хостинг, но и быстро съедает свободное пространство на нем. В один прекрасный день вы можете увидеть, что свободного места у вас нет.

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

У себя в блоге я избавился от недуга давно, поэтому, пришлось позаимствовать чужую картинку для демонстрации, вот так выглядит папка с дублями изображений:

Миниатюры могут создаваться двумя элементами сайта:

  1. Сама CMS создает их по умолчанию;
  2. Тема оформления может создавать файлы с дополнительными размерами – этого может и не быть.

Отключить создание надо и там и там иначе, победа будет не полной.

Отключение миниатюр в WordPress

Для того чтобы отключить автоматическое создание миниатюр достаточно в меню Настройка -> Медиафайлы

установить размер всех миниатюр равным 0 по ширине и 0 по высоте

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

Удаление дублей картинок, создаваемых темой

На некоторых сайтах все оказывается сложнее. Миниатюры создаваться не прекращают - поэтому, приходится копаться в теме оформления и чинить ее.

Тема может создавать изображения размеров отличных от стандартных вордпрессовских, их количество может быть разным – в зависимости от потребностей самого шаблона (где-то он эти картинки использует). Кстати, перед удалением убедитесь, что они вам точно не нужны.

Обычно миниатюры создаются функцией в файла functions.php темы. Ищите в нем примерно вот такой код:

/******************************************************************* Post & Page Thumbnails Support *******************************************************************/ if (function_exists("add_theme_support")) { // Added in 2.9 add_theme_support("post-thumbnails"); set_post_thumbnail_size(150, 100, true); } /******************************************************************* THUMBNAIL SIZE OPTIONS *******************************************************************/ add_image_size("siteframework-thumb-500", 500, 150, true); add_image_size("siteframework-thumb-280", 280, 100, true);

Цифры размеров могут быть разными, количество строк тоже. Для отключения либо удалите их, либо закомментируйте, чтобы код перестал работать.

Таким нехитрым действием вы предотвратите появление миниатюр на своем сайте.

Как удалить уже существующие миниатюры

Для WordPress существует масса плагинов, как устанавливать которые я писал . И для такого случая тоже есть плагин, называется он Force Regenerate Thumbnails (есть в репозитории WordPress). Он удаляет все лишние картинки, ранее созданные движком. Можете поставить его и почистить свои папки.

Надеюсь я помог вам разобраться с происхождением «лишних» миниатюр, и они больше не будут вам досаждать. Остались вопросы - жду вас в комментариях.

На днях один из наших читателей спросил, как массово удалить все миниатюры из записей в WordPress. Мы уже обсуждали на нашем сайте различные вопросы, связанные с миниатюрами. Мы показывали, как добавлять миниатюры в WordPress, как добавлять новые размеры изображений, как восстанавливать миниатюры, а также как добавлять многочисленные миниатюры к записям в WordPress. В данной статье мы покажем вам, как массово удалить миниатюры у записей в WordPress.

Проблема массового удаления миниатюр

К сожалению, по умолчанию вы можете удалять миниатюры только при ручном редактировании записей. Если вы имеете сотни записей с миниатюрами, то удалять их вручную будет слишком долго. Вместо этого мы будем использовать иной подход. Мы сделаем запрос к базе данных и отключим миниатюры у всех записей.

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

Все, что вам понадобится – это скопировать и вставить код в файл functions.php вашей темы.

Global $wpdb; $wpdb->query(" DELETE FROM $wpdb->postmeta WHERE meta_key = "_thumbnail_id" ");

Готово. Как только вы сохраните файл functions.php, скрипт запустит запрос к базе данных и удалит миниатюры у всех записей.
Примечание: Удалите код сразу же после сохранения файла functions.php. Вы не сможете установить миниатюры в WordPress, пока у вас будет добавлен данный код.