Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript在Wordpress中应该放在哪里,这只对single.php是必需的?_Javascript_Html_Wordpress - Fatal编程技术网

javascript在Wordpress中应该放在哪里,这只对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

我想在我正在建设的Wordpress网站的帖子末尾添加社交按钮(Facebook、Twitter、G+)。它们只需要显示在帖子的permalink页面上(在single.php中编辑)


我的问题是,我是否应该把必要的脚本放在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');
?>

移动到?