繁体   English   中英

在单独的PHP文件中进行WP调用自定义AJAX请求(WP查询)

[英]WP call custom AJAX request (WP Query) within separate PHP file

我试图在我的WP主题文件夹中的PHP文件中调用自定义AJAX函数,但是我无法获取它来获取输出。 我相信问题在于将WP查询链接到主要WP文件吗?

$.ajax({
url: "../../ajax-crew.php",
type: "POST",
data: {loadcrew: true},
etc etc etc ...

我的自定义ajax-crew.php文件位于主题文件夹中(当我简单地回显“测试”时,我将输出检索到页面上,但是当我尝试使用WP Query时,它不会创建任何输出:

<?php include '../../../wp-load.php'; ?>
<?php
if (isset($_POST['loadcrew'])){
$args = array(

'post_type' => 'team-members',
'order'     => 'rand',
'posts_per_page' => 1
);
query_posts($args);
if ( have_posts() ) : while ( have_posts() ) : the_post(); 
$thumb_id = get_post_thumbnail_id();
$thumb_url = wp_get_attachment_image_src($thumb_id,'featured-400-400', true);
$index = $wp_query->current_post;

echo $thumb_url[0];
endwhile;
endif;
} // end if isset
?>

您永远不要创建自己的AJAX处理程序PHP文件,这可能会带来安全风险。 WordPress拥有自己的AJAX处理程序文件,可以使用操作和过滤器将其挂钩,您应该使用它。 这篇有关WordPress Codex的文章详细说明了如何使用它,以及有关前端和后端使用的示例: Plugins中的AJAX

您应该尝试米兰的答案。 但是,如果您想知道代码在哪里无法返回响应,则可以使用WP php控制台转储变量(将代码移至function.php并在php脚本中调用函数)...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM