WP Как получить значения font-family из блочной темы в компонент

Есть WordPress с любой установленной блочной темой. В его файле theme.json есть соответствующие настройки и параметры предоставленых шрифтов. Их можно корректно применять в стандарных гутенберг элементах в админке поста. Font component

Вопрос - Как для кастомного компонента получить данный список параметров значения font-family ? Пробовал вот так -


const fontFamilies = useSelect( ( select ) => {
        const s1 = select('core/block-editor')?.getSettings?.();
        const s2 = select('core/editor')?.getEditorSettings?.();
        const settings = s1 || s2 || {};
        const typ = settings.typography || settings.settings?.typography || settings.theme?.settings?.typography || {};

        let candidates = [];

        if (Array.isArray(typ.fontFamilies)) candidates = typ.fontFamilies;
        else if (typ.fontFamilies && typeof typ.fontFamilies === 'object') {
            Object.keys(typ.fontFamilies).forEach(k => {
                if (Array.isArray(typ.fontFamilies[k])) candidates = candidates.concat(typ.fontFamilies[k]);
            });
        }

        // fallback
        if (!candidates.length && Array.isArray(settings.fontFamilies)) candidates = settings.fontFamilies;

        console.log('DEBUG FONT FAMILIES RAW SETTINGS:', select('core/block-editor')?.getSettings?.() || select('core/editor')?.getEditorSettings?.());

        return candidates.filter(Boolean).map(f => {
            const name = f.name || f.label || f.slug || f.fontFamily || '';
            const slug = f.slug || null;
            const family = f.fontFamily || null;
            const value = slug || family || name;
            return { name, slug, family, value };
        });
    }, [] );

return (
        <>
...

<SelectControl
  label={ __( 'Title font family', 'timeline-full-widget' ) }
  value={ titleFontFamily || '' }
  options={ [
              { label: __( 'Default', 'timeline-full-widget' ), value: '' },
                            ...fontFamilies.map( (f) => ( { label: f.name || f.value, value: f.value } ) ),
           ] }
           onChange={ (val) => setAttributes({ titleFontFamily: val }) }
           
    />

</>
)


Но оно ничего не дает. А если в консоле обращаюсь непосредственно к console.log( wp.data.select('core/block-editor').getSettings() ); тоже получаю undefined Может подсказать, где искать те параметры ? Писал поиск основываясь на этой статье


Ответы (0 шт):