我有一个静态网站,已转换为Wordpress版。由于网站是静态的,因此其HTML内容位于主题index.php
内。 CSS已移至styles.css
文件夹,其余资产已移至主题文件夹内的文件夹:./my-custom-theme/assets
。
问题在于,如果我从styles.css
引用资产,例如,如果我有
.my-class {
background-image: url(assets/images/image1.png)
}
然后一切正常,网址被翻译成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?
答案 0 :(得分:2)
这是一个独特的案例,您可以改为使用静态URL直接引用主题文件夹中的文件而不是使用PHP路径,如果此主题将在其他某个域上使用,则需要再次更新URL但在你的情况下,因为它是特定的网站,具有特定的主题和需要。您可以选择不建议使用静态URL,即 用http://your-domain.com/wp-content/themes/your-theme-folder
替换此部分get_template_directory_uri()然后你可以有这样的网址:
<script src="http://yourdomain.com/wp-content/themes/your-theme-name/assets/js/myjs.js"></script>
只有在您不得不使用WordPress内置函数来回显路径的非PHP页面中引用WordPress主题资源时才推荐使用上述方法,这正是OP所面临的情况。