4

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" />

それはうまくいきました!

しかし、私はjqueryファイル(jquery.backtretch.js)で次のことを行いました:

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

しかし、葉巻はありません:( CSSにロードする方法も知りたいです。次のようなもの:

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

前もって感謝します!

4

2 に答える 2

15

JS ファイルは PHP によって解析されないため、get_template_directory_uri().

クイック&ダーティ・ウェイ

<head>各ページの に次のようなものを配置することで、Javascript で利用できるようにすることができます。

<script>
    theme_directory = "<?php echo get_template_directory_uri() ?>";
</script>

正しい道

wp_register_script()and/orを使用して、正しい Wordpress の方法で js をロードする必要がありますwp_enqueue_script()。そうすれば、Wordpress 機能wp_localize_script()を使用して、好きな情報をそのスクリプトで利用できるようにすることができます。

詳細: http://codex.wordpress.org/Function_Reference/wp_localize_script

CSS

CSS ファイルは既にテーマ ディレクトリにあるはずなので、相対パスを使用できます。

于 2015-02-04T23:21:23.910 に答える
1

Chris Herbert はうまく機能しますが、ボタンの例など、これを innerHTML に書き込む必要がある場合:

1.) example.php ファイルに挿入します。

<?php 
function loadDirectory() { ?>
<script type="text/javascript">
    var theme_directory = "<?php echo get_template_directory_uri() ?>";
</script> 
<?php } 
add_action('wp_head', 'loadDirectory'); ?>

2.) script.js ファイル内:

document.getElementById('exampleButton').innerHTML = '<img src="' + theme_directory + '/svg/icons/cursor.svg" width="32" height="32" title="">Example';

多分それは助けます

于 2020-01-13T13:35:21.967 に答える