Головоломка
Я работаю над пользовательской темой WordPress. Я создал пользовательские типы сообщений и пользовательские таксономии, некоторые из которых являются стилем тегов (а не стилем категорий). Все работает как надо, и соответствующие таксономии появляются там, где должны, в соответствующих типах контента ('show_in_rest' => true
).
НО я хотел бы добавить список существующих на данный момент тегов к описанию в блоке тегов.
Сейчас в инструкциях для тегов написано: "Разделяйте запятыми или клавишей Enter". Я хотел бы добавить что-то вроде «Существующие теги:», а затем список тегов. В идеале это должно генерироваться динамически, чтобы по мере добавления клиентами новых тегов список обновлялся. Однако для конкретного сайта, над которым я работаю, даже статический текст был бы лучше, чем ничего.
Что у меня есть до сих пор
Я нашел кого-то, задавшего похожий вопрос, и попытался использовать код одного из ответов. Я использую модульный подход, поэтому я поместил enqueue_script в отдельный php-файл, который я require_once
-инг...
В functions.php у меня есть:
...
require_once("lib/gutenberg/tag_options.php");
...
В tag_options.php у меня есть:
<?php
/**
* Add a list of available tags to tag panels in the gutenberg editor.
*/
function radicati_tag_options() {
wp_enqueue_script(
'gutenberg-tag-options',
get_stylesheet_directory_uri() . '/lib/gutenberg/tag_options.js',
['wp-blocks', 'jquery'],
1.0,
false
);
}
add_action('enqueue_block_editor_assets', 'radicati_tag_options');
И в tag_options.js у меня есть:
window.onload = function() {
// This is code I found on the internet,
// aimed at creating a custom panel...
var el = wp.element.createElement;
function customizeProductTypeSelector(OriginalComponent) {
console.log(OriginalComponent);
return function(props) {
console.log(props.slug);
// The slug of one of my custom tag-style taxonomies is "topic"
// That's what I'm seeing in console.log, so I feel like I might
// be on the right track!
// Once I get this figured out, if need be I can write custom code
// for each of my custom tag-style taxonomies :)
if (props.slug === "topic") {
return el("div", {}, "Product Type Selector");
HELP! THIS IS WHERE IT ALL FALLS APART!
I CAN *REPLACE* THE CONTENTS OF THE TAG BLOCK
(AND THUS RENDER IT NOT A TAGS BLOCK ANYMORE)
BUT I JUST WANT TO ADD A PARAGRAPH CONTAINING
SOME TEXT, INCLUDING A LIST OF EXISTING TAGS
TO THE OTHERWISE PERFECTLY FUNCTIONAL BLOCK!
} else {
return el(OriginalComponent, props);
}
};
}
wp.hooks.addFilter(
"editor.PostTaxonomyType",
"my-custom-plugin",
customizeProductTypeSelector
);
};
ТИА
К сожалению, документация по работе с Гутенбергом все еще довольно неоднородна, так что это все, что я смог получить. Я признаю, что мой React такой же схематичный, так что это жалкое сочетание :laughing: Если у кого-то из вас есть какие-нибудь подсказки, чтобы бросить мне путь, я был бы очень признателен за вашу помощь!