Запускать фрагмент кода при загрузке блока в wordpress
Я сделал нестандартный блок Гутенберга:
(function(blocks, components, element) {
var el = element.createElement;
var registerBlockType = blocks.registerBlockType;
var TextControl = components.TextControl;
registerBlockType("blocks/test-block", {
title: "Test Block",
description: "A custom block.",
icon: "businessman",
category: "common",
attributes: {
headline: {
type: "string"
}
},
edit: function(props) {
var headline = props.attributes.headline;
var onHeadlineChange = function(val) {
props.setAttributes({
headline: val
});
};
return el(TextControl, {
value: headline,
label: "Headline",
onChange: onHeadlineChange
});
},
save: function(props) {
alert('');
return el(
"h3",
{
className: "headline"
},
props.attributes.headline
);
}
});
})(window.wp.blocks, window.wp.components, window.wp.element);
Я хочу запустить функцию, когда блок загружен во внешнем интерфейсе.
Я пробовал в save
функция, но работает только тогда, когда блок сохранен на wp-dashboard.
Есть ли способ запустить функцию при загрузке блока?
1 ответ
Решение
Вы можете использовать параметр обратного вызова render в типе блока регистров внутри вашего файла PHP. подобно
register_block_type(
'blocks/test-block', array(
'editor_script' => 'index-js',
'render_callback' => 'recent_posts_block'
)
);
function recent_posts_block($attributes){
//your code here
}