X

Dezactivați editorul de conținut pentru un șablon de pagină specific

Fragmente de IsItWP

Uneori nu aveți nevoie de un editor de conținut pentru șabloanele specifice de pagină. Este util pentru paginile de mulțumire și alte pagini care au un text fix și s-ar putea să nu necesite conținut.

Instrucțiuni: Adăugați următorul cod în fișierul functions.php al temei dvs. WordPress.
Trebuie să schimbați numele fișierului șablonului în cod. În prezent este submit.php, dar îl puteți înlocui cu orice nume de fișier.

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

De asemenea, v-ar putea plăcea să adăugați CSS personalizat pentru editorul WordPress.

Comentarii   Lasă un răspuns

  1. nu funcționează pentru mine 🙁

    1. Dacă șablonul se află într-un folder, s-ar putea să fie necesar să utilizați acest model: if($template_file == ‘templates/template-example.php’){ // editați numele șablonului și numele folderului pentru a corespunde căii corecte

      De asemenea, asigurați-vă că reîmprospătați pagina în browser.

    2. Tocmai am testat cu WordPress 6.8.1, funcționează

      Probabil că faceți referire la fișierul sau calea greșită aici

      $template_file === ‘page-template/page-template.php’

      Verificați dublu utilizând ID-ul în loc de șablonul paginii

      if ( intval($post_id) === 24346 ) {
      remove_post_type_support(‘page’, ‘editor’);
      }

    3. Tocmai am testat și funcționează pe WordPress 6.8.1 – asigurați-vă că faceți referire la calea și fișierul corect. ($template_file === ‘template-page/template.php’)

      Puteți testa și după ID-ul paginii pentru a vedea dacă fragmentul funcționează.

      if ( intval($post_id) === 24346 ) {
      remove_post_type_support(‘page’, ‘editor’);
      }

  2. De ce nu folosiți:

    get_the_ID();

    în loc de:

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

    1. get_the_ID(); trebuie să fie în interiorul buclei WordPress, în timp ce acest fragment trebuie să funcționeze în administrator.

  3. Edvins Antonovs January 8, 2015 at 8:40 am

    Mi-a funcționat! Lucru grozav.
    L-am adăugat la colecția mea de fragmente.

  4. Mulțumesc. Mi-a funcționat.

  5. Marcos Nakamine May 15, 2014 at 1:33 pm

    Mulțumesc

  6. M-ai salvat, prietene. Mulțumesc enorm!

    Doar pentru informare, pagina mea de administrator inițial nu s-a încărcat după o eroare de server după ce am introdus codul de mai sus. Am schimbat asta:

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

    în asta:

    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;

    …și a rezolvat problema.

    Mulțumesc din nou!
    -Chris

  7. mulțumesc, foarte util

  8. acest lucru nu funcționează pentru mine, primesc erorile undefined index post și post_ID în backend

  9. Mulțumesc pentru asta. Va trebui să încerc!

    1.  Cool, mă bucur că îți place.

Adaugă un comentariu

Suntem bucuroși că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!