我正在通过包含在各种页面中的文件进行简单的调用。
$.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} );
但是如果我必须移植该站点的基本目录不是根目录,则会出现问题。我在这里明显缺少什么?
答案 0 :(得分:1)
你可以使用
<script type="text/javascript">
<?php
echo "var theme_dir ='" . get_theme_root() . ‘/’ . get_template() ."';";
?>
</script>
在footer.php中(因此它可以在每个页面上使用),如果你移植网站,你就不必担心会破坏东西。
然后您可以像这样调用脚本......
$.post( theme_dir + "/biagetti_studio/inc/HandleBackground.php", {color:color} );
答案 1 :(得分:1)
怎么样:
var path = location.pathname.match(/(.*)\/wp-content\/.*/)[1];
$.post( path + "/wp-content/themes/biagetti_studio/inc/HandleBackground.php", {color:color} );