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
自分にとってより意味のある名前空間に変更してください。
楽しむ!