etxt banner 468x60etxt banner 728x90etxt banner 930x180skillbox banner 468x60skillbox banner 728x90skillbox banner 930x180beget banner 468x60beget banner 728x90beget banner 930x180

Как получить случайное изображение на php, WordPress

Чтобы получить случайное изображение с сервера 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.

skillbox banner 480x320skillbox banner 728x90skillbox banner 120x600beget banner 480x320beget banner 728x90beget banner 120x600etxt banner 480x320etxt banner 728x90etxt banner 120x600

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Как из стандартного типа записи post удалить «uncategorized» из ссылки в WordPress?

При создании записей в WordPress без указания категории по умолчанию им присваивается категория «Без рубрики» («Uncategorized»). Это приводит к появлению лишней части ссылки, например: https://example.com/bez-rubriki/nazvanie-zapisi. Если вы хотите убрать «bez-rubriki» из URL, то вам потребуется немного модифицировать настройки и добавить пользовательский код. В этой статье я покажу, как это сделать и избежать ошибок 404. Шаг…
Подробнее

Как на WordPress сделать архивную страницу со всеми авторами и структуру ссылок домен/authors/author

Чтобы сделать архивную страницу в WordPress, которая перечисляет всех авторов и предоставляет доступ к их страницам профилей через структуру ссылок вида домен/authors/author, нужно выполнить следующие шаги: 1. Создание пользовательской страницы для архива авторов Создайте файл шаблона: В вашей активной теме создайте файл page-authors.php. Это будет специальная страница, отображающая список всех авторов. Добавьте код для вывода…
Подробнее

Как сделать функцию для редиректа со старых ссылок сайта на новые в WordPress?

Для создания функции редиректа в WordPress со старых ссылок на новые, можно использовать файл .htaccess или написать специальный код в functions.php темы. Рассмотрим оба варианта: 1. Редирект через .htaccess Если вам нужно выполнить редиректы для множества старых URL, проще всего это сделать через файл .htaccess в корне вашего сайта. Для этого откройте или создайте файл…
Подробнее