如何在两种不同的类方法中使用变量?

时间:2018-07-04 10:43:37

标签: php wordpress class

我有以下代码:

<?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”。 好像我缺少什么,有人可以帮我吗?

1 个答案:

答案 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();