Невозможно отобразить элемент с помощью Ajax с помощью php в шаблоне wordpress

#php #ajax #wordpress

Вопрос:

Я пытался заменить элемент с помощью вызова ajax, но появляется ошибка вот мой код

script.js

 jQuery(document).on('change','.joinee-filter-month',function(e){
        e.preventDefault();
        var category=jQuery(this).find('option:selected').val();
        console.log(category);
        jQuery.ajax({
            type : "POST",
            dataType: 'JSON',
            url : "/wp-admin/admin-ajax.php",
            data:{action:'month_filter',category:category},
            success:function(response)
            {
                jQuery('.rowAppend').html(response);
            },
            error:function(response)
            {
                console.log("function not working");
            }

        })
 

function.php

  function joinee_month_filter_function()
    {
            ?>
            <div>hello</div>
            <?php
    }
    add_action('wp_ajax_month_filter', 'joinee_month_filter_function');
 

ошибка: функция не работает

Ответ №1:

в function.php убедитесь, что вы вызываете функцию для вошедшего/гостевого пользователя

Для непользователей

https://developer.wordpress.org/reference/hooks/wp_ajax_nopriv_action/

Для пользователей

https://developer.wordpress.org/reference/hooks/wp_ajax_action/

 function joinee_month_filter_function()
{
        ?>
        <div>hello</div>
        <?php
    die();
}

add_action("wp_ajax_month_filter", "joinee_month_filter_function");
add_action("wp_ajax_nopriv_month_filter", "joinee_month_filter_function");
 

Также это учебник по использованию ajax в WordPress
https://www.smashingmagazine.com/2011/10/how-to-use-ajax-in-wordpress/

Комментарии:

1. с какой проблемой вы сталкиваетесь?

2. когда оставьте функцию в function.php пустой мой ajax не показывает ошибки, но при возврате чего-то он выдает ошибку

3. тогда это работает, но проблема в функции кода в function.php, Вы можете показать мне функцию, чтобы проверить ее