Intereting Posts
Существует ли функция WordPress replace_hello ()? Неожиданные результаты с условностями внутри шаблона отображать определенный виджет на странице Изменение иерархии шаблонов Включить только одну категорию, но исключить, если она находится в категории из цикла Как отображать несколько изображений из сообщения на главной странице Удаление атрибутов размера изображения и подписи Тема деактивировала html и css-стиль на домашней странице Тэг названия не изменится Есть ли какие-либо рекомендации по созданию функции Like / Favorite в WordPress с использованием пользовательских таблиц MySQL и без каких-либо плагинов? Страница возвращает 404 с переменными POST, но не без вставить сообщение & Загрузить миниатюру сообщения с переднего конца с помощью ajax кеш-данных? Получить выбранный термин в раскрывающемся списке Как изменить порядок пользовательских таксономий в правой части страницы редактирования пользовательских сообщений?

Изменить размер миниатюры администратора для настраиваемого типа сообщений

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

function custom_admin_thumb_size($thumb_size){ global $post_type; if( 'slider' == $post_type ){ return array(1000,400); }else{ return array(266,266); } } add_filter( 'admin_post_thumbnail_size', 'custom_admin_thumb_size'); 

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

заранее спасибо

Solutions Collecting From Web of "Изменить размер миниатюры администратора для настраиваемого типа сообщений"

admin_post_thumbnail_size принимает три параметра:

  1. $ thumb_size: выбранный размер большого пальца, если вы ничего не делаете в фильтре.

  2. $ thumbnail_id: Идентификатор прикрепленного изображения миниатюр.

  3. $ post: связанный экземпляр WP_Post

Таким образом, вы можете использовать эти параметры, чтобы иметь лучший контроль над своим КОДОМ. Используйте CODE, как показано ниже:

 function custom_admin_thumb_size( $thumb_size, $thumbnail_id, $post ) { if( 'slider' === $post->post_type ) { return array( 1000, 400 ); } return $thumb_size; } add_filter( 'admin_post_thumbnail_size', 'custom_admin_thumb_size', 10, 3); 

Нет фильтра для этого только для определенного типа post_type, но вы можете использовать get_post_type( esc_attr( $_GET['post'] ) ) чтобы сохранить 1 строку кода в основном.

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

 function custom_admin_thumb_size( $thumb_size ){ if( 'slider' == get_post_type( esc_attr( $_GET['post'] ) ) ) { return array( 1000, 400 ); } return array( 266, 266); } add_filter( 'admin_post_thumbnail_size', 'custom_admin_thumb_size' );