Intereting Posts
Необходимо создать поиск, который будет искать только определенную категорию Как зарегистрировать собственный обработчик встраивания? Удалить сообщение со всеми прикрепленными к нему файлами Как сохранить изменения имени или слова Slug при использовании wp_update_term при сохранении? Покажите, сколько изображений прикреплено к сообщению / странице на странице компоновки Проверка наличия таблицы базы данных Функция, которая возвращает true, когда автор является определенной ролью is_author (admin)? Заказ в конкретном запросе $ wpdb Стратегии борьбы с гиперагрессивными спам-ботами? получать сообщения, в которых пользовательское поле содержит текст Штрих-код для таблиц, которые могут включать запятую и разрывы строк Я хочу создать PDF-файл и сохранить его в библиотеке? перемещение элемента подменю admin в позицию верхнего уровня Связанная запись, основанная на 2 категориях При изменении страниц на сообщения, как вы настраиваете 301 переадресацию для URL-адресов страниц?

Недельный фоновый код не работает

У меня есть этот код, который я хочу реализовать на своем веб-сайте. Я успешно создал дочернюю тему. Этот код должен менять фон каждый день недели. Я не слишком хорошо знаком с WordPress, и мне интересно, куда я должен поместить его и как. Может кто-нибудь, пожалуйста, дайте мне пошаговую инструкцию, что мне нужно сделать?

Код ниже. Большое спасибо.


function chgDailyImg() { var imagearray = new Array(); imagearray[0] = "sundaypic.jpg"; imagearray[1] = "mondaypic.jpg"; imagearray[2] = "tuesdaypic.jpg"; imagearray[3] = "wednesdaypic.jpg"; imagearray[4] = "thursdaypic.jpg"; imagearray[5] = "fridaypic.jpg"; imagearray[6] = "saturdaypic.jpg"; var d = new Date(); /*** create a date object for use ***/ var i = d.getDay(); /*** use the date object to get the day of the week - this will be a number from 0 to 6 - sunday=0, saturday=6 -it's the way counting works in javascript it starts at 0 like in the arrays ***/ document.getElementById("dailyImg").src = imagearray; }/* CSS Document *//* CSS Document */ 

В этом случае тег, который вы хотите вызвать для выполнения вашей функции, – это wp_head() .

Глядя на код, который вы предоставляете, у вас есть идея, но я решил переписать ее по-другому. В файле functions.php вашей дочерней темы добавьте следующее:

 add_action( 'wp_head', 'wpse_238911_weekly_background' ); function wpse_238911_weekly_background() { $day = date( "l" ); switch( $day ) { case 'Monday': $background_image = 'mon-img.jpg'; break; case 'Tuesday': $background_image = 'tue-img.jpg'; break; case 'Wednesday': $background_image = 'wed-img.jpg'; break; case 'Thursday': $background_image = 'thu-img.jpg'; break; case 'Friday': $background_image = 'fri-img.jpg'; break; case 'Saturday': $background_image = 'sat-img.jpg'; break; case 'Sunday': default: $background_image = 'sun-img.jpg'; break; } ?> <style type="text/css"> body { background-image: url( 'http://web.site/img/<?php echo $background_image; ?>' ); } </style> <?php } 

Просто отключите mon-img.jpg до ваших фактических имен изображений и измените путь http://web.site/img/ к тому месту, где у вас будут храниться ваши дневные изображения.

Код, который вы опубликовали, – это JavaScript, и он должен быть помещен в файл JavaScript внутри вашей дочерней темы, например:

/your-child-theme/js/background-changer.js

Затем ваша дочерняя тема должна помещать ваш JS-файл из его файла functions.php , например:

 function wpse238911_load_js() { wp_enqueue_script( 'wpse238911_load_js', get_stylesheet_directory_uri() . '/js/background-changer.js', array(), false, false ); } add_action( 'wp_enqueue_scripts', 'wpse238911_load_js' ); 

Это действительно единственная часть вашей проблемы в WordPress.

Похоже, что с вашим JS могут возникнуть некоторые проблемы. Вы присваиваете весь imagearray src элемента #dailyImg . Похоже, вы должны использовать imagearray[i] . Также chgDailyImg() никогда не выполняется. Вот, возможно, полезная фиксированная версия:

 function chgDailyImg() { var imagearray = new Array(); imagearray[0] = "sundaypic.jpg"; imagearray[1] = "mondaypic.jpg"; imagearray[2] = "tuesdaypic.jpg"; imagearray[3] = "wednesdaypic.jpg"; imagearray[4] = "thursdaypic.jpg"; imagearray[5] = "fridaypic.jpg"; imagearray[6] = "saturdaypic.jpg"; var d = new Date(); /*** create a date object for use ***/ var i = d.getDay(); /*** use the date object to get the day of the week - this will be a number from 0 to 6 - sunday=0, saturday=6 -it's the way counting works in javascript it starts at 0 like in the arrays ***/ document.getElementById("dailyImg").src = imagearray[i]; } chgDailyImg(); 

На данный момент мы говорим о ванильном JavaScript, и это не в тему для этого сайта. Возможно, вам больше повезет в Stack Overflow для вопросов JavaScript.