2010-03-13 344 views
1

我把我的WordPress的永久链接结构设置为/%postname%/但现在当我去主页以外的页面(例如,如果我去somelink.com/about)我失去了所有的JavaScript引用。WordPress的永久链接

我认为这是因为指向js文件的链接不再正确,因为它位于想象文件夹“about”中。这是如何在header.php文件中引用js文件的。

 <script type="text/javascript" src="wp-content/themes/default/js/jquery-1.4.2.min.js"></script> 
    <script type="text/javascript" src="wp-content/themes/default/js/cufon-yui.js"></script> 
    <script type="text/javascript" src="wp-content/themes/default/js/Goudy_Bookletter_1911_400.font.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() {  
      Cufon.replace('h1'); 
      Cufon.replace('h3', {textShadow:'0 1px #fff'}); 
     }); 
    </script> 

我做错了什么?

回答

3

,如果你在你的模板文件引用任何你可以使用

1:

<?php bloginfo('url');?> 

或2:

<?php bloginfo('template_url');?> 

这将被编码为:

<script type="text/javascript" src="<?php bloginfo('url');?>/wp-content/themes/default/js/jquery-1.4.2.min.js"</script> 

o r

<script type="text/javascript" src="<?php bloginfo('template_url');?>/js/jquery-1.4.2.min.js"</script> 

1:加载主站点URL; 2:将绝对url返回到您当前的主题目录,

(这对主题开发更好)。

+0

嘿,伙计!非常感谢!这正是我所期待的。我爱这是多么容易使用...再次感谢 – codedude 2010-03-13 22:51:37

+0

我同意,这是更容易放入地方,然后wp_enqueue_script。您仍然可能在您的主题中不止一次加载jQuery,特别是如果您使用的是使用jQuery的插件,但是如果开销并不重要,那么这是处理它的一种更简单的方法。 – cori 2010-03-15 12:46:04

1

我收集你手动插入javascript调用,这不是处理jQuery包含在Wordpress中的最佳方式 - 你应该看看wp_enqueue_script,如果插件或主题会让你不止一次包含jquery库你正在使用的还包括他们。

此外,你有源代码编写,我相信你是正确的 - 客户端正在寻找/ about下的相对路径中的js文件。在wp-content之前放置一个“/”,让客户机在根目录内的wp-content内部查找它们(假设WP安装在根目录下)。

+0

我一直在寻找到wp_enqueue_script。事实上,也许你可以帮助我一些事情。我将如何参考我在本地的脚本?我想引用Cufon脚本wordpress没有包含它。 – codedude 2010-03-13 21:57:52

+0

查看$ src param,它将wp的脚本加载器指向所需脚本的url,以及$ depends param,它告诉WP在自定义脚本之前需要加载哪些内置脚本。有关基于scriptaculous的示例,请参阅http://codex.wordpress.org/Function_Reference/wp_enqueue_script#Load_script_depends_on_scriptaculous。 如果您熟悉WP之外的jQuery,请注意http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_wrappers中的无包装包装信息。 – cori 2010-03-13 22:31:38