我有一个带有选择框的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
还是空的-这确实使人感到痛苦。