Jason,我相信您在 WordPress 和 JavaScript 资产方面遇到了一些经典的挑战。您需要一个可供 JavaScript 访问的 PHP 变量(或某种 PHP 处理),当然,JavaScript 无法解析 PHP!
一些评论建议检查路径(只是在生成目录时获取您的目录),但我不喜欢这种方法,因为它假设您的主题路径将始终相同。(如果您重命名主题文件夹、更改主题或只是更改文件夹结构,这可能会改变)。
我通常会在<head>
我的所有主题中注入一个“帮助”脚本。这是一个非常简单的 JSON 对象,具有名称空间(以保持全局范围清洁)。
<script>
// for bootstrapping page level code
var YOURSITENAME = {
"isFrontPage":<?= (is_front_page() ? 'true' : 'false'); ?>,
"isPage":<?= (is_page() ? 'true' : 'false'); ?>,
"postName":'<?= get_post_name(); ?>',
"templateURI":'<?= get_template_directory_uri(); ?>',
};
</script>
注意标题为“templateURI”的最后一项。在您的 JavaScript 中,您现在可以随时使用命名空间 JSON 对象访问此值,如下所示:
var myDirectoryPath = YOURSITENAME.templateURI;
或者在您的具体示例中:
var imagePath = YOURSITENAME.templateURI + "/library/images/image.jpg";
jQuery(document).ready(function($){
$(".primary-container").backstretch(imagePath);
});
当然,YOURSITENAME
为自己改一些更有意义的命名空间。
玩得开心!