Чтобы получить случайное изображение с сервера WordPress, можно использовать несколько подходов, в зависимости от того, где и как вы хотите отображать это изображение. Вот несколько способов:
1. Использование PHP и WP_Query
С помощью функции WP_Query
можно получить случайное изображение из медиа-библиотеки WordPress:
$args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'post_status' => 'inherit',
'orderby' => 'rand',
'posts_per_page' => 1,
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
$image_url = wp_get_attachment_url(get_the_ID());
echo '<img src="' . esc_url($image_url) . '" alt="' . esc_attr(get_the_title()) . '">';
}
}
wp_reset_postdata();
Этот код выбирает одно случайное изображение и выводит его на экран.
2. Использование JavaScript и REST API
Вы можете создать API-запрос для получения случайного изображения и затем вывести его с помощью JavaScript:
fetch('/wp-json/wp/v2/media?per_page=1&orderby=rand')
.then(response => response.json())
.then(data => {
if (data.length > 0) {
const imageUrl = data[0].source_url;
const imageElement = document.createElement('img');
imageElement.src = imageUrl;
document.body.appendChild(imageElement);
}
})
.catch(error => console.error('Error fetching image:', error));
Этот код выполняет запрос к REST API WordPress, выбирает случайное изображение и добавляет его на страницу.
3. Короткий код для вставки в пост или страницу
Создайте короткий код (shortcode) для вставки случайного изображения в пост или страницу:
function random_image_shortcode() {
$args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'post_status' => 'inherit',
'orderby' => 'rand',
'posts_per_page' => 1,
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
$image_url = wp_get_attachment_url(get_the_ID());
return '<img src="' . esc_url($image_url) . '" alt="' . esc_attr(get_the_title()) . '">';
}
}
wp_reset_postdata();
}
add_shortcode('random_image', 'random_image_shortcode');
Теперь вы можете вставить [random_image]
в любой пост или страницу, и WordPress выведет случайное изображение.
4. Использование плагинов
Если вы предпочитаете не писать код, есть плагины, которые могут автоматически выводить случайные изображения. Например:
- Random Image Widget
- Advanced Random Posts Widget
Выберите подходящий способ в зависимости от ваших требований и уровня доступа к коду WordPress.