Support » Allgemeine Fragen » Sidebar fehlt auf Unterseitentemplate mit Twenty Twelve

  • Gelöst berlincode

    (@berlincode)


    Hi,

    ich habe ein Child-Theme auf Basis von Twenty Twelve gemacht. Jetzt habe ich Übersichtsseiten-Templates erstellt, auf denen die Unterseiten des jeweiligen Menüs angezeigt werden sollen.

    Leider wird die Sidebar, die eigentlich grade auf diesen Seiten wichtig wäre nicht angezeigt, obwohl der Aufruf im Sub-Template erfolgt.

    Ein zweites Problem ist, dass ich derzeit noch für jeden Menüpunkt ein eigenes Template erstellen muss, da ich den Elternseite über folgenden Parameter regele:

    query_posts(array(
                'post_parent' => 18,
    ...

    kann ich das dynamisch regeln?

    der Code für mein Übersichts-template lautet wie folgt:

    <?php
    /**
     * Diese Unterseite zeigt die untergeordneten Seiten in einer Übersicht an
     *
     * This is the template that displays all pages by default.
     * Please note that this is the WordPress construct of pages
     * and that other 'pages' on your WordPress site will use a
     * different template.
     *
     * Template Name: Uebersicht-Angebot
     * @package WordPress
     * @subpackage Hundeschule Heimann
     * @since Hundeschule Heimann 1.5
     */
    get_header();
    ?>
    
    <div id="primary" class="site-content">
        <div id="content" role="main">
            <?php
            query_posts(array(
                'post_parent' => 18,
                'post_type' => 'page',
                'post_status' => 'publish',
                'paged' => get_query_var('paged')
            ));
            ?>
            <div class="row">
                <?php if (have_posts()) while (have_posts()) : the_post(); ?>
                        <div class="col-lg-4 col-md-6 col-xs-12">
                            <div class="art_preview verlauf">
                                <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                                    <?php if (is_front_page()) { ?>
                                        <h2 class="entry-title"><?php the_title(); ?></h2>
                                    <?php } else { ?>
                                        <a href="<?php get_post_permalink(); ?>"><h1 class="entry-title"><?php the_title(); ?></h1></a>
                                        <div class="thumbnail100">
                                            <?php
                                            if (has_post_thumbnail()) {
                                                the_post_thumbnail();
                                            } else {
                                                // kein Thumbnail vorhanden
                                            }
                                            ?>
                                        </div>
                                        <?php the_excerpt(); ?>
                                    <?php } ?>
    
                                    <div class="entry-content">
                                        <?php #the_content();  ?>
                                    </div><!-- .entry-content -->
                                </div>
                            </div>
                        </div><!-- #post-## -->
                    <?php endwhile; ?>
            </div>
    
        </div><!-- #content -->
    </div><!-- #primary -->
    
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Thread-Ersteller berlincode

    (@berlincode)

    Ich habe jetzt herausgefunden, dass mein Problem mit der Einschränkung durch:

    query_posts(array({});

    zusammenängt. Wenn ich diese Anweisung herausnehme, gibt es keine Probleme mehr mit der Darstellung der Sidebar, allerdings werden dann nicht die Unterseiten des gewählten Menüpunkts angezeigt.

    Wie kann ich die Kinder der aktuellen Page als verkürzte Vorschau anzeigen ohne query_posts zu benutzen?

    Thread-Ersteller berlincode

    (@berlincode)

    jetzt geht’s 🙂

    <?php
    /**
     * Diese Unterseite zeigt die untergeordneten Seiten in einer Übersicht an
     *
     * This is the template that displays all pages by default.
     * Please note that this is the WordPress construct of pages
     * and that other 'pages' on your WordPress site will use a
     * different template.
     *
     * Template Name: Test2
     * @package WordPress
     */
    get_header();
    ?>
    
    <div id="primary" class="content-area">
        <div id="content" class="site-content" role="main">
    
            <?php /* The loop */ ?>
            <?php while (have_posts()) : the_post(); ?>
    
                <article id="post-<?php the_ID(); ?>" <?php post_class(); ?> style="margin-bottom: 0;
                         padding-bottom: 0;">
                    <header class="entry-header">
                        <?php if (has_post_thumbnail() && !post_password_required()) : ?>
                            <div class="entry-thumbnail">
                                <?php the_post_thumbnail(); ?>
                            </div>
                        <?php endif; ?>
    
                        <h1 class="entry-title"><?php the_title(); ?></h1>
                    </header><!-- .entry-header -->
    
                    <div class="entry-content">
                        <?php the_content(); ?>
                        <?php wp_link_pages(array('before' => '<div class="page-links"><span class="page-links-title">' . __('Pages:', 'twentythirteen') . '</span>', 'after' => '</div>', 'link_before' => '<span>', 'link_after' => '</span>')); ?>
                    </div><!-- .entry-content -->
    
                    <footer class="entry-meta">
                        <?php edit_post_link(__('Edit', 'twentythirteen'), '<span class="edit-link">', '</span>'); ?>
                    </footer><!-- .entry-meta -->
                </article><!-- #post -->
    
                <?php // comments_template(); ?>
            <?php endwhile; ?>
    
            <?php
            $mypages = get_pages(array('child_of' => $post->ID, 'sort_column' => 'post_date', 'sort_order' => 'desc'));
            foreach ($mypages as $page) {
                $content = $page->post_content;
                if (!$content) // Check for empty page
                    continue;
    
                $content = apply_filters('the_content', $content);
                ?>
    
                <div class = "col-lg-4 col-md-6 col-xs-12">
                    <div class = "art_preview verlauf">
    
                        <h2><a href="<?php echo get_page_link($page->ID); ?>"><?php echo $page->post_title; ?></a></h2>
                        <div class="thumbnail100">
                            <?php
                            if (has_post_thumbnail()) {
                                the_post_thumbnail();
                            } else {
                                // kein Thumbnail vorhanden
                            }
                            ?>
                        </div>
                        <div class="entry"><?php /* echo $content; */ the_excerpt(); ?></div>
    
                    </div>
                </div>
                <?php
            }
            ?>
    
        </div><!-- #content -->
    </div><!-- #primary -->
    
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

    Vielen Dank fürs Teilen deiner Lösung!

    Gruß, Torsten

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Das Thema „Sidebar fehlt auf Unterseitentemplate mit Twenty Twelve“ ist für neue Antworten geschlossen.