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);
...
}