douchuang4402 2015-05-05 06:47
浏览 60

使用init的PHP类Wordpress:如何在函数之间传递变量?

I would like to break apart the function used in Class to make it easier to understand, however I cant seem to work out how to pass variables across between two or more functions while maintaining the WP INIT hook. I have simplified my code for this question.

I am not sure if using multiple add_action in __construct is the correct way to go about it.

Thanks.

//called from template/index.php
do_action('foo');

//in template/fuctions.php
add_action( 'init', array ( 'foo', 'init' ) );

class foo
{

 public $stillnotworking;

    public static function init()
    {
        new self;
    }

    public function __construct()
    {
        add_action( 'foo', array ( $this, 'part1' ) );
        add_action( 'foo', array ( $this, 'part2' ) );
    }

    public function part1()
    {
      $this->x = '123';
      $stillnotworking = '123';
    }

    public function part2()
    {          
        echo $this->x; //not working
        echo $stillnotworking;          
    }

    public function __toString()
    {          
        echo $this->x; //not working
        echo $stillnotworking;          
    }

    function __destruct() {

    }

}
  • 写回答

1条回答 默认 最新

  • doudun3040 2015-05-05 06:55
    关注

    You haven't declare your $x within you class. Try

    add_action( 'init', array ( 'foo', 'init' ) );
    
    class foo
    {
    
     public $x; 
     public $stillnotworking;
    
    public static function init()
    {
        new self;
    }
    
    public function __construct()
    {
        add_action( 'foo', array ( $this, 'part1' ) );
        add_action( 'foo', array ( $this, 'part2' ) );
    }
    
    public function part1()
    {
      $this->x = '123';
      $stillnotworking = '123';
    }
    
    public function part2()
    {          
        echo $this->x; //not working
        echo $stillnotworking;          
    }
    
    public function __toString()
    {          
        echo $this->x; //not working
        echo $stillnotworking;          
    }
    
    function __destruct() {
    
    }
    
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答