javascript在Wordpress中应该放在哪里,这只对single.php是必需的?
我想在我正在建设的Wordpress网站的帖子末尾添加社交按钮(Facebook、Twitter、G+)。它们只需要显示在帖子的permalink页面上(在single.php中编辑)javascript在Wordpress中应该放在哪里,这只对single.php是必需的?,javascript,html,wordpress,Javascript,Html,Wordpress,我想在我正在建设的Wordpress网站的帖子末尾添加社交按钮(Facebook、Twitter、G+)。它们只需要显示在帖子的permalink页面上(在single.php中编辑) 我的问题是,我是否应该把必要的脚本放在Heal.PHP中(这将使它们就位,但它们总是在不必要的时候加载),或者我应该把它们放在SUNYL.PHP中的某个地方(这意味着它们只在必要时加载,但是位于 的某个地方)。< P> >在正文中间添加脚本元素并没有错,但是如果要提高加载时间,则可能需要将脚本元素附加到页脚.ph
我的问题是,我是否应该把必要的脚本放在Heal.PHP中(这将使它们就位,但它们总是在不必要的时候加载),或者我应该把它们放在SUNYL.PHP中的某个地方(这意味着它们只在必要时加载,但是位于<代码> <代码>的某个地方)。< P> >在<代码>正文中间添加脚本元素并没有错,但是如果要提高加载时间,则可能需要将<代码>脚本元素附加到<代码>页脚.php < /代码>。在加载dom的其余部分后调用脚本将防止加载脚本阻止页面的其余部分呈现 如果它是一个非常小的脚本,我认为没有理由不直接将它们添加到内联中,这样就可以很容易地看到它们影响的元素。WordPress有一个函数,如果您现在处理的是单个页面,它会返回 只有在查看单个页面时,才能包含脚本。你可以用它来做
<?php if (is_single()) : ?>
<script src="http://twitter.com/path/to/bla"></script>
<?php endif; ?>
您可能希望在页面末尾加载脚本(就在关闭的
body
-标记之前),因为这样可以在加载脚本之前呈现页面。您可以将脚本放在single.php的底部,但正如您所指出的,这样会使它们出现在页面中间
相反,将它们放在header.php中,但使用if语句检查它们是否需要(即,它是一个单独的页面),如下所示:
<?php if (is_single()): ?>
<script>...</script>
<?php endif;?>
...
如果您将上述代码放入php标记中,则第一个
将不是必需的/可能会导致问题。无论哪种方法,在if语句中,都应该是HTML,而不是php,这样才能工作。最好的方法是使用wp\u enqueue\u scripts操作挂钩。你应该经常用它来避免冲突,并保留它带来的所有好处
我稍微修改了一个示例来说明这一点:
<?php
function my_scripts_method() {
if(is_single()){
// register your script location, dependencies and version
wp_register_script('custom_script',
get_template_directory_uri() . '/js/custom_script.js',
array('jquery'),
'1.0' );
// enqueue the script
wp_enqueue_script('custom_script');
}
add_action('wp_enqueue_scripts', 'my_scripts_method');
?>
移动到?