PDF Image Generator
Загружая вложение PDF, этот плагин преобразует титульную страницу в формат jpeg и прикрепляет ее как файл миниатюр сообщения. Он также позволяет отображать значок эскиза и вставлять ссылку PDF с изображением обложки в редактор. Доступно только для WordPress 4.0+, также только на сервере, на котором установлены ImageMagick и GhostScript. Этот плагин подключается к медиа-редактору и генерирует изображение первой страницы PDF с помощью ImageMagick с GhostScript. Это не требует настройки, просто активируйте плагин через страницу установки администратора. Разрешить установить PDF как изображение. Как это работает Этот плагин заменяет и расширяет следующие функции. Создайте обложку PDF-файла с помощью ImageMagick. Созданное изображение имеет разные размеры и прикрепляется к PDF. Зарегистрируйте сгенерированное изображение как рекомендуемое изображение (после миниатюры) PDF. Отображать созданное изображение как значок вместо значка Mime-типа на странице администратора. Скрыть сам файл сгенерированного изображения в медиа-библиотеке. (v1.2 или новее) Замените текст ссылки на JPG при вставке PDF в текстовый редактор. Удалить созданное изображение при удалении PDF из медиабиблиотеки. Позволяет управлять и выводить созданное изображение и PDF вручную в файл шаблона. (см. Прочие примечания.) Позволяет установить PDF в качестве избранного изображения и использовать функции так же, как и файл изображения. (v1.2 или новее, см. Другие примечания.) Разрешить контролировать максимальный размер сгенерированного изображения и другие настройки по умолчанию на странице плагина. (v1.3.4 или новее) Сгенерированные элементы Сгенерированный файл изображения регистрируется как дочерний по отношению к PDF-файлу и имеет различные варианты размера. Файлы формируют дерево, как показано ниже. my-file.pdf (Ваш PDF-файл) my-file-pdf.jpg (Созданное изображение обложки вашего PDF-файла) my-file-pdf-1024 × 768.jpg (Большой размер) my-file-pdf-300 × 225.jpg (Средний размер) my-file-pdf-150 × 150.jpg (Размер эскиза)… (И ваш собственный размер файла) Вставьте HTML-код в редактор. Выберите PDF-файл в Media Uploader и вставьте его в редактор. Выходной HTML автоматически переписывается, как показано ниже. * Если вы используете плагин для просмотра документов (например, GDE) и хотите вставить созданный им HTML-код , выберите «По умолчанию (Название)» в селекторе «медиа». Получить миниатюру в файле шаблона Сгенерированный идентификатор изображения сохраняется в настраиваемом поле ['_thumbnail_id'] сообщения PDF-вложения. Идентификатор изображения можно экспортировать с помощью функций get_post_thumbnail_id ($ your_pdf_id) или get_post_meta ($ your_pdf_id, '_thumbnail_id', true) в файле шаблона. $ pdf_id = 'идентификатор вашего PDF-файла'; if ($ thumbnail_id = get_post_thumbnail_id ($ pdf_id)) {echo ''. wp_get_attachment_image ($ thumbnail_id, 'medium'). ''; } Или, проще говоря, вы можете вызывать изображения и ссылаться на файлы PDF с помощью функций wp_get_attachment_image ($ your_pdf_id, $ size) и wp_get_attachment_link ($ your_pdf_id, $ size). (v1.2 или новее) * Если плагин деактивирован, эта функция просто вернет пустую. $ pdf_id = 'идентификатор вашего PDF-файла'; echo wp_get_attachment_image ($ pdf_id, 'средний'); echo wp_get_attachment_link ($ pdf_id, 'средний'); Если вы называете все PDF файлы, которые прикреплены к посту. Вы можете получить их с помощью функции get_posts. Примеры. Динамически получайте PDF-файлы, прикрепленные к сообщению. php $ pdfs = get_posts ('posts_per_page = -1 & post_type = attachment & post_mime_type = application / pdf & post_parent ='. $ post-> ID); if ($ pdfs): foreach ($ pdfs как $ pdf): $ thumbnail_id = get_post_thumbnail_id ($ pdf-> ID); если ($ thumbnail_id): echo ''; echo ' '; echo wp_get_attachment_image ($ thumbnail_id, 'средний'); echo ''; echo ' '; endif; endforeach; endif; ?> Установить миниатюру PDF как рекомендуемое изображение Плагин поддерживает установку PDF как избранного изображения. (v1.2 или новее) Строго говоря, когда вы устанавливаете PDF-файл как Featured Image, плагин автоматически устанавливает эскиз, который зарегистрирован в этом PDF-файле. Вы можете вызвать эскиз, используя функцию get_the_post_thumbnail. echo get_the_post_thumbnail ($ post-> ID, 'средний'); Может быть, вам нужен PDF-файл из миниатюры сообщения. $ thumb_id = get_post_thumbnail_id ($ post-> ID); $ pdf_id = get_post ($ thumb_id) -> post_parent; если ($ pdf_id && get_post_mime_type ($ pdf_id) === 'приложение / pdf') {$ pdf = get_post ($ pdf_id); echo ' '. get_the_post_thumbnail (). ''. " n"; } Отображение данных вложения с заголовком Плагин позволяет вставлять сокращенный код [caption] в область содержимого публикации, как при вставке изображения. Если вы хотите отобразить заголовок вложения, описание, тип файла, размер файла и так далее, используйте фильтр img_caption_shortcode в вашем functions.php. Вот пример кода… функция add_attachment_data_in_caption ($ empty, $ attr, $ content) {$ attr = shortcode_atts (array ('id' => ”, 'align' => 'alignnone', 'width' =>”, 'caption '=> ”), $ Attr); if (1> (int) $ attr ['width'] || empty ($ attr ['caption'])) return »; если ($ attr ['id']) {$ attr ['id'] = 'id = ”'. esc_attr ($ attr ['идентификатор']). '”'; $ attachment_id = explode ('_', $ attr ['id']); $ attachment_id = $ attachment_id [1]; // получить идентификатор вложения if (get_post_mime_type ($ attachment_id) === 'application / pdf') {$ attachment = get_post ($ attachment_id); $ байтов = размер файла (get_attached_file ($ attachment-> ID)); if ($ bytes> = 1073741824) $ bytes = number_format ($ bytes / 1073741824, 2). «ГБ»; elseif ($ bytes> = 1048576) $ bytes = number_format ($ bytes / 1048576, 2). «МБ»; elseif ($ bytes> = 1024) $ bytes = number_format ($ байтов / 1024, 2). «КБ»; elseif ($ байтов> 1) $ байтов = $ байтов. 'байты'; elseif ($ bytes == 1) $ bytes = $ bytes. 'байт'; else $ bytes = '0 байт'; $ attr ['caption'] = 'title:'. $ attachment-> post_title. ''. // заголовок 'caption:'. $ attr ['caption']. '' .// caption 'size:'. $ bytes. ''. // размер файла 'filetype:' .get_post_mime_type ($ attachment_id). ''. // тип файла 'описание:'. $ attachment-> post_content. ''; // описание}} вернуть '
'. do_shortcode ($ content). '
'; } add_filter ('img_caption_shortcode', 'add_attachment_data_in_caption', 10, 3); Создание эскизов всех PDF-файлов в медиатеке. Вы можете создавать эскизы любых уже загруженных PDF-файлов. Активируйте плагин и нажмите ссылку «Создать эскизы сейчас» в «Настройках». (v1.3.3 или новее) Изменить атрибуты ссылки прикрепления function pigen_filter_attachment_link ($ html, $ attach_id, $ attach_url, $ attach_output) {$ attach_title = get_the_title ($ attach_id); $ html = ' '. ''. $ attach_output. ''; return $ html; }; add_filter ('pigen_filter_attachment_link', 'pigen_filter_attachment_link', 10, 4); Изменение атрибутов миниатюр функция pigen_filter_attachment_output ($ attach_output, $ thumbnail_id, $ thumbnail, $ size, $ align) {$ attach_output = ''; вернуть $ attach_output; }; add_filter ('pigen_filter_attachment_output', 'pigen_filter_attachment_output', 10, 5); Фильтры изменения настроек imageMagick позволяют вам добавлять свои собственные изменения поведения imageMagick путем подключения. Пример использования для пользователя imageMagick. функция pigen_filter_convert_file_basename ($ file_basename) {$ file_basename = str_replace ('.jpg', '.png', $ file_basename); вернуть $ file_basename; }; add_filter ('pigen_filter_convert_file_basename', 'pigen_filter_convert_file_basename'); function pigen_filter_convert_imageMagick ($ imageMagick, $ before_name, $ after_name, $ max_width, $ max_height) {$ imageMagick = "convert -de density 150 -quality 80 -background black -flatten {$ max_width} x {$ max_height} {$ before_name} {$ after_name} "; return $ imageMagick; }; add_filter ('pigen_filter_convert_imageMagick', 'pigen_filter_convert_imageMagick', 10, 5); Пример использования для пользователя расширения imagick. функция pigen_filter_convert_file_basename ($ file_basename) {$ file_basename = str_replace ('.jpg', '.png', $ file_basename); вернуть $ file_basename; }; add_filter ('pigen_filter_convert_file_basename', 'pigen_filter_convert_file_basename'); функция pigen_filter_convert_imagick ($ imagick) {$ imagick-> setImageBackgroundColor ('черный'); $ imagick-> setCompressionQuality (80); $ imagick-> setImageFormat ('png'); вернуть $ imagick; }; add_filter ('pigen_filter_convert_imagick', 'pigen_filter_convert_imagick'); Автоматически сохранять изображение / PDF в качестве избранного изображения. Автоматически устанавливать миниатюру PDF в качестве избранного изображения. функция save_pdf_thumb_as_featuredimage ($ post_id) {if (wp_is_post_revision ($ post_id)) return; если (get_post_type ($ post_id)! == 'post') return; // устанавливаем тип сообщения if (get_post_meta ($ post_id, '_thumbnail_id', true)) return; // сообщение уже содержит избранное изображение $ attaches = get_posts ('post_parent ='. $ post_id. '& numberposts = -1 & post_type = attachment & post_mime_type = application / pdf & orderby = menu_order & order = ASC'); if ($ attaches): foreach ($ присоединяется как $ attach): if ($ thumb_id = get_post_meta ($ attach-> ID, '_thumbnail_id', true)) {// если pdf имеет миниатюру update_post_meta ($ post_id, '_thumbnail_id' , $ thumb_id); сломать; } endforeach; endif; } add_action ('save_post', 'save_pdf_thumb_as_featuredimage'); Автоматически установить первое изображение / PDF в качестве избранного изображения. функция save_thumbnail_as_featuredimage ($ post_id) {if (wp_is_post_revision ($ post_id)) return; если (get_post_type ($ post_id)! == 'post') return; // устанавливаем тип сообщения if (get_post_meta ($ post_id, '_thumbnail_id', true)) return; // сообщение уже содержит избранное изображение $ args = array ('post_parent' => $ post_id, 'post_type' => 'attachment', 'numberposts' => -1, 'post_status' => null, 'orderby' => ' menu_order дата ',' order '=>' ASC ASC '); $ прикрепляет = get_posts ($ args); if ($ прикрепляет): foreach ($ прикрепляет как $ attach): if ($ attach-> post_mime_type == 'application / pdf') {if ($ thumb_id = get_post_meta ($ attach-> ID, '_thumbnail_id', true) ) {// если у pdf есть миниатюра update_post_meta ($ post_id, '_thumbnail_id', $ thumb_id); сломать; }} elseif (preg_match ("/ ^ image //", $ attach-> post_mime_type)) {update_post_meta ($ post_id, '_thumbnail_id', $ attach-> ID); сломать; } endforeach; endif; } add_action ('save_post', 'save_thumbnail_as_featuredimage'); Автор: Mizuho Ogino
Версия: 1.5.6
Последнее обновление: 2017-04-25 12:30pm GMT