2012-02-16 2 views
0

私は様々なページに含まれているファイルから簡単な呼び出しを行っています。多くのページに含まれているファイルからajax呼び出しを作成する

$.post("wp-content/themes/biagetti_studio/inc/HandleBackground.php", {color:color}); 

問題は、私は、コールがJS(JSが同じディレクトリにあるなど、されているすべてのファイル)が含まれたファイルのパスからの相対だと思ったが、私はそれはからの相対だことを発見したということです私がlocalhost/biagettistudioにいる場合、スクリプトはlocalhost/biagettistudio/wp-content/themes/biagetti_studio/inc/HandleBackground.phpを呼び出しますが、私がlocalhost/biagettistudio/projectsにいる場合はlocalhost/biagettistudio/projects/wp-content/themes/biagetti_studio/inc/HandleBackground.phpを呼び出します。

私は

$.post("/wp-content/themes/biagetti_studio/inc/HandleBackground.php", {color:color}); 

絶対パスを置くことができるが、これは私がサイトのポートにしている場合、ベースディレクトリはルートではありませんし、問題を提示知っています。私は明らかにここで何が欠けていますか?

答えて

1

あなたはfooter.phpに

<script type="text/javascript"> 
    <?php 
    echo "var theme_dir ='" . get_theme_root() . ‘/’ . get_template() ."';"; 
    ?> 
</script> 

を使用することができます(そのためには、すべてのページで入手できます)と、あなたはあなたのものであればポートサイトを壊すことを心配する必要はありません。

あなたはその方法については、この

$.post(theme_dir + "/biagetti_studio/inc/HandleBackground.php", {color:color}); 
+0

) '(あなたのコードにはjavascript変数を囲む' ''がありませんでした。 –

1

...このようなスクリプトを呼び出すことができます:あなたが示唆したが、私は、 `get_bloginfo(「template_directory」を使用のように、私は何かをした最後に

var path = location.pathname.match(/(.*)\/wp-content\/.*/)[1]; 
$.post(path + "/wp-content/themes/biagetti_studio/inc/HandleBackground.php", {color:color}); 
関連する問題