Intereting Posts
Как выполнить запрос PHP для выбора варианта выбора с помощью AJAX? Symfony2 / Datatable Bundle – ошибка: установите идентификатор datatable в вашем действии с помощью «setDatatableId», используя идентификатор из вашего представления Отображение ссылок в PHP / MySQL? Как отправить электронное письмо в utf8 Не удалось подключиться к IMAP-связи php Ошибка RequestTimeTooSkewed с использованием PHP S3 Class jquery ajax call empty querystring Мне нужно установить ini_set ('default_charset', 'UTF-8') ;? Как читать один файл внутри zip-архива HTML В PDF Высокое разрешение Laravel SwiftMailer: ожидаемый код ответа 250, но получил код «530», с сообщением «530-5.5.1 Требуется аутентификация Возвращает ли mysqli_stmt :: result_metadata значение false для вставки, обновления, удаления запросов? Проверить получение для покупки приложения Как получить категории, имеющие отношение к пользователю? PHP – Наследование интерфейса – декларация должна быть совместимой

body onLoad на отдельной странице WordPress

Используя последнюю версию WordPress (3.6), я пытаюсь применить:

<body onLoad="window.scroll(0, 150)"> 

На конкретную целевую страницу на моем сайте, чтобы страница прокручивалась до определенной точки при загрузке страницы.

С учетом того, как WordPress настроен – с тегами body, включенными в header.php – как я могу повторить вышеуказанный код в теге body только для моей конкретной страницы, не применяя его к остальной части моих страниц?

Я предполагаю, что что-то нужно здесь:

 <body <?php body_class(); ?><?php my code in here?>> 

Вам не нужно применять код к тегу <body> , см. https://stackoverflow.com/a/191318/1287812

Это можно сделать в functions.php со следующим кодом и с использованием условных тегов, упомянутых SrikanthAD:

 add_action( 'wp_footer', 'b5f_on_load_script' ); function b5f_on_load_script() { // Not our page, do nothing if( !is_page( 'about' ) ) return; ?> <script type="text/javascript"> window.onload = function() { alert( 'Inside specific page' ); }; </script> <?php }; 

Также см .: Как использовать window.scroll для автоматической прокрутки по pageload?

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

Теперь я вместо этого зарегистрировал скрипт прокрутки отдельно и ввел его в очередь на основе шаблона страницы, используя:

 wp_register_script( 'scroll', get_template_directory_uri() . '/js/scroll.js' ); if( is_page_template('my-landing-page.php') ) wp_enqueue_script( 'scroll' ); 

С помощью: window.onload=function(){window.scroll(0, 140)}; как отдельный файл.

Спасибо за помощь.

Вы можете использовать многие условные теги, доступные в WordPress, чтобы получить желаемую функциональность.

http://codex.wordpress.org/Conditional_Tags

Пример:

  if ( is_page( 'about' ) ) { // do something } 

Я согласен с brasofilo, вы не обязательно включаете условный тег в свой шаблон. Он может использоваться везде, в зависимости от вашего проекта.