Entfernen Sie das Vorlagen-Dropdown für bestimmte Seiten

Ich habe eine Reihe von benutzerdefinierten Vorlagen, die verschiedenen Seiten in meinem Admin zugewiesen sind.

Ist es möglich, das Dropdown-Menü für bestimmte Seiten zu verstecken / sperren? Zum Beispiel habe ich eine Events Calendar Vorlage, die immer nur der Seite Ereigniskalender zugewiesen wird, so dass der Client dies nicht in der Dropdown-Box sehen muss, aber dennoch für Administratoren zugänglich sein sollte.

Danke für Hilfe oder Anleitung.

Solutions Collecting From Web of "Entfernen Sie das Vorlagen-Dropdown für bestimmte Seiten"

Das “Wie?”

Um eine Meta-Box loszuwerden, haben Sie mehrere Haken direkt nachdem sie in ~/wp-admin/edit-form-advanced.php hinzugefügt wurden. Den, den du brauchst, 'dbx_post_advanced' . Sie müssen nur die Meta-Box mit remove_meta_box() entfernen.

 < ?php defined( 'ABSPATH' ) or exit; /** Plugin Name: (#90253) Remove Page Template Drop Down */ add_action( 'dbx_post_advanced', 'wpse90235_remove_page_template_metabox' ); function wpse90235_remove_page_template_metabox() { remove_meta_box( 'pageparentdiv', null, 'side' ); } 

Das ist die einzige Chance, es zu tun.

Sie "Warum?"

Der Callback von page_attributes_meta_box() , der die Meta-Box erstellt, verwendet wp_dropdown_pages() und führt die Argumente über einen Filter namens 'page_attributes_dropdown_pages_args' mit zwei Argumenten aus: $dropdown_args und $post . Wenn Sie sich die Argumente ansehen, sehen Sie, dass das echo Argument auf 0/false und nichts ausgeben soll.

 $dropdown_args = array( 'post_type' => $post->post_type, 'exclude_tree' => $post->ID, 'selected' => $post->post_parent, 'name' => 'parent_id', 'show_option_none' => __('(no parent)'), 'sort_column' => 'menu_order, post_title', 'echo' => 0, ); 

... Leider wird das echo gleich danach erzwungen:

 < ?php echo $pages; ?> 

Eine Sache ist zu beachten: Wenn Sie die Template-Datei page-{$page_slug}.php oder page-{$ID}.php (passend zur Seite in der Admin-Oberfläche / Bereich / Backend) page-{$ID}.php dann wird diese Vorlage geladen, ohne dass sie es ist eine ‘Seitenvorlage’ im Dropdown-Menü.

Siehe das Template-Hierarchie-Diagramm im Codex.