Não é mais possível forçar a publicação com o Editor Clássico?

Não estou adotando os novos recursos de Bloco do WordPress e continuarei com o Clássico.

Acabei de notar que o plugin WP Discourse teve uma atualização para uma configuração que uso, Forçar Publicação:

Esta configuração só é aplicada quando o Editor de Blocos é usado para publicar posts.

Que pena, mas onde há vontade, há um caminho. Mais alguém encontrou esse problema e criou uma solução personalizada, algo para adicionar ao arquivo functions.php do tema, talvez?

Obrigado.

3 curtidas

Olá @oopsyscoops, sim, existem algumas limitações no suporte a ambos os editores. Você ainda pode usar a configuração “Publicar Automaticamente” com o editor clássico. Há algum problema em usá-la no seu caso?

2 curtidas

Publicar Automaticamente seria aceitável se este fosse um blog de usuário único.

No entanto, como um blog com vários autores, Forçar Publicação foi muito útil.

Antes que eu comece a procurar no changelog, você sabe de imediato em qual versão do WP Discourse essa funcionalidade foi movida para o editor de blocos e removida do editor clássico?

Não estou sugerindo que farei rollback para essa versão (o que seria uma péssima ideia), mas talvez eu possa fuçar no código e reintroduzir a antiga solução através do meu tema.

Espero que o WP Discourse não abandone completamente o Clássico eventualmente. Existem mais de 6 milhões (verificavelmente, pelo menos, mas provavelmente são mais) de sites ainda usando o Clássico, e tenho certeza de que milhões de pessoas continuarão usando recursos clássicos indefinidamente.

Eu pretendo fazer isso e suspeito que os recursos clássicos eventualmente se tornarão oficialmente (e opcionalmente) suportados no WP (sem depender de plugins) novamente após a demanda ficar clara, quando eles perceberem que, mesmo após anos, algumas pessoas simplesmente preferem o Clássico e não adotarão novos recursos de blocos.

2 curtidas

Entendo seu ponto de vista, mas isso pode ser apenas um caso de treinamento do autor e verificar se isso causa problemas na prática? Você conhece seus autores melhor do que eu, mas eu não descartaria isso como uma opção.

O editor clássico ainda é definitivamente suportado.

Duvido, mas já estive errado antes (pelo menos três vezes que eu saiba :wink: )

Um PR seria bem-vindo se você puder abordar os problemas que @simon estava tentando resolver ao removê-lo (veja por exemplo). Ele talvez possa explicar mais.

3 curtidas

Simplesmente não é prático. Sou editor há mais de uma década e treinei e gerenciei dezenas de escritores de todos os níveis de habilidade, de luditas completos a programadores. Tive apenas um punhado de bons escritores que também eram tecnologicamente experientes e organizados o suficiente para seguir TODAS as diretrizes que estabeleci para eles (sem dificuldades).

Eu poderia ser um Editor mais rigoroso (já sou bastante obcecado por detalhes), mas então perderia vozes valiosas. Há muitos ótimos escritores que contribuíram ao longo dos anos, que mal sabiam ligar um computador. Muitos deles têm uma curva de aprendizado apenas para aprender a publicar com o WordPress e gostariam de poder me enviar um documento do Word por e-mail. :squinting_face_with_tongue:

E assim, eu treino o melhor que posso, mas no final do dia, automação é sanidade.

De qualquer forma, adoraria saber mais sobre por que esse recurso é muito difícil de manter para o Clássico E o Bloco, se puder me dar um breve resumo, @simon? Para que valha a pena, tenho um parceiro em um projeto que insiste que eu permita que ele use o editor de Bloco (enquanto todos os outros na equipe usam o editor Clássico), então tenho alguma experiência misturando os dois, e entendo como isso pode se tornar uma dor de cabeça.

Obrigado

3 curtidas

Sim, seria ótimo ter a opção “Force Publish” funcionando com ambos os editores. Faz alguns anos desde a última vez que olhei para isso. Não tenho certeza qual foi a causa do problema, mas suspeito que seja algo que poderia ser resolvido.

3 curtidas

Ok, estamos analisando este arquivo:

/lib/discourse-publish.php

E comparando 2.1.2 e 2.1.3, aqui estão as únicas diferenças (relacionadas a Publicar Forçado):

if ( ( 0 === $force_publish_max_age ) || $post_time >= $min_date ) {

foi alterado para:

if ( ( ( 0 === $force_publish_max_age ) || $post_time >= $min_date ) && $is_rest_request ) {

E estas linhas adicionais foram adicionadas:

// A configuração de Publicar Forçado não pode ser facilmente suportada com os editores Bloco e Clássico. A variável $is_rest_request
// é usada para permitir que a configuração de Publicar Forçado seja respeitada apenas para posts publicados com o Editor de Bloco.
$is_rest_request = defined( 'REST_REQUEST' ) && REST_REQUEST;

Se eu tivesse que adivinhar, talvez a maneira antiga estivesse gerando erros no Editor de Bloco? Então, poderia ser tão simples quanto usar uma condicional?

is_block_editor ou use_block_editor_for_post podem funcionar:

if ( is_block_editor() ) {
	// faça do jeito novo
} else {
	// faça do jeito antigo
}
1 curtida

Quer tentar e fazer um PR?

1 curtida

Se você está falando comigo, eu definitivamente não vou entrar com tudo até que o @simon se lembre por que foi removido em primeiro lugar (ou refaça seus passos para aprender o que era novamente). Pode ser algum pesadelo desconhecido relacionado ao núcleo do WordPress, Discourse ou WP Discourse que não seja simplesmente um problema contido nestes poucos arquivos e linhas de código.