使用最新的Wordpress版本(3.6),我正在尝试申请:
<body onLoad="window.scroll(0, 150)">
到我网站上的特定目标网页,以便页面在页面加载时滚动到特定点。
考虑到Wordpress的设置方式 - 使用header.php中包含的body标签 - 我如何才能在我的特定页面的body标签内回显上述代码,而不将其应用到我的其余页面?
我假设有些东西需要进入:
<body <?php body_class(); ?><?php my code in here?>>
答案 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,你不一定要在模板中包含条件标签。它可以在任何地方使用,具体取决于您的项目。