Как использовать $ .ajax в пользовательской функции WP? - PullRequest
0 голосов
/ 02 октября 2019

Я работаю с Wordpress и хочу использовать функцию jQuery $.ajax() в моем пользовательском файле function.php в дочерней теме. Я новичок в WP, поэтому у меня нет идей, как использовать JQuery AJAX в WP.

Я понятия не имею, каким будет URL-адрес функции, откуда будут поступать данные JSON. Пожалуйста, помогите

<div class="rig-textGrid" style="cursor: pointer" data-toggle="modal" data-target="#myModal" onclick="GetDetailsCat('.$cat_id.')">'.$name.'</div>
function GetDetailsCat(cat_id) {
  data = "";
  url = "";
  data = "&cat_id=" + cat_id;
  url = "";

  $.ajax({
    data: data,
    type: "get",
    url: url,
    dataType: "json",
    error: function(resp) {
      alert("Somthing Went Wrong !!!");
    },
    success: function(resp) {}
  });
}

Ответы [ 2 ]

1 голос
/ 02 октября 2019

Как это Вы можете написать GetDetailsCat () в function.php

<?php  
function load_script_to_get_data(){
?>
<script>
function GetDetailsCat(cat_id) {
  $.ajax({
    type: "post",
    url: "<?php echo admin_url('admin-ajax.php'); ?>",
    dataType: "json",
    data : { action: "get_data", cat_id: cat_id }
    error: function(resp) {
      alert("Somthing Went Wrong !!!");
    },
    success: function(resp) {
    }
  });
}
</script>
<?php
}
add_action( 'wp_footer', 'load_script_to_get_data' );
1 голос
/ 02 октября 2019

Ищите это решение. Я думаю, что это обязательно поможет вам. для запуска ajax в Wordpress в URL-адресе ajax необходимо указать URL-адрес admin-ajax (admin_url ('admin-ajax.php')), затем необходимо опубликовать действие в данных, принадлежащих функции вашего functions.php

function GetDetailsCat(cat_id) {
  $.ajax({
    type: "post",
    url: "<?php echo admin_url('admin-ajax.php'); ?>",
    dataType: "json",
    data : { action: "get_data", cat_id: cat_id }
    error: function(resp) {
      alert("Somthing Went Wrong !!!");
    },
    success: function(resp) {
    }
  });
}

functions.php 

add_action( 'wp_ajax_get_data', 'get_data' );
add_action( 'wp_ajax_nopriv_get_data', 'get_data' );
function get_data() {
    $cat_id= esc_attr ($_POST['cat_id ']);
    $result = "Your custom code which you want to do run";
    echo  $result; //return value
    die();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...