Как повернуть изображение заголовка в день?

Я хотел бы иметь свое изменение баннера заголовка каждый день, выбранный (например, случайным образом) из списка/папки изображений.

До сих пор я только нашел плагины, которые выбирают случайный баннер по почте или на просмотр страницы, ни один не то, что я хочу. Вы знаете о плагине или каком-либо другом пути?

Править: Пример. Я добавляю папку к своей установке Wordpress. Эта папка содержит некоторые изображения заголовка. Каждые 24 часа случайное изображение выбрано из этой папки и становится изображением заголовка в течение 24 часов, пока другое случайное изображение не выбрано.

На самом деле я не забочусь, как точно изображение выбрано - все хорошо с вращением через все изображения в папке также. Единственная вещь, о которой я забочусь, состоит в том, что выбранное изображение остается там в течение 24 часов.

В основном это - то же, как будто я выбирал новое изображение заголовка вручную каждый день.

1
06.01.2011, 12:01
5 ответов
 <div id="header">
    <?php
        mt_srand((int)date('z'));
        $headers=glob(PATH_TO_FILES .'/*.jpg');

        $header=mt_rand(0,count($headers)-1  );
        ?>
            <img id="header-image"  `src="<?php echo URL_TO_FILES . '/'.basename($headers[$header]);  ?>" alt="header" />




 </div>

замените свой текущий заголовок этим. Я, конечно, помогу Вам реализовать это далее, если Вы будете нуждаться в помощи. (или если Вам нужен объясненный код),

1
19.02.2020, 22:50
  • 1
    На самом деле я радовался бы, могли ли Вы подробно остановиться на этом немного. Я не знаком с функциями PHP, которые Вы использовали, и я также не уверен, как я "заменяю текущий заголовок". –  mafu 29.12.2010, 23:54
  • 2
    Код делает следующее: это сканирует каталог, ищущий все jpg файлы ($headers=glob (PATH_TO_FILES.'/*.jpg') ;). Это создает случайное число (на основе дня в году), который находится в диапазоне между 0 и сколько файлов это нашло. Затем это отображает случайным образом выбранный файл как изображение. Что касается того, как Вы заменяете текущий заголовок, необходимо будет искать текущую тему код, который генерирует изображение заголовка (вероятно, в header.php).Be осторожный, который PATH_TO_FILES должен быть локальным адресом, говоря, где файлы находятся на сервере. URL_TO_FILES является "интернет-ссылкой" на dir –  Cronco 30.12.2010, 03:25

Если Вы не можете кодировать, извините нет.

Если можно кодировать, взгляд, которые сцепляют эти плагины, использует и создает новый плагин соответственно.

1
19.02.2020, 22:50

См. http://www.alistapart.com/articles/betterrotator/, я использую его сам на нескольких сайтах.

1
19.02.2020, 22:50
  • 1
    Похоже, что это изменяется на перезагрузку страницы вместо в день? Я был, вероятно, неясен в своем описании - я означал иметь изменение образа один раз в день. –  mafu 29.12.2010, 23:51
  • 2
    Вы все еще неясны. </clarity> Вы хотите, чтобы изображение изменилось один раз в день, но также и было случайным изображением? И во сколько изменение? В полночь? Или Вы хотите monday.jpg, во вторник, jpg, и т.д., изменение образа? –  markratledge 30.12.2010, 01:14

Можно смотреть в этом примере JavaScript, очень легко реализовать его в теме.

0
19.02.2020, 22:50
  • 1
    я предпочел бы иметь его серверная сторона только. –  mafu 29.12.2010, 23:50

На основе ответа Cronco и большого экспериментирования (я ни знаком с PHP, ни с внутренними работами самого Wordpress) и некоторой очистки, я нашел решение, которое отлично удовлетворяет мои потребности.

Используя тему TwentyTen, я отредактировал его header.php как это:

<?php
    // Check if this is a post or page, if it has a thumbnail, and if it's a big one
    if ( is_singular() &&
            has_post_thumbnail( $post->ID ) &&
            ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
            $image[1] >= HEADER_IMAGE_WIDTH ) :
        // Houston, we have a new header image!
        echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
    else : ?>

        <!-- patch mafu begin -->
        <?php
        $headers = glob( get_template_directory() . '/banners/*.jpg' );
        $header = (int)date('z') % count($headers);
        ?>
        <img src="<?php echo get_template_directory_uri() . '/banners/' . basename($headers[$header]); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />
        <!-- patch mafu end -->

    <?php endif; ?>

Если никакое определенное изображение не установлено для отображенной страницы (это характерно для этой темы), то изображение заголовка выбрано на основе текущего дня из всех изображений jpg в theme_directory/banners папка, которая должна быть создана.

Я пытался рандомизировать изображение, заказывают больше, но по-видимому это не возможно в простом способе, таким образом, я пошел с фиксированным порядком.

0
19.02.2020, 22:50

Теги

Похожие вопросы