我已经研究过修改现有的编辑器元素……但几乎没有。但我确实在Github得到了一个很好的回复,指出了这一点:https://github.com/WordPress/gutenberg/tree/master/packages/editor/src/components/post-taxonomies#custom-taxonomy-selector
显然,分类小组可以通过wp.hooks.addFilter
. 这是一个很好的开始!我已经能够使用该代码片段模拟一些虚拟代码,用Dashicon替换分类法面板。
(function ( hooks, editor, components, i18n, element, compose ) {
var el = wp.element.createElement;
var Dashicon = wp.components.Dashicon;
function CustomizeTaxonomySelector( OriginalComponent ) {
return function( props ) {
if ( RB4Tl18n.radio_taxonomies.indexOf( props.slug ) ) {
var testprops = { className: \'bacon-class\', icon: \'admin-users\' };
return el(
Dashicon,
testprops
);
} else {
return el(
OriginalComponent,
props
);
}
}
};
wp.hooks.addFilter(
\'editor.PostTaxonomyType\',
\'RB4T\',
CustomizeTaxonomySelector
);
} )( window.wp.hooks, window.wp.editor, window.wp.components, window.wp.i18n, window.wp.element, window.wp.compose )
显然,这不是很有用,但我必须从某个地方开始。所以我的问题是,有没有可能
OriginalComponent
函数并修改其输出?我知道如何使用PHP过滤器实现这一点,但在这种情况下
OriginalComponent
是
HierarchicalTermSelector
react函数,我不知道如何修改它呈现的内容,我想我缺少了成功搜索的词汇表。
在我的用例中,所有数据都几乎相同(我需要列出的所有术语),只是我想切换<input type="checkbox">
到<input type="radio">
. 或者我必须复制并编写自己版本的HierarchicalTermSelector
要素