Às vezes, você não precisa de um editor de conteúdo para os modelos de página específicos. É útil para páginas de agradecimento e outras páginas que têm um texto fixo e podem não precisar de nenhum conteúdo.
Instruções: Adicione o seguinte código ao arquivo functions.php do seu tema WordPress.
Você precisa alterar o nome do arquivo do template no código. Atualmente é submit.php, mas você pode substituí-lo por qualquer nome de arquivo.
add_action( 'admin_init', 'hide_editor' );
function hide_editor() {
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;
if( !isset( $post_id ) ) return;
$template_file = get_post_meta($post_id, '_wp_page_template', true);
if($template_file == 'submit.php'){ // edit the template name
remove_post_type_support('page', 'editor');
}
}
Você também pode gostar de adicionar CSS personalizado para o editor do WordPress.
não está funcionando para mim 🙁
Se o modelo estiver em uma pasta, você pode ter que usar este padrão: if($template_file == ‘templates/template-example.php’){ // edite o nome do modelo e o nome da pasta para corresponder ao caminho correto
Além disso, certifique-se de atualizar a página no navegador.
Acabei de testar com o WordPress 6.8.1, funciona
Você provavelmente está referenciando o arquivo ou caminho errado aqui
$template_file === ‘page-template/page-template.php’
Verifique novamente usando o ID em vez do modelo de página
if ( intval($post_id) === 24346 ) { remove_post_type_support(‘page’, ‘editor’); }
Acabei de testar e funciona no WordPress 6.8.1 – certifique-se de que você está referenciando o caminho e o arquivo corretos. ($template_file === ‘template-page/template.php’)
Você também pode testar por ID de página para ver se o trecho funciona.
if ( intval($post_id) === 24346 ) { remove_post_type_support(‘page’, ‘editor’); }
Por que não usar:
get_the_ID();
em vez de:
$post_id = $_GET[‘post’] ? $_GET[‘post’] : $_POST[‘post_ID’] ;
get_the_ID(); precisa estar dentro do Loop do WordPress, enquanto este trecho precisa funcionar no admin.
Funcionou para mim! Ótimo.
Obrigado. Funcionou para mim.
Valeu
Você acabou de me salvar, meu amigo. Muito obrigado!
Só para você saber, minha página de admin inicialmente não carregou após um erro de servidor depois de colocar o código acima. Eu mudei isto:
$post_id = $_GET[‘post’] ? $_GET[‘post’] : $_POST[‘post_ID’] ; if( !isset( $post_id ) ) return;
para isto:
if ( isset ( $_GET[‘post’] ) )
$post_id = $_GET[‘post’];
else if ( isset ( $_POST[‘post_ID’] ) )
$post_id = $_POST[‘post_ID’];
if( !isset ( $post_id ) || empty ( $post_id ) )
return;
…e isso corrigiu o problema.
Obrigado novamente!
-Chris
obrigado, muito útil
isso não funciona para mim, recebo os erros undefined index post e post_ID no backend
Obrigado por isso. Terei que tentar!
Que bom que gostou.