add_image_size позиция обрезки не работает

#javascript #wordpress

#javascript #wordpress

Вопрос:

Я пытаюсь жестко обрезать изображения (315 пикселей на 600 пикселей) на моем пользовательском тематическом сайте WordPress, чтобы левая верхняя часть изображения отображалась на моей главной странице (а полное изображение использовалось на отдельных страницах публикации). Однако изображения по-прежнему отображаются по центру. В моем файле функций я использую:

 function invadingholland_setup() {

add_theme_support('post-thumbnails');
add_image_size('post-cartoon', 200, 200, array('left', 'top'));

} 

add_action('after_setup_theme', 'invadingholland_setup');
  

… и в моем цикле я использую:

 <div class="post-thumbnail">
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail-cartoon'); ?></a>
</div>
  

… и затем этот CSS вокруг него:

 .post-thumbnail {
margin: 0px 10px 0px 0px;
width: 200px;
height: 200px;
float: left;
text-align: left;
border: 1px;
border-style: solid;
border-color: #000;
}
  

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

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

Я в недоумении, почему это не работает. Мне не хватает Java-скрипта? Это настройка wordpress? Кто-нибудь может помочь? Пример проблемы можно увидеть здесь: http://www.invadingholland.com в моих двух лучших постах.

Спасибо

Комментарии:

1. 1. Это JavaScript, а не CSS. 2. Это не родной JavaScript.

2. Извините. Мой плохой. Я не понимал, что это так, поскольку я очень мало знаю о JavaScript.

Ответ №1:

Попробуйте подключить его через функцию к after_setup_theme перехвату.

 function mkwilson_setup_theme() {
   add_theme_support( 'post-thumbnails' );
   add_image_size( 'post-cartoon', 200, 200, array('left', 'top') );
}

add_action( 'after_setup_theme', 'mkwilson_setup_theme' );
  

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

Еще одно замечание:

 add_image_size('post-cartoon', 200, 200, array('left', 'top'), true);
  

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

Комментарии:

1. Спасибо. Я должен был упомянуть, что это то, что у меня уже есть (если я правильно понимаю):

2. Итак, вы использовали его с помощью хука? А также используете ли вы правильное имя в своем цикле post?

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

4. Мне пришлось добавить его в другой ответ, а затем он работал только наполовину. Странно. Извините за это.

5. ОК. понял. вы можете удалить это из своего ответа. Я вижу, что изображения обрезаются. Итак, ваш код в порядке. И я думаю, это правильно. Вы проверяли исходные изображения?

Ответ №2:

Это заняло некоторое время, но я узнал, что это было. Модуль Photon, который является частью Jetpack, каким-то образом заставлял вещи обрезать из центра. Как только я выключил его, изображение было обрезано слева, как и должно быть.