使用带第二个参数的数组的ADD_ACTION?

时间:2021-07-19 作者:shenkwen

我正在浏览Astra主题的一些源代码,在theme/astra/inc/class-astra-loop.php:

class Astra_Loop {

    .....
    public function __construct() {

        add_action( \'astra_content_loop\', array( $this, \'loop_markup\' ) );

 .....
第二个参数不应该是函数吗?显然,这里的第二个参数是一个数组。我查过了json_encode(array( $this, \'loop_markup\' )), it输出[{},"loop_markup"]. 这是怎么回事?

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

第二个参数不应该是函数吗?

第二个参数应该是类型为的值callable. callables是PHP中的基本类型。

E、 g.以下是一些有效的可调用项:

等效值\'test\'test()[ $obj, \'test\' ]$obj->test()[ \'foo\', \'bar\' ]foo::bar()function() {...} 或关闭$foo = function(){...}; $foo();

等等,see the official docs at php.net for more details.

相关推荐

如何在unction.php中更改图片url?

例如,我的图像url是https://aa.com/wp-content/uploads/2021/07/x-600x600.jpg我想把它改成https://images.s3.us-east-2.amazonaws.com/aa.com/wp-content/uploads/2021/07/x-600x600.jpg或https://images.s3.us-east-2.amazonaws.com/aa.com/wp-content/uploads/2021/07/x-600x600.jpg.web