2017-05-24 52 views
0

我有一个脚本,显示一个框后,我单击下载链接在我的单个页面(这项工作)。与阿贾克斯加载.php文件(wordpress)

我也希望它加载一个特定的div的test.php。但由于某种原因,它不起作用。 test.php位于我的主题文件夹中。即使我试图将其广告到我的根目录,它也不会起作用。

<script> 
     $(function() { 
     $("body").click(function(e) { 
       if (e.target.id == "contentblock" || $(e.target).parents("#contentblock").size()) { 
        //alert("Inside div"); 
        if ($(e.target).is("a")) { 
         $('#afterdownload').fadeIn('slow'); 
         $('#ajax').load('test.php'); 
        } 
       }); 
      <?php ?> 
     } 
     } 
     }); 
     }) 
     </script> 

    <div id="ajax"></div> 

的test.php的文件中包含该

<h1>test</h1> 
    <p>You downloaded Post: <?php the_ID(); ?></p> 

回答

0

您需要呼应主题的完整路径:

$('#ajax').load('<?php echo get_template_directory_uri(); ?>/test.php'); 

此外,确保jQuery是运行前首先加载:

document.addEventListener("DOMContentLoaded", function(event) { 
    // your code here 
}); 
+0

还没有加载任何东西。 即使 $('#ajax')。load('wp-content/themes/papercraftplazaV2/test.php');也不起作用。 –

+0

检查您的控制台日志,看看您是否收到'$未定义'错误。 jQuery应该在脚本运行之前加载。您可以尝试添加一个侦听器,以确保在运行之前加载文档。我已经在上面编辑了我的答案。 – THN

+0

OOPS只是有一些额外的}在那里,不应该在那里! 它的工作原理! –