Wordpress AJAX调用宽度admin-AJAX.php返回空结果

Wordpress AJAX调用宽度admin-AJAX.php返回空结果,php,ajax,wordpress,Php,Ajax,Wordpress,我有一个带有选择框的ACF自定义字段,现在我想用AJAX返回所选选项,因此在我的functions.php-文件中我写了以下内容: function get_movies(){ $posts = get_field('choose_movies'); if( $posts ): ?> <?php foreach( $posts as $p ): ?> <div class="movie-item"> &l

我有一个带有选择框的
ACF
自定义字段,现在我想用AJAX返回所选选项,因此在我的
functions.php
-文件中我写了以下内容:

function get_movies(){

$posts = get_field('choose_movies'); 

    if( $posts ): ?>
    <?php foreach( $posts as $p ): ?>
        <div class="movie-item">
            <a href="<?php echo get_permalink( $p->ID ); ?>">
                <div class="movie-wrapper">
                    <?php $image = get_field('movie_image', $p->ID); ?>
                        <div class="movie-image" style="background-image:url('<?php echo $image['url']; ?>')"></div>
                            <div class="content">
                                <p><?php the_field('movie_title', $p->ID); ?></p>
                            </div>
                       </div>
                </div>
            </a>
        </div>
      <?php endforeach; ?>
     <?php endif; ?>
<?php }

add_action('wp_ajax_nopriv_get_movies', 'get_movies');
add_action('wp_ajax_get_movies','get_movies');
数据
为空,例如给我
0
-有人能告诉我我做错了什么吗

编辑

好的,我添加了以下几行来传递posted:

function get_movies( $post ){
   global $wpdb;
   $pid = $post->ID;
   $posts = the_field('choose_movies', $post->ID);
   ...
}

但是,
$posts
仍然是空的-这真的让a..

什么是
var_dump($posts)返回?此外,还需要添加
wp_die()
在你的
get\u movies()
函数的末尾。嗯,好的,实际上
var\u dump($posts)
不返回任何内容:-/这就是为什么:P您需要找出
get_field()
不返回任何帖子的原因,解决这个问题,您就可以开始了。您遇到了上下文问题。WordPress进行AJAX处理时没有当前帖子。所以,您需要在get_field()中指定一个post id.@magenta,比如如何?
function get_movies( $post ){
   global $wpdb;
   $pid = $post->ID;
   $posts = the_field('choose_movies', $post->ID);
   ...
}