我在哪里挂接,让服务器在PHP中对块属性更改做一些事情?

时间:2020-10-04 作者:philolegein

我正在创建一个新的块插件,我希望服务器在某些属性更改时做一些事情。我想我在找

function my_attribute_changed ( $block_ID, $attribute, $value ) {
        // do some stuff
}
add_action(\'gutenberg-attribute-change\', \'my_attribute_changed\', 10, 3);
但我在文件中没有看到任何这样的东西,我想也许我找错了地方,可以这么说。

Context我想人们可能有很多理由想这样做,但在这个特定的例子中,块的编辑函数有一个属性,即指向第三方API的URL。我的计划是设置一个wp\\u cron以定期获取数据,并将其存储在瞬态中。然后,块的save函数将通过AJAX获取瞬态数据。

1 个回复
SO网友:giorgos

我不确定我是否完全理解你的目标,但请检查是否render_block 执行所需操作,因为它将在块在前端渲染之前修改块的输出。用法示例:

add_filter( \'render_block\', \'my_dynamic_data\', 10, 2 );

function my_dynamic_data( $block_content, $block ) {

    if(\'my_value\' === $block[\'attrs\'][\'myAttribute\'] ) {
       // Do something
    }   

    return $block_content;
}

相关推荐

Row actions not showing? Why?

我建造了一个WP_List_Table 显示在我构建的自定义主题页面上。尽管我查看了Internet上关于WP\\U List\\U表格的所有可能信息,但在显示行操作时遇到了一些问题。任何帮助都会很好!class Testimonials_List_Table extends WP_List_Table { function __construct() { parent::__construct( array( \'singular\'=> \'te