我有以下代码:
<?php
class my_class{
private static $var;
function __construct(){
add_action('save_post',array($this,'func_a'));
add_action('wp',array($this,'func_b'));
}
function func_a($post_id){
$this->var[] = $post_id;
}
function func_b(){
var_dump($this->var);
}
}
$class = new my_class();
我想做的是:保存-在进行一些检查后将帖子ID添加到数组中。然后,在加载任何页面或帖子时,使用该数组帖子ID进行其他检查。当我保存帖子时,变量将按预期更新。问题是,在任何页面的变量上调用var_dump时,它将返回“ NULL”。 好像我缺少什么,有人可以帮我吗?
答案 0 :(得分:0)
请在下面使用它将为您提供帮助。
class my_class{
private $var = array();
private $final_val, $saved_val;
function __construct(){
add_action('save_post',array($this,'func_a'));
add_action('wp',array($this,'func_b'));
}
function func_a($post_id){
global $post;
if( get_option( 'class_option' ) ){
$this->saved_val = explode(",", get_option( 'class_option' ));
foreach ($this->saved_val as $key => $value) {
$this->var[] = $value;
}
}
$this->var[] = $post->ID;
$this->final_val = implode(",", $this->var);
update_option( 'class_option', $this->final_val );
}
function func_b(){
var_dump(get_option( 'class_option' ));
}
}
$class = new my_class();