Kann ein Benutzer eine untergeordnete Seite finden?

Beim Editieren einer Seite sieht der Benutzer statt des erwarteten Inhalts Folgendes:

[child-pages depth="1" sort_column="post_title"] 

Wie kann der Benutzer diese Seite finden, um sie zu bearbeiten?

Solutions Collecting From Web of "Kann ein Benutzer eine untergeordnete Seite finden?"

Dies ist ein Shortcode, den Sie im Post / Page-Inhalt sehen. Es werden höchstwahrscheinlich alle untergeordneten Seiten (bis zur Tiefe 1) der aktuellen Seite angezeigt. Shortcodes sind sehr verbreitet, aber ihre Ausgabe kann nicht im Post- / Seiteneditor von WordPress angezeigt werden, sondern nur im Frontend, wo sie über die function do_shortcode() generiert wird.

Der harte Weg:

So können Sie versuchen, Folgendes zu tun:

  1. Besuche alle Seiten ( /wp-admin/edit.php?post_type=page ) im Backend.
  2. Suchen Sie die Seite, die den Shortcode [child-pages] enthält.
  3. Suchen Sie die untergeordneten Seiten (Tiefe 1). Siehe den Screenshot unten.
  4. Bearbeiten Sie jede untergeordnete Seite nach Ihren Bedürfnissen.
  5. Sehen Sie sich die Shortcode-Seite erneut an.
  6. Erledigt.

Hier sind die untergeordneten Seiten der Tiefe 1 in der Tabelle ” Alle Seiten” :

Kinderseiten der Tiefe 1

Der einfache Weg:

Wir können das folgende Plug-in verwenden, um ein eigenes benutzerdefiniertes Metabox zu erstellen, das eine Liste aller aktuellen untergeordneten Seiten anzeigt.

Demo-Plugin:

 < ?php /** * Plugin Name: Child Pages Meta Box * Description: Child pages meta box for hierarchial post types * Author: Birgir Erlendsson (birgire) * Plugin URI: http://wordpress.stackexchange.com/a/158636/26350 * Version: 0.0.2 */ function wpse_current_child_pages_meta_box() { $post_types = get_post_types(); foreach ( $post_types as $post_type ) { if( is_post_type_hierarchical( $post_type ) ) { add_meta_box( 'wpse_child_pages', __( 'Current child pages' ), 'wpse_list_current_child_pages', $post_type, 'side', 'low' ); } } } add_action( 'add_meta_boxes', 'wpse_current_child_pages_meta_box' ); function wpse_list_current_child_pages( $post ) { $args = array( 'child_of' => $post->ID, 'echo' => 0, 'title_li' => '', 'post_type' => $post->post_type, 'walker' => new WPSE_EditLinks ); $style = ''; $list = wp_list_pages( $args ); if( ! $list ) $list = sprintf( '
  • %s
  • ', __( 'No child pages found!' ) ); printf( '%s
      %s', $style, $list ); } class WPSE_EditLinks extends Walker_Page { function end_el( &$output, $page, $depth = 0, $args = array() ) { $edit_url = admin_url( 'post.php?action=edit&post=' . $page->ID ); $edit_link = " "; $output = str_replace( ">". $edit_link. "

    wo wir wp_list_pages() , um all die harte Arbeit zu erledigen. Wir müssen jedoch nur die Bearbeitungsverknüpfungen hinzufügen. Aus diesem Grund erstellen wir einen benutzerdefinierten Seitenwanderer.

    Dieses Plugin aktiviert automatisch das Meta-Feld auf allen Post-Edit-Bildschirmen für jeden hierarchischen Post-Typ.

    Wo füge ich diesen Code hinzu?

    Erstellen Sie dieses Unterverzeichnis:

     /wp-content/plugins/wpse-current-child-pages-metabox/ 

    Dann speichern Sie das Code-Snippet in der Datei:

     /wp-content/plugins/wpse-current-child-pages-metabox/wpse-current-child-pages-metabox.php 

    und aktiviere das Plugin vom Backend:

     /wp-admin/plugins.php 

    Screenshots:

    Hier ist ein Screenshot, wie es funktionieren würde:

    Aktuelle untergeordnete Seiten

    und ohne untergeordnete Seiten:

    Keine Kinderseiten gefunden!

    Jetzt können Sie einfach auf den Link zum Bearbeiten der entsprechenden untergeordneten Seite klicken, die Sie ändern möchten.

    Viel einfacher 😉

    Gist / GitHub:

    Das Plugin ist hier auf Gist / GitHub verfügbar .