Desative as dicas do Gutenberg para sempre - não o Gutenberg


11

Gosto muito de Gutenberg, no entanto, as dicas no início de cada carregamento de página me deixam louca. Gostaria de desativar as dicas irritantes para sempre e sempre via código.

Por favor, não poste o plug-in "Desativar Gutenberg", eu já vi isso. Eu quero fazer isso através de algumas linhas de código no meu tema.

Deve haver um gancho, mas não consegui encontrá-lo. Obrigado por uma dica.

insira a descrição da imagem aqui

Respostas:


12

insira a descrição da imagem aqui

Atualização # 1:

Depois de perguntar a @leymannx, verifiquei como essas configurações são armazenadas. Descobriu-se que as configurações não são permanentes, elas são salvas no navegador como localStorage.

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

Atualização # 2:

As dicas do Gutenberg podem ser desativadas usando dispatch('core/nux').disableTips()( pacote NUX ) e gancho de ação enqueue_block_editor_assets.

arquivo functions.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');

arquivo disable-tips.js :

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

Isso é global para todos os usuários? Existe uma maneira de configurar isso por código também? Para que, quando envio um plug-in para um cliente, ele desativa as dicas quando esse plug-in é ativado?
Leymannx #

1
Se for uma opção habilitada na área de administração, eles estarão ausentes para alterná-la para todos, pois os valores devem ser armazenados em algum lugar em que você deve, no código, poder definir esse valor para todos os usuários no init ou algo assim, tente descobrir onde ele armazena esse valor no DB
Daniel Vickers

1
@leymannx Isso exigiria código adicional (js + php) que, após a alteração areTipsEnabled, escreve o estado de DB e restaura-lo quando o usuário no.
RMN

1
Isso é incrível, vou testá-lo amanhã e verificar a resposta se funcionar. Obrigado!
user3135691

1
@ user3135691 No arquivo de plug-in, substitua get_stylesheet_directory_uri() . '/disable-tips.js' por plugins_url('/disable-tips.js', __FILE__).
Nr18 de

2

Como o @nmr descobriu, isso parece ser armazenado apenas no navegador. Embora eu tenha encontrado uma solução alternativa para simplesmente ocultá-lo via CSS. Rapido e sujo.

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

Fonte: Criando estilos de editor de temas para Gutenberg


Sim, essa solução também veio à minha mente, mas como você disse: é rápido e sujo. Obrigado pela ajuda.
user3135691
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.