主题函数中的AJAX动作.php

时间:2016-10-28 07:39:47

标签: php ajax wordpress

我已经发现wp_ajax_my_action仅在放入插件时才有效。

有谁知道是否可以在我的主题的functions.php中运行它?

2 个答案:

答案 0 :(得分:0)

是的,你可以:

在您的页面模板中:

var AjaxUrl = '<?php echo admin_url('admin-ajax.php'); ?>';

     $.ajax({
          type: "POST",
          url: AjaxUrl,
          data: {
                  action: 'your_action'
          },

在你的functions.php中:

  function your_action() {
    //write your code here
  } 
  add_action('wp_ajax_your_action', 'your_action');
  add_action('wp_ajax_nopriv_your_action', 'your_action');

答案 1 :(得分:0)

以Html格式传递操作

auto tup1 = std::tuple<long>(i);

你的jQuery看起来像这样

<form name="myform">
   <input type="hidden" name="action" value="custom_action">
   <input type="text"  name="get_first_name" >
   <input type="submit value="submit">
</form>

将此代码放在函数文件

    <script>
    jQuery(document).ready(function () 
    {
        var $this = jQuery(this); // Cache this

        jQuery.ajax({
            url: '<?php echo admin_url("admin-ajax.php") ?>', // Let WordPress figure this url out...
            type: 'post',
            dataType: 'JSON', // Set this so we don't need to decode the response...
            data: $this.serialize(), // One-liner form data prep...
            beforeSend: function () {
            // You could do an animation here...
            },
          success: function (data) 
            {
               if (data.status === 'success') {
                        alert("Success");
                        // Here, you could trigger a success message
                } else {
                        // fail 
                }
            }
        });
    });
  </script>