O novo editor chamado Gutenberg está aqui como plugin na 4.9 e como funcionalidade principal chamada Block Editor, na 5.0. Em relação a isso, geralmente é necessário determinar programaticamente qual editor é usado para editar post ou página no console do site. Como fazer isso?
Atualização: há várias respostas desatualizadas para perguntas semelhantes:
gutenberg_post_has_blocks()
- esta função existe apenas no plug-in Gutenberg, e não no 5.0 Coreis_gutenberg_page()
- o mesmothe_gutenberg_project()
- o mesmohas_blocks()
- não funciona (retorna falso) quando o Editor clássico está ativado e sua opção "Editor padrão para todos os usuários" = "Editor de bloco"- resposta simplesmente produz erro fatal
Call to undefined function get_current_screen()
Portanto, antes de comentar esta pergunta e resposta, faça um trabalho para verificar o que você propõe. Verifique agora, com 4.9 e a versão atual do WordPress, e todas as combinações possíveis de Classic Editor e Gutenberg / Block Editor. Ficarei feliz em discutir a solução testada, não os links para alguma coisa.
block-editor
KAGG Design
fonte
fonte
the_gutenberg_project()
função existe apenas no plug-in Gutenberg, mas não no WP 5.0 Core.Respostas:
Existem várias variantes:
Todas as variantes mencionadas podem ser processadas pelo seguinte código:
A função retorna true se o editor de blocos estiver ativo por qualquer meio e false - no caso, se o editor clássico estiver aqui. Esta função deve ser usada apenas após o
plugins_loaded
acionamento da ação.PS Após o lançamento da versão 1.2 do plug-in Classic Editor, o código é atualizado, pois as
classic-editor-replace
opções agora assumem valores notreplace
andno-replace
, butclassic
andblock
.fonte
Você pode usar
que é acionado apenas ao editar conteúdo com o Gutenberg.
fonte
enqueue_block_assets
?has_action( 'enqueue_block_assets' )
faz o mesmo quehas_filter( 'replace_editor'
no meu código. Retorna true se o Classic Editor estiver ativo e definir o Classic Editor como padrão. É melhor verificar o que você propõe antes de escrever.