Dezaktywuj na zawsze wskazówki Gutenberga - nie Gutenberga


11

Bardzo lubię Gutenberga, jednak wskazówki na początku ładowania każdej strony doprowadzają mnie do szału. Chciałbym wyłączyć dokuczliwe wskazówki na zawsze i za pomocą kodu.

Proszę nie publikować wtyczki „Wyłącz Gutenberga”, już to widziałem. Chcę to zrobić za pomocą kilku wierszy kodu w moim motywie.

Musi być haczyk, ale nie mogłem go znaleźć. Dzięki za podpowiedź.

wprowadź opis zdjęcia tutaj

Odpowiedzi:


12

wprowadź opis zdjęcia tutaj

Aktualizacja nr 1:

Po zapytaniu od @leymannx sprawdziłem, jak te ustawienia są przechowywane. Okazało się, że ustawienia nie są trwałe, są zapisywane w przeglądarce jako localStorage.

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

Aktualizacja nr 2:

Wskazówki Gutenberga można wyłączyć za pomocą dispatch('core/nux').disableTips()( pakietu NUX ) i haka do akcji enqueue_block_editor_assets.

funkcje pliku. 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');

plik disable-tips.js :

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

Czy dotyczy to globalnie każdego użytkownika? Czy istnieje również sposób skonfigurowania tego dla każdego kodu? Więc kiedy wysyłam wtyczkę do klienta, dezaktywuje wskazówki, kiedy ta wtyczka zostanie aktywowana?
leymannx

1
Jeśli jest to pole wyboru z opcją w obszarze administracyjnym, będzie daleko, aby przełączać je dla wszystkich, ponieważ wartości muszą być przechowywane gdzieś, w kodzie powinieneś być w stanie ustawić tę wartość dla wszystkich użytkowników na init lub coś, spróbuj znaleźć gdzie przechowuje tę wartość w DB
Daniel Vickers

1
@leymannx Wymagałoby to dodatkowego kodu (js + php), który po zmianie areTipsEnabledzapisuje stan do DB i przywraca go, gdy użytkownik się zaloguje.
nmr

1
To niesamowite, wypróbuję to jutro i sprawdzę odpowiedź, czy to działa. Dziękuję Ci!
user3135691

1
@ user3135691 W plugin plik zastąpić get_stylesheet_directory_uri() . '/disable-tips.js' z plugins_url('/disable-tips.js', __FILE__).
nmr

2

Jak się dowiedział @nmr, wydaje się, że jest to przechowywane tylko w przeglądarce. Chociaż znalazłem obejście, aby po prostu ukryć je za pomocą CSS. Szybko i brudno.

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;
}

Źródło: Tworzenie stylów edytora motywów dla Gutenberga


Tak, to samo przyszło mi do głowy, ale jak już powiedziałeś: jest szybkie i brudne. Dziękuję za pomoc
user3135691 17.04.19
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.