Пользовательский тип записи с принудительным кадрированием изображения с фиксированным соотношением сторон

11

То, что я ищу, похоже на пару других вопросов. Ссылки:

Создание ориентированного на изображение пользовательского типа сообщения?

Использование функции обрезки изображения в заголовке WordPress по умолчанию в типе записи / MetaBox

Я ищу своего рода комбинацию двух. Я объясню, чтобы вам не приходилось искать эти другие вопросы.

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

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

Мне вполне комфортно с пользовательскими типами записей, если кто-то может просто дать мне указатель на то, как заставить WordPress принудительно обрезать изображение перед сохранением пользовательского сообщения.

Заранее спасибо тому, кто из вас, гений кодирования, знает / выясняет, как это сделать.

дон
источник

Ответы:

2

Дон,

Вам нужно будет добавить поддержку миниатюр в ваши functions.php / plugin-file.php

//Add Support for Thumbs
if ( function_exists( 'add_theme_support' ) ) {
  add_theme_support( 'post-thumbnails' );
        set_post_thumbnail_size( 960, 276, true ); // default Post Thumbnail dimensions   
}
//Add Thumbnail sizes   
if ( function_exists( 'add_image_size' ) ) { 
  add_image_size( 'large-thumb', 960, 276, true ); //960 pixels wide x 276 height and cropping
  add_image_size( 'medium-thumb', 605, 174 ); //No crop
  add_image_size( 'small-thumb', 288, 83, true ); 
}

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

<?php if ( has_post_thumbnail() ) {

          echo '<a href="' . get_permalink( $post->ID ) . '" title="' . esc_attr( $post->post_title ) . '">';
          echo get_the_post_thumbnail($thumbnail->ID, 'small-thumb', array( 'alt' => esc_attr( $post->post_title ), 'title' => esc_attr( $post->post_title ) ));
          echo '</a>';  //Change the 'small-thumb' to whichever size you would like.
          } 

Надеюсь, что это поможет вам понять, что вы делаете - если вам нужна помощь в создании запроса для этого, я должен заглянуть на эту страницу .

Дэвид
источник
3
Спасибо за попытку ответить Дэвиду, но вопрос не в том, как заставить WordPress обрезать или изменить размер изображения. Это должно было побудить пользователя сделать это. Чтобы понять, что я имею в виду, запустите тему Twenty Ten и добавьте собственное изображение заголовка. Вам будет предложено обрезать изображение до заданного соотношения . Это то, что я хочу для своего пользовательского типа сообщения.
Дон