user12061795:
私は、カスタムグーテンベルクのブロックを作っています
(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-ダッシュボード上に保存されている場合にのみ動作します。
ブロックがロードされたとき、私は機能を実行することが可能な方法はありますか?
Brijesh Dhanani:
あなたの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
}