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

时间:2018-08-26 21:32:35

标签: 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">
            <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');

在我调用时在我的js文件中:

$.ajax({
  url: "/wp-admin/admin-ajax.php",
  data: {
    action: "get_movies"
  },
  success: function(data){
     console.log('DATA: ', data)
  }

data为空,例如给我0-有人可以告诉我我在做什么错吗?

编辑

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

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

但是,$posts还是空的-这确实使人感到痛苦。

0 个答案:

没有答案