在特定的WordPress页面上的body onLoad

时间:2013-08-09 14:04:56

标签: php wordpress onload

使用最新的Wordpress版本(3.6),我正在尝试申请:

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

到我网站上的特定目标网页,以便页面在页面加载时滚动到特定点。

考虑到Wordpress的设置方式 - 使用header.php中包含的body标签 - 我如何才能在我的特定页面的body标签内回显上述代码,而不将其应用到我的其余页面?

我假设有些东西需要进入:

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

3 个答案:

答案 0 :(得分:3)

出于某种原因,我在使用上述方法时遇到了困难,但逻辑是正确的。

我现在已经分别注册滚动脚本,并使用以下命令将其基于页面模板排入:

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)};作为单独的文件。

感谢您的帮助。

答案 1 :(得分:2)

您无需将代码应用于<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           
};

另见:How to use window.scroll to automatically scroll on pageload?

答案 2 :(得分:1)

您可以使用WordPress中提供的许多条件标签来获得所需的功能。

http://codex.wordpress.org/Conditional_Tags

示例:

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

我同意brasofilo,你不一定要在模板中包含条件标签。它可以在任何地方使用,具体取决于您的项目。