我正在尝试加载video format
使用AJAX
的所有帖子,但我的请求一直在死,我无法弄清楚原因。我没有得到任何错误。我总是得到status 200
。我不能为我的生活弄明白而且我感觉它可能是非常小的东西。
这是我的表格:
<form role="search" method="get" id="searchform" action="//localhost:3000/">
<div class="input-group">
<input type="text" class="input-group-field" value="" name="s" id="s" placeholder="Start Your Search">
<input type="hidden" name="hidden" value="video-gallery">
<div class="input-group-button">
<button type="submit" id="searchsubmit" class="button">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</div>
</form>
这是我的jQuery
function ajaxVideoSearch(){
$(document).on('click','#searchsubmit',function(e){
e.preventDefault();
var $form = $(this).parent().parent();
var $input = $form.find('input[name="s"]');
var query = $input.val();
var $content = $('.gallery-container');
$.ajax({
url: templateURL + '/page-templates/ajax-search.php',
type: 'POST',
data: {query : query},
beforeSend: function() {
$content.addClass('loading');
},
success: function(response) {
$content.html(response);
}
});
});
}
以下是包含我的查询ajax-search.php
<?php if($_POST['query']) { ?>
<h1>Search Query: <?php echo $_POST['query']; ?></h1>
<?php } ?>
<div class="row medium-up-3">
<!-- query video post format -->
<?php
$query = $_POST['query'];
$search = new WP_Query( array(
's' => $query,
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array('post-format-video')
)
),
));
if($search->have_posts()) { while($search->have_posts()) { $search->the_post();
?>
<div class="column column-block" title="Play Video" data-title="<?php the_title(); ?>" data-video="<?php the_field('video_link'); ?>">
<a href="#!"><?php the_post_thumbnail(); ?></a>
<h5 class="video-title white-heading"><?php the_title(); ?></h5>
<p class="video-body white-p"><?php echo get_the_content(); ?></p>
</div>
<?php }
}else{echo '<p>hello</p>';}
?>
</div>
这是我在回复中得到的。它似乎在第三行之后死亡。我明白了:
<h1>Search Query: clearplex</h1>
<div class="row medium-up-3">
<!-- query video post format -->
答案 0 :(得分:1)
好像你正在使用非WP文件。为了在没有WP模板层次结构中使用WP功能,您需要包含wordpress基本文件以使用WP_*
函数。
尝试在 ajax-search.php
中添加两行include_once $_SERVER['DOCUMENT_ROOT'].'/wp-blog-header.php';
header("HTTP/1.1 200 OK");
的 Ajax的search.php中强>
<?php
include_once $_SERVER['DOCUMENT_ROOT'].'/wp-blog-header.php';
header("HTTP/1.1 200 OK");
if($_POST['query']) { ?>
<h1>Search Query: <?php echo $_POST['query']; ?></h1>
<?php } ?>