Объявление и использование глобальных переменных в пользовательском пункте меню администратора - PullRequest
1 голос
/ 26 февраля 2020

Я работаю над системой пользовательских отзывов. В этом проекте необходимо иметь и ID переданный из функции обратного вызова, которая объявлена ​​ниже:

add_action( 'wp_ajax_edit_review', 'edit_review_callback' );
function edit_review_callback() {
  check_ajax_referer( 'edit-review-function', 'security' );

    $GLOBALS['review_edit_id'] = $_POST['table_id'];
    echo $GLOBALS['review_edit_id'];
    die();
}

Эта функция вызывается так:

            $(".edit_review").click(function() {

                    //Select the right id for selecting right row
                    var tr = $(this).closest('tr');
                    var td = tr.find('td:eq(0)').text();

                    //Create data to send withs security nonce
                    var data = {
                            action: 'edit_review',
                            security: '<?php echo $ajax_nonce_edit; ?>',
                            table_id: td
                    };

                    //Send ajax-request
                    $.post(ajaxurl, data, function(response) {
                            alert( 'Response: ' + response );
                    });

                    var url = "<?= get_site_url() . '/wp-admin/admin.php?page=sub_menu_item_two_review'?>";
                    $(location).attr('href',url);

    });

Я хочу установить эти глобальные переменные, чтобы использовать их в моем пользовательском пункте меню. Который объявлен так:

add_submenu_page(
    'review_page_slug',
    'review_menu_page',
    'Edit review',
    'manage_options',
    'sub_menu_item_two_review',
    'edit_review_render'
);

Где-то здесь, где я хочу использовать переменную:

function edit_review_render() {}

Способы, которые я пытался объявить глобальными переменными;

  1. global $ review_edit_id; $ review_edit_id = value;
  2. $ GLOBALS ['review_edit_id'] = $ _POST ['table_id']; // Как видно из кода ниже;

Способы, которые я пытался прочитать переменные:

  1. global $ review_edit_id; var_dump ($ review_edit_id); // То же, что и использование баз данных с глобальным $ wpdb;
  2. var_dump ($ GLOBALS ['review_edit_id']);
  3. echo $ GLOBALS ['review_edit_id'];

Я новичок в WordPress и работаю с ним уже около 4 недель. Я думаю, это весело, но я застрял в этой части со вчерашнего дня. Любая помощь будет значительно сокращена (и извините за большой объем кода).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...