我如何通过一个相对url和没有PHP函数引用Wordpress主题中的文件夹


How can I reference a folder inside a Wordpress theme via a relative url and without PHP functions?

我有一个静态网站,它是过渡到Wordpress的一个。由于该网站是静态的,它的HTML内容位于主题index.php中。CSS被移动到styles.css文件夹中,其余的资源被移动到主题文件夹内的一个文件夹:./my-custom-theme/assets .

问题是,如果我从styles.css引用资产,例如,如果我有

.my-class { 
    background-image: url(assets/images/image1.png)
}

然后一切工作正常,url被翻译成website/wordpress/my-custom-theme/assets/image1.png。然而,对于在主HTML中呈现为块的javascript文件,我必须使用:

<script src="<?php echo get_template_directory_uri();?>/assets/js/myjs.js"></script>

是否没有办法使Wordpress, Wordpress主题甚至服务器通过使用相对于模板文件夹的链接而不使用get_template_directory_uri()或其他辅助函数来服务静态js ?

这是唯一的情况,你可以使用静态URL来直接引用你的主题文件夹中的文件,而不是使用PHP路径,如果这个主题将被用于其他一些域,URL将需要再次更新,但在你的情况下,因为它是特定的网站,具有特定的主题和需要。您可以选择不推荐的方式,即放置静态url。将get_template_directory_uri()替换为http://your-domain.com/wp-content/themes/your-theme-folder

那么你可以有这样的url:

<script src="http://yourdomain.com/wp-content/themes/your-theme-name/assets/js/myjs.js"></script>

只有当你必须从一些非php页面引用WordPress主题资源,而你不能使用WordPress内置功能来返回路径时,才建议使用上述方法,这正是OP面临的情况。