Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php ajax获取以前的类数据_Php_Ajax_Class_Extend - Fatal编程技术网

php ajax获取以前的类数据

php ajax获取以前的类数据,php,ajax,class,extend,Php,Ajax,Class,Extend,我创建了一个插件,允许设置一个查询,然后通过这个查询在循环中检索一些帖子 我想实现一个ajax按钮,以便加载更多的帖子。 我的目标是在ajax中获取类中以前的$data集。它将在同一页上有多个类实例 做这种事的正确方法是什么 这是我的代码: class class_name { protected $data; public function __construct($name) { $this->data = $this->get_data($n

我创建了一个插件,允许设置一个查询,然后通过这个查询在循环中检索一些帖子

我想实现一个ajax按钮,以便加载更多的帖子。 我的目标是在ajax中获取类中以前的$data集。它将在同一页上有多个类实例

做这种事的正确方法是什么

这是我的代码:

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请求工作正常,但我无法获得前一个请求

编辑:

也许,如果我在我的类名中设置一个全局变量,然后在ajax中检索它,我的类名,这会很简单吗?但是,如何使用ajax(不使用javascript)将一个类中的变量集传递给另一个类