Взяти id вкладення або картинки по url – WordPress
Сьогодні я розповім про одне нестандартне завдання яке WordPress робити не вміє за умовчанням, а саме взяти з бази ID картинки (або іншого вкладення) за її URL. Таке завдання часто буває необхідним при розробці плагінів або нових тем для WordPress.
Для початку нам знадобиться функція, яка зробить запит до бази даних та отримає необхідне зображення по URL.
1 2 3 4 5 6 |
// возвращает ID картинки по URL function pippin_get_image_id($image_url) { global $wpdb; $attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid='%s';", $image_url )); return $attachment[0]; } |
Цю функцію можна покласти у файл functions.php та викликати у будь-якому місці шаблону.
Як викликати функцію передати URL та повернути ID зображення
Нижче я покажу який передасть URL картинки в перейменовану та отримає ID вкладення, також нижче представлений код, за допомогою якого ви зможете змінити розмір картинки за допомогою стандартної функції WordPress wp_get_attachment_image_src().
1 2 3 4 5 6 7 8 9 10 11 |
// передаем в переменную url картинки на вашем сайте $image_url = 'https://yoursite.com/wp-content/uploads/2011/02/14/image_name.jpg'; // получаем ID картинки по URL из переменной $image_url $image_id = pippin_get_image_id($image_url); // Получаем ту же картинку по ID но с новым размером $image_thumb = wp_get_attachment_image_src($image_id, 'thumbnail'); // выводим картинку с новым размером на экран echo $image_thumb[0]; |
Хотілося б сказати що не варто цим зловживати, оскільки завдання виконується дуже швидко.
/*
- Базовий курс з веб-дизайну;
- Верстка сайтів;
- Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
- Розробка сайтів на PHP.