链接到WP安装之外的根目录中的文件

时间:2015-06-07 作者:amylynn83

我有一个网站,它的博客使用WordPress(网站本身不是WordPress)。因此,结构是:

 www.website.com (not WordPress)
 www.website.com/blog (WordPress)
我有一个用于网站和博客的JavaScript文件。但是当我链接到函数中的文件时。php文件,WordPress尝试在主题中找到它:

// Register the script
wp_register_script(\'circle-bounce\', get_template_directory_uri() . \'/js/general.js\', array( \'jquery\', \'jquery-effects-core\', \'jquery-effects-bounce\'));
这是找将军的。wordpress子主题文件夹中的js文件。在源中,它链接到:

http://www.website.com/blog/wp-content/themes/twentytwelve/js/general.js?ver=4.2.2
我实际上需要它来获取网站根目录下js文件夹中的文件。因此,可以在以下位置找到该文件:

website.com/js/general.js
我实现这一目标的唯一方法是将注册更改为:

// Register the script
wp_register_script(\'circle-bounce\', \'http://www.website.com/js/general.js\', array( \'jquery\', \'jquery-effects-core\', \'jquery-effects-bounce\'));
如果可以的话,我想避免绝对链接。还有别的办法吗?

1 个回复
最合适的回答,由SO网友:Mathew Tinsley 整理而成

您的第一次尝试无效,因为get_template_directory_uri 返回主题目录的URL。

第二次尝试可以,但如果不想硬编码域,可以尝试使用根相对路径或获取站点url的域部分。

相对路径:

wp_register_script(\'circle-bounce\', \'/js/general.js\', array( \'jquery\', \'jquery-effects-core\', \'jquery-effects-bounce\'));
域:

$parts = parse_url(site_url());
$domain_url = $parts[\'scheme\'] . \'://\' . $parts[\'host\'];
wp_register_script(\'circle-bounce\', $domain_url . \'/js/general.js\', array( \'jquery\', \'jquery-effects-core\', \'jquery-effects-bounce\'));

结束