PHP AJAX получить данные предыдущего класса

Благодаря этому запросу я создал плагин, который позволяет задавать запрос и затем извлекать некоторые сообщения из цикла.

Я хотел бы реализовать кнопку AJAX для загрузки большего количества сообщений.
Моя цель — получить предыдущий набор данных в классе в ajax. У него будет многоклассный экземпляр на той же странице.

Как правильно делать такие вещи?

Вот мой код:

class class_name {

protected $data;

public function __construct($name) {
$this->data = $this->get_data($name);
$this->show();
}

public function get_data($name) {
$info = get_page_by_title($name);
$id   = $info->ID;
$meta_keys = get_post_custom_keys($id);
if (empty($meta_keys)) {
return;
}
foreach ($meta_keys as $meta_key) {
$meta_values = get_post_custom_values($meta_key, $id);
if (strrpos($meta_key, $this->plugin_slug) !== false) {
foreach ($meta_values as $meta_value) {
$meta_value = maybe_unserialize($meta_value);
$data[$name][$meta_key] = $meta_value;
}
}
}
return $data[$name];
}

public function show() {
$this->loop();
}

public function loop() {
$query_args = $data[$name];
query_posts($query_args);
while (have_posts()) : the_post();
$output  = the_title();
echo $output;
endwhile;
wp_reset_query();

}

}

add_action('wp_ajax_load_more', array(class_name_ajax, 'load_more'));
add_action('wp_ajax_nopriv_load_more', array(class_name_ajax, 'load_more'));

class class_name_ajax extends class_name {

protected $data;

public function load_more() {

$nonce = $_POST['ajax_nonce'];

if ( !wp_verify_nonce( $nonce, 'ajax_nonce' ) ) {
die ();
} else {
// $this undefined
parent::loop(); // I woould like to loop with the data set for current name
}
die();
}

}

new class_name('name1');
new class_name('name2');

Запрос Ajax работает нормально, но я не могу получить предыдущий.

РЕДАКТИРОВАТЬ:

Может быть, это будет просто, если я установлю глобальную переменную в моем class_name, а затем получу его своим class_name_ajax в ajax? Но как я могу передать набор переменных в классе другому классу с помощью ajax (без javascript)?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector