Intereting Posts
Функция wp_dropdown_nav для отображения пунктов меню Пользовательский тип сообщений и отображение пользовательских таксономий Как мне отключить пользователей с ограниченной страницы, если они уже вошли в систему на другом устройстве? Выход из системы Как использовать виджет в темой WordPress без виджета? Маскировка и отслеживание исходящих ссылок Переписывание страницы поддомена в одной установке WordPress в родительский домен на другом Почему PHP Cookie через плагин устанавливается только при входе в систему как Admin, а не обычные пользователи? и другие вопросы Сообщения Страница Избранное Изображение Случайная загрузка ajax работает только с posts_per_page, установленным на -1 Почему пользовательский тип сообщения нуждается в настройке «иерархических» аргументов? включить функцию w_thumbnail_src? Feed показывает только 1 результат? Включить файл с более высокого уровня Условный тег, основанный на роли автора в author.php

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

У меня есть этот код, который я хочу реализовать на своем веб-сайте. Я успешно создал дочернюю тему. Этот код должен менять фон каждый день недели. Я не слишком хорошо знаком с 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.