• Hallo,

    wenn ich mir meine neusten Artikel auf der Startseite anzeigen lasse, wird jeder Artikel in einem kleinen Kasten dargestellt. In dem Kasten ist Links das Beitragsbild und rechts daneben due Überschrift samt den ersten Worten.

    Wechsel ich nun allerdings zu "Startseite zeigt: eine statische Seite" und ich lasse mir meine neusten Artikel unter meinem Menüpunkt "Blog" anzeigen, werden die Artikel nicht im selben Format wie oben beschrieben angezeigt, sondern die Artikel werden komplett und untereinander angezeigt.

    Nun zu meinen Fragen:

    1. Wie bekomme ich es hin, dass die Artikel unter "Blog" genauso angezeigt werden, wie auf der Startseite?

    2. Wie kann ich 2-3 ausgewählte Artikel auf der Startseite anzeigen lassen? (Nicht in der Sitebar, sondern so wie oben beschrieben)

    Danke!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ohne Hinweis auf das verwendete Theme oder einen Link zur Website, wird Dir kaum jemand Deine Fragen beantworten können. ;-)

  • Zu 1) Da müsstest Du die entsprechenden Teile des Templates für die Hauptseite (front-page.php) in ein zusätzliches Template für Seiten übernehmen. Dazu solltest Du ein Child Theme einrichten.

    Zu 2) Da müsstest Du ebenfalls ein Template erstellen, bei dem beispielsweise nur die Beiträge mit der Option "Beitrag auf der Startseite halten" (unter "Veröffentlichen" > "Sichtbarkeit") gezeigt werden.

  • Danke Edi!

    So viel zur Theorie. Wie mache ich das denn in der Praxis?

    Ein Child Theme habe ich erstellt. Ich würde jetzt so weiter machen:

    1. Aus meinem Theme ziehe ich mir die Datei "page.php" und lade diese in das Child Theme Verzeichnis hoch. Anschließend muss ich mir aus der front-page.php Datei des Themes den Teil kopieren, der die Artikel so anzeigen lässt, wie ich es oben beschrieben hab. Diesen packe ich dann in die page.php, die ich in das Child Theme Verzeichnis gelegt habe. Richtig?
    --> Welchen Teil muss ich dort denn kopieren?


    So sieht die front-page.php Datei aus:

    <?php
    /**
    * The main template file.
    *
    * This is the most generic template file in a WordPress theme
    * and one of the two required files for a theme (the other being style.css).
    * It is used to display a page when nothing more specific matches a query.
    * E.g., it puts together the home page when no home.php file exists.
    *
    * Link https://codex.wordpress.org/Template_Hierarchy
    *
    * @package gatsby
    */


    get_header(); ?>


    <div class="container">


    <div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">


    <?php
    global $wp_query;
    $total_pages = $wp_query->max_num_pages;
    $current_page = max( 1, get_query_var('paged') );
    $homepage_layout = esc_attr( get_theme_mod( 'gatsby_homepage_layout', 'default' ) );
    $count = 0;
    if ( have_posts() ) :


    /* Start the Loop */
    while ( have_posts() ) : the_post();


    /*
    * Include the Post-Format-specific template for the content.
    * If you want to override this in a child theme, then include a file
    * called content-___.php (where ___ is the Post Format name) and that will be used instead.
    */
    switch ( $homepage_layout ) {
    case 'home1':
    get_template_part( 'template-parts/content', 'grid-large' );
    break;


    case 'home2':
    get_template_part( 'template-parts/content', 'grid' );
    break;


    case 'home3':
    if ( $count == 0) {
    get_template_part( 'template-parts/content', 'grid-large' );
    }
    else {
    get_template_part( 'template-parts/content', 'list' );
    }
    break;


    case 'home4':
    if ( $count == 0) {
    get_template_part( 'template-parts/content', 'grid-large' );
    }
    else {
    get_template_part( 'template-parts/content', 'grid' );
    }
    break;


    case 'home5':
    if ( $count == 0) {
    get_template_part( 'template-parts/content', 'grid-large' );
    }
    elseif ( $count < 5 ) {
    get_template_part( 'template-parts/content', 'grid' );
    }
    else {
    get_template_part( 'template-parts/content', 'list' );
    }
    break;


    default:
    get_template_part( 'template-parts/content', 'list' );
    break;
    }


    $count++;
    endwhile;


    else :


    get_template_part( 'template-parts/content', 'none' );


    endif;


    if ( $wp_query->max_num_pages > 1 ) {
    echo '<div class="post-pagination">';
    the_posts_pagination(array(
    'prev_next' => True,
    'prev_text' => '',
    'next_text' => '',
    'before_page_number' => '<span class="screen-reader-text">' . __('Page', 'gatsby') . ' </span>',
    ));
    echo '</div>';
    }


    ?>
    </main><!-- #main -->
    </div><!-- #primary -->


    <?php get_sidebar(); ?>


    </div>


    <?php
    get_footer();

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!