Select2 Ajax没有在Wordpress中调用wp_ajax_(Javascript错误,不是WP错误)

时间:2016-01-22 19:53:51

标签: ajax wordpress select jquery-select2 jquery-select2-4

我已经尝试了我能想到的一切,但是我无法让Select2 Ajax调用Wordpress wp_ajax动作。

这是我的functions.php(不包括脚本的入队和本地化):

Fill

我的javascript:

function get_list_posts() {
  $search = sanitize_text_field( $_REQUEST['list_search'] );
  $post_type = sanitize_text_field( $_REQUEST['post_type'] );

  $post_query = new WP_Query(
    array(
      'post_type' => $post_type,
      'post_status' => 'published',
      's' => $search
    )
  );

  // Bail if we don't have any results
  if ( empty( $post_query->results ) ) {
    wp_send_json_error( $_POST );
  }

  $results  = array();
  foreach ( $post_query->results as $post ) {
    $results[] = array(
      'id' => $post->ID,
      'text' => $post->title
    );
  }

  wp_send_json_success( $results );
  die();
}
add_action( 'wp_ajax_list_posts', 'get_list_posts' );
add_action( 'wp_ajax_nopriv_list_posts', 'get_list_posts' );

在调试中,ajax获取数据函数和'return',但从不使它调用动作(或者至少PHP的函数永远不会运行)。有关如何弄清楚这有什么问题的任何建议?我相信这是一个javascript错误,而不是Wordpress错误,这就是为什么我在stackoverflow中有它,但如果我错了请纠正我。

1 个答案:

答案 0 :(得分:0)

与示例https://select2.github.io/examples.html#data-ajax一样,您需要在processResults函数中返回结果。