X

Desativar o Content Editor para um modelo de página específico

Snippets by IsItWP

Às vezes, você não precisa de um editor de conteúdo para os modelos de página específicos. Ele é útil para páginas de agradecimento e outras páginas que têm um texto fixo e talvez não precisem de nenhum conteúdo.

Instruções: Adicione o seguinte código ao arquivo functions.php de seu tema do WordPress.
Você precisa alterar o nome do arquivo do modelo 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 ao editor do WordPress.

Comentários   Deixe uma resposta

  1. its not working for me 🙁

    1. If the template is in a folder, you may have to use this pattern: if($template_file == ‘templates/template-example.php’){ // edit the template name and folder name to match the correct path

      Also, be sure to refresh the page in the browser.

  2. Why not use:

    get_the_ID();

    instead of:

    $post_id = $_GET[‘post’] ? $_GET[‘post’] : $_POST[‘post_ID’] ;

    1. get_the_ID(); needs to be inside the WordPress Loop, whereas this snippet needs to work in the admin.

  3. Edvins Antonovs janeiro 8, 2015 em 8:40 am

    It worked for me! Great stuff.
    Added it to my snippet collection.

  4. Thank you. It worked for me.

  5. Marcos Nakamine maio 15, 2014 em 1:33 pm

    Tks

  6. You just saved me, my friend. Thanks a million!

    Just FYI, my admin page initially didn’t load on a server error after putting in the code above. I changed this:

    $post_id = $_GET[‘post’] ? $_GET[‘post’] : $_POST[‘post_ID’] ;
    if( !isset( $post_id ) ) return;

    to this:

    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;

    …and it fixed the issue.

    Thanks again!
    -Chris

  7. gracias, muy util

  8. this doesn’t work for me, I get the errors undefined index post and post_ID in the backend

  9. Thanks for this. I’ll have to try it!

    1.  Cool glad you like it.

Adicionar um comentário

Ficamos felizes por você ter optado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

WordPress Launch Checklist

A lista de verificação definitiva para o lançamento do WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento de seu próximo site WordPress em um ebook prático.
Sim, envie-me o livro eletrônico gratuito grátis!