Jquery和CSS中的get_template_directory_uri()

LOT*_*SMS 0 wordpress codex

我试图使用get_template_directory_uri()将图像加载到jquery.backstretch.js文件和我的styles.css.到目前为止,我将我的图像直接添加到名为"img"的文件夹中的主题文件夹中,我将其用于我的HTML:

 <img src="<?php echo get_template_directory_uri(); ?>/img/logoyellow.png" class="hidden-xs" alt="logo" />
Run Code Online (Sandbox Code Playgroud)

这工作得很好!

但我在jquery文件(jquery.backtretch.js)中执行了以下操作:

  $(document).ready(function () {
       $("#home-section").backstretch("<?php echo get_template_directory_uri(); ?>/img/background-image2.jpg");
   });
Run Code Online (Sandbox Code Playgroud)

但是没有雪茄:(我也想知道如何在我的CSS中加载它.这样的东西:

  #milestones-section {
      background: url('<?php echo get_template_directory_uri(); ?>/img/hbg.jpg') center center;
  }
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Chr*_*ert 7

PHP不会解析JS文件,因此您无法访问类似的函数get_template_directory_uri().

快速而肮脏的方式

您可以通过在<head>每个页面中放置类似的内容使其可用于Javascript :

<script>
    theme_directory = "<?php echo get_template_directory_uri() ?>";
</script>
Run Code Online (Sandbox Code Playgroud)

正确的方式

您应该使用wp_register_script()和/或以正确的Wordpress方式加载js wp_enqueue_script().如果您这样做,您可以使用Wordpress功能,wp_localize_script()并为该脚本提供您喜欢的任何信息.

更多信息:http://codex.wordpress.org/Function_Reference/wp_localize_script

CSS

您的CSS文件应该已经在主题目录中,因此您可以使用相对路径.