Manchmal benötigen Sie für bestimmte Seiten-Templates keinen Inhaltseditor. Dies ist nützlich für Dankesseiten und andere Seiten mit festem Text, die möglicherweise keinen Inhalt benötigen.
Anweisungen: Fügen Sie den folgenden Code zur functions.php-Datei Ihres WordPress-Themes hinzu.
Sie müssen den Dateinamen des Templates im Code ändern. Derzeit ist es submit.php, aber Sie können es durch jeden Dateinamen ersetzen.
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');
}
}
Sie können auch benutzerdefiniertes CSS für den WordPress-Editor hinzufügen.
es funktioniert bei mir nicht 🙁
Wenn sich das Template in einem Ordner befindet, müssen Sie möglicherweise dieses Muster verwenden: if($template_file == ‘templates/template-example.php’){ // ändern Sie den Template-Namen und den Ordnernamen, um den richtigen Pfad anzugeben
Stellen Sie außerdem sicher, dass Sie die Seite im Browser aktualisieren.
Gerade mit WordPress 6.8.1 getestet, funktioniert
Sie verweisen hier wahrscheinlich auf die falsche Datei oder den falschen Pfad
$template_file === ‘page-template/page-template.php’
Überprüfen Sie doppelt, indem Sie die ID anstelle des Seiten-Templates verwenden
if ( intval($post_id) === 24346 ) { remove_post_type_support(‘page’, ‘editor’); }
Gerade getestet und es funktioniert auf WordPress 6.8.1 – stellen Sie sicher, dass Sie den richtigen Pfad und die richtige Datei angeben. ($template_file === ‘template-page/template.php’)
Sie können auch nach Seiten-ID testen, um zu sehen, ob der Snippet funktioniert.
if ( intval($post_id) === 24346 ) { remove_post_type_support(‘page’, ‘editor’); }
Warum nicht verwenden:
get_the_ID();
anstatt:
$post_id = $_GET[‘post’] ? $_GET[‘post’] : $_POST[‘post_ID’] ;
get_the_ID(); muss sich innerhalb der WordPress-Schleife befinden, während dieser Snippet im Admin funktionieren muss.
Es hat für mich funktioniert! Tolle Sache.
Habe es meiner Snippet-Sammlung hinzugefügt.
Danke. Es hat für mich funktioniert.
Danke
Du hast mich gerade gerettet, mein Freund. Vielen Dank!
Nur zur Info, meine Admin-Seite wurde nach dem Einfügen des obigen Codes zunächst nicht geladen, da ein Serverfehler auftrat. Ich habe dies geändert:
$post_id = $_GET[‘post’] ? $_GET[‘post’] : $_POST[‘post_ID’] ;
if( !isset( $post_id ) ) return;
zu diesem:
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;
…und es hat das Problem behoben.
Nochmals vielen Dank!
-Chris
Danke, sehr nützlich
Das funktioniert bei mir nicht, ich bekomme die Fehlermeldungen "undefined index post" und "post_ID" im Backend
Danke dafür. Ich werde es ausprobieren müssen!
Cool, freut mich, dass es dir gefällt.