Майте на увазі, що $content_width
глобальний використовується не тільки для зображень, але і для вбудованих об'єктів, таких як відео. Отже, будь-яке рішення не буде лише випадком відмови від використання / підтримки самого $content_width
себе.
Зазвичай Тема обмежує зображення області вмісту кількома способами:
- Великий розмір зображення: визначення
$content_width
чогось відповідного для дизайну теми
- Розмір оригінального / повного зображення: Визначення правила CSS для того,
#content img { max-width: XXX; height: auto; }
щоб забезпечити, що вставлені в повнорозмірні зображення зображення не порушують макет
- Розмір зображення мініатюри : виклик,
set_post_thumbnail_size()
щоб визначити типовий thumbnail
розмір мініатюрного зображення / публікації . (Примітка. Я особисто не рекомендую користуватися цим методом. Визначте власні розміри зображень, характерні для певного місця для зображеного зображення, а потім зателефонуйте на цей спеціальний розмір у конкретному місці шаблону через the_post_thumbnail( $size )
.)
Як ви виявили, через те, як WordPress вибирає з проміжним розміром зображення для будь-якого запиту зображення, цей запит може призвести до масштабування зображення в браузері.
Тематично визначені значення для великого зображення
Одним із варіантів було б переосмислити параметри для великих розмірів зображення . (Продовжуйте обережно. Це добре для вашого власного веб-сайту, але публічно розповсюджена Тема, яка заблукає з налаштуваннями налаштувань користувача, - це ... сіра зона в кращому випадку.)
Великі параметри параметри зображення зберігаються у вигляді:
$large_image_width = get_option( 'large_size_w' );
$large_image_height = get_option( 'large_size_h' );
Отже, ви можете встановити ці значення відповідно до свого $content_width
значення:
global $content_width;
update_option( 'large_size_w', $content_width );
update_option( 'large_size_h', $content_width );
(Зрозуміло, ви хочете, як слід, встановити деякі проблеми з безпекою / перевірки помилок.)
Видаліть опцію для вставки повнорозмірних зображень
Якщо ви просто хочете заборонити користувачам вставляти повнорозмірні зображення (знову: продовжуйте обережно; це може бути територія плагіну), ви можете фільтрувати 'image_size_names_choose'
:
function wpse86950_filter_image_size_names_choose( $possible_sizes ) {
unset( $possible_sizes['full'] );
return $possible_sizes;
}
add_filter( 'image_size_names_choose', 'wpse86950_filter_image_size_names_choose' );
Знову ж таки: ви можете додати сюди кілька розумних помилок, оскільки цей фільтр використовується у більш ніж одному місці.
Визначте нестандартний розмір зображення для зображень на повну ширину
Пов’язаний з попереднім параметром, ви можете визначити 'full-post-width'
розмір зображення:
global $content_width;
add_image_size( 'full-post-width', $content_width, $content_width, false );
Потім додайте його до списку доступних опцій:
function wpse86950_filter_image_size_names_choose( $possible_sizes ) {
// Unset full image size
unset( $possible_sizes['full'] );
// Add full-post-width image size
$possible_sizes['full-post-width'] = 'Full Post Width';
// Return array
return $possible_sizes;
}
add_filter( 'image_size_names_choose', 'wpse86950_filter_image_size_names_choose' );