body onLoad on a specific WordPress page

被刻印的时光 ゝ 提交于 2019-12-31 04:28:12

问题


Using the latest Wordpress version (3.6), I am trying to apply:

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

To a specific landing page on my website so that the page scrolls to a specific point on page load.

Given the way that Wordpress is set up - with the body tags included in header.php - how can I echo the above code within the body tag for my specific page only, without applying it to the rest of my pages?

I am presuming something needs to go in here:

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

回答1:


You don't need to apply the code to the <body> tag, see: https://stackoverflow.com/a/191318/1287812

This can be done in functions.php with the following code, and using the conditional tags mentioned by 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           
};

Also see: How to use window.scroll to automatically scroll on pageload?




回答2:


For some reason, I was having difficulties using the above approach, however the logic was correct.

I have now instead registered the scroll script separately and enqueued it based on page template using:

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

With: window.onload=function(){window.scroll(0, 140)}; as a separate file.

Thanks for all the help.




回答3:


You can use many of the conditional tags available in WordPress to get the desired functionality.

http://codex.wordpress.org/Conditional_Tags

Example:

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

I agree with brasofilo, you don't necessarily have it include the conditional tag in your template. It can used anywhere, depending on your project.



来源:https://stackoverflow.com/questions/18148559/body-onload-on-a-specific-wordpress-page

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!