0

嗯,这个标题很解释...

我正在构建一个自定义主题,其中所有花哨的 jQuery 东西(滑块、画廊、切换、工具提示等)都手动添加到文档的头部,当然,我也手动调用 jQuery。我更喜欢以这种方式工作,而不是运行 wordpress 插件。

但问题是...

那里有一个插件,我不能没有它:WP-POLLS。会发生什么?一旦我启动这个插件,它就会再次调用 jQuery!我所有的其他东西都坏了。

我可以看到3种方式:

1 - 编辑 wp-polls PHP 文件并删除它的 jQuery 调用/包括

2 - 编辑 wp-polls PHP 文件并尝试插入验证以查看 jQuery 是否已加载到它(重新)加载/(重新)包含 jQuery 的行中

3 - 了解执行 jQuery 的正确方法,包括我的不会与 WP-Poll 冲突的东西。

有什么想法吗,伙计们?非常感谢。C。


编辑

我想我找到了解决问题的方法。也许这不是专业的方法,但显然它有效!

我的 WP header.php是:

<html>
<head>
   // Library
   jQuery library including

   // My own manual fancy stuff
   Slider
   Carousel
   Tooltip
   Etc

   // WP Head stuff
   wp_head();
</head>

然后,我改为:

<html>
<head>
   // WP Head stuff
   wp_head();

   // Library (Removed OUT!)
   // jQuery library including

   // My own manual fancy stuff
   Slider
   Carousel
   Tooltip
   Etc
</head>

并在我的主题functions.php文件中添加了以下内容:

function load_my_scripts() {
if (!is_admin()) {
wp_deregister_script( 'jquery' );
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js');
wp_enqueue_script('jquery');
} 
} add_action('init', 'load_my_scripts');

现在,WP-POLLS 和我所有花哨的东西都运行良好。但是,我不确定...

有没有关于在 HTML 顶部包含 wp_head() 的建议?如果我没记错的话,它应该包含在结束标签之前。

而且,在wp_register_script中,最好调用本地 jQuery 库还是 google 库?

感谢所有关注这个话题的人!问候, C

4

1 回答 1

0

最好的解决方案是使用 wp_enqueue_script() 添加 jQuery - 就像您在编辑中所做的那样 - 而不是手动添加它。使用 wp_enqueue_script() 时,无论从插件或主题调用多少次,它只会输出每个特定脚本一次。这可以防止像 jQuery 这样的问题被包含两次。

至于wp_head()的位置:

触发“wp_head”动作。将此模板标签放在主题模板中的标签之前(例如 header.php、index.php)。

最后,对于使用本地 jQuery 库还是 Google 提供的库更好,我无法给出一般性的答案,但在您的情况下,我建议您坚持使用本地库。

于 2012-08-18T13:57:54.080 回答