2015-02-07 3 views
0

я есть Ajax вызова для получения ответа, в файле ответов я использовал WordPress цикл и получить эту ошибку: Фатальная ошибка: Class «WP_Query» не найден ....AJAX Call - Не признает WP_Query

я хочу показать некоторые специальные содержимое страницы в некоторых DIV в index.php и возвращать результат с Ajax в index.php

Здесь:

<script> 
myfunc = function() 
{   
    $("#target").slideUp(300); 
    $("#target").slideDown(300,"swing",function() 
     {       
      splittedURL=window.location.href.split("#"); 
      $.post('<?php bloginfo('template_directory'); ?>/page.php','state='+splittedURL[1],function(data,status) 
      { 
       $("#target").html(data); 
      })  
     } 
    );       
} 
</script> 

и вот Страница:

<?php 
$state=$_POST["state"]; 
switch ($state) { 
    case "2755": 
     echo "<b>Ok 1<b/>"; 
     break; 
    case "2756": 
     echo "<b>Ok 2/b>"; 
     break;  
    default: 
    ?> 
    <!-- Page Load --> 
<div id="panel-box" class="panel panel-default"> 
    <div class="col-md-12 panel-heading"> 
    <?php 
    $my_query = new WP_Query('page_id=$state'); 
    while ($my_query->have_posts()): 
    $my_query->the_post(); 
    $do_not_duplicate = $post->ID;?> 
    <h3 class="col-md-11 panel-title p-m"><?php the_title();?></h3> 
    <div class="col-md-1 close p-m" onClick="$('#panel-box').slideUp(500)">X</div> 
    </div> 

    <div class="panel-body"> 
<?php the_content(); ?> 
    </div> 

<?php endwhile; ?> 
<?php wp_reset_query(); ?> 

<!-- End Page Load --> 
</div> 

    <?php 
} 
?> 
+0

Является ли 'wp-includes/query.php' включенным в страницу ajax перед вызовом' wp_query'? – Rhumborl

+0

Нет, должно быть включено? –

ответ

3

Найти этот код:

define('WP_USE_THEMES', false); 
require_once('../../../wp-load.php'); 

он должен определить в странице и нагрузки Wp функций.

+0

Обратите внимание, что путь для 'wp-load.php' может варьироваться в зависимости от того, где находится ваш файл, но это правильная идея, и концепция работала для меня. –