Я работаю над системой пользовательских отзывов. В этом проекте необходимо иметь и 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() {}
Способы, которые я пытался объявить глобальными переменными;
- global $ review_edit_id; $ review_edit_id = value;
- $ GLOBALS ['review_edit_id'] = $ _POST ['table_id']; // Как видно из кода ниже;
Способы, которые я пытался прочитать переменные:
- global $ review_edit_id; var_dump ($ review_edit_id); // То же, что и использование баз данных с глобальным $ wpdb;
- var_dump ($ GLOBALS ['review_edit_id']);
- echo $ GLOBALS ['review_edit_id'];
Я новичок в WordPress и работаю с ним уже около 4 недель. Я думаю, это весело, но я застрял в этой части со вчерашнего дня. Любая помощь будет значительно сокращена (и извините за большой объем кода).