Деактивуйте поради Гутенберга назавжди - не Гутенберг


11

Мені дуже подобається Гутенберг, однак поради на початку завантаження кожної сторінки зводить мене з розуму. Я хотів би вимкнути поради щодо навіювання назавжди і назавжди за допомогою коду.

Будь ласка, не публікуйте плагін "Вимкнути Гутенберг", я вже бачив це. Я хочу зробити це через пару рядків коду в моїй темі.

Має бути гачок, але я не міг його знайти. Дякую за підказку.

введіть тут опис зображення

Відповіді:


12

введіть тут опис зображення

Оновлення №1:

Після запитання від @leymannx я перевірив, як зберігаються ці налаштування. Виявилося, що налаштування не є постійними, вони зберігаються у браузері як localStorage.

key: WP_DATA_USER_{id}:
value: {
    "core/nux":{
        "preferences":{
            "areTipsEnabled":false,
            "dismissedTips":{}
        }
    },
    //"core/edit-post"
    //...

Оновлення №2:

Підказки Гутенберга можна відключити, використовуючи dispatch('core/nux').disableTips()( пакет NUX ) та гачок дій enqueue_block_editor_assets.

файл function.php :

function se334561_editor_tips() {

    wp_enqueue_script(
        'se334561-js',
        // --- to use in plugin ---
        // plugins_url('/disable-tips.js', __FILE__),
        get_stylesheet_directory_uri() . '/disable-tips.js',
        array('wp-blocks')
    );
}
add_action('enqueue_block_editor_assets', 'se334561_editor_tips');

файл enable-tips.js :

jQuery(document).ready(function(){
    var isVisible = wp.data.select('core/nux').areTipsEnabled()
    if (isVisible) {
        wp.data.dispatch('core/nux').disableTips();
    }
});

Це глобально для кожного користувача? Чи є спосіб налаштувати це також за кодом? Так що коли я надсилаю плагін клієнту, він відключає поради, коли цей плагін активується?
leymannx

1
Якщо це прапорець з можливістю в області адміністрування, він не зможе переключити його на всі, оскільки значення повинні бути збережені десь, у коді ви повинні мати змогу встановити це значення для всіх користувачів у програмі init чи щось подібне, спробуйте знайти, де він зберігає цю цінність у БД
Даніель Вікерс

1
@leymannx Для цього знадобиться додатковий код (js + php), який після зміни areTipsEnabledзаписує стан у БД та відновлює його, коли користувач входить у систему.
nmr

1
Це приголомшливо, я спробую це завтра і перевіряю відповідь, чи працює. Дякую!
користувач3135691

1
@ user3135691 У плагіні файл замініть get_stylesheet_directory_uri() . '/disable-tips.js' на plugins_url('/disable-tips.js', __FILE__).
нмр

2

Як @nmr з'ясував, це, здається, зберігається лише для браузера. Хоча я знайшов вирішення, щоб просто приховати це через CSS. Швидкий і брудний.

functions.php:

// Add backend styles for Gutenberg.
add_action('enqueue_block_editor_assets', 'gutenberg_editor_assets');

function gutenberg_editor_assets() {
  // Load the theme styles within Gutenberg.
  wp_enqueue_style('my-gutenberg-editor-styles', get_theme_file_uri('/assets/gutenberg-editor-styles.css'), FALSE);
}

assets/gutenberg-editor-styles.css:

.components-popover.nux-dot-tip {
  display: none !important;
}

Джерело: Створення стилів редактора тем для Гутенберга


Так, це рішення мені також прийшло в голову, але, як ви вже сказали: воно швидко забрудниться. Дякую за твою допомогу.
користувач3135691
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.