body onLoad on a specific WordPress page

前端 未结 3 1608
一生所求
一生所求 2021-01-25 07:53

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


To a specific landing page on my

相关标签:
3条回答
  • 2021-01-25 08:20

    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?

    0 讨论(0)
  • 2021-01-25 08:22

    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.

    0 讨论(0)
  • 2021-01-25 08:35

    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.

    0 讨论(0)
提交回复
热议问题