it-swarm.com.de

Hinzufügen von "Aktuelles aus dem Blog" zur Homepage

Ich habe ein großes Problem und keine Ahnung, wie ich es lösen soll :) Ich möchte meiner Homepage (statische Homepage, keine Blog-Posts) ein "Modul" hinzufügen, das die 2 neuesten Blog-Posts auf eine ganz bestimmte Art und Weise anzeigt und auf die zurück verlinkt Sie. Die Beiträge werden nur auf der Homepage und nicht auf jeder anderen Seite angezeigt, sondern die für die Seite verwendete PHP-Vorlage wird für alle benutzerdefinierten Seiten freigegeben.

Hier ist eine kurze Skizze davon

Photo of a paper sketch

Eine Seite, die dies wunderbar auf ihrer Homepage macht, ist SEOmoz (aber ich brauche nicht so viele Funktionen, nur den Titel des Blogposts, den Daumen, den Auszug und den Link, um mehr zu lesen).

Screenshot from seomoz.org

Gibt es eine einfache Möglichkeit, dies zu tun? (Plugins, Code, den Sie von überall kopieren/einfügen können?) oder kann ich jemanden bezahlen, der dies für mich aufschreibt?

2
Teekay

Persönlich verwende ich gerne get_posts() ( Codex ref ) für schnelle und schmutzige Loops.

Versuchen Sie in Ihrer front-page.php-Vorlagendatei Folgendes:

<?php

// Create a variable to hold our custom Loop results
$frontpageposts = get_posts( array( 
     'numberposts' => 2 // only the 2 latest posts
) );

// Create output only if we have results
// Customize to suit your HTML markup
if ( $frontpageposts ) { 

     foreach ( $frontpageposts as $fppost ) { 
          // setup postdata, so we can use template tags
          setup_postdata($fppost);
          ?>

          <div <?php post_class(); ?>>
               <h2><a href="<php the_permalink(); ?>"><?php the_title(); ?></a></h2>
               <div class="post-entry">
                    <?php the_post_thumbnail(); ?>
                    <?php the_excerpt(); ?>
               </div>
          </div>

<?php }
} 
?>

Auch hier müssen Sie das HTML-Markup entsprechend Ihren Anforderungen ändern.

1
Chip Bennett

Schöne Handschrift :)

Dies können Sie einfach tun, indem Sie überprüfen, ob die aktuelle Seite zu Hause ist, und indem Sie die beiden neuesten Blog-Beiträge abrufen.

    <?php
        if ( is_home() ) {

            query_posts("posts_per_page=2");
        }

        // run the Loop

        if ( have_posts() ) : while ( have_posts() ) : the_post(); 

    ?>

<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

<?php endwhile; ?>

<?php endif; ?>

Daraufhin werden die Blogpost-Titel angezeigt, die mit den Blogposts selbst verknüpft sind. Fügen Sie eine andere Funktion ein, die die benötigten Informationen abruft (z. B. the_excerpt ()).

Sie können Ihrer Abfrage Parameter hinzufügen, um sie präziser zu gestalten, z. B. Beiträge nur aus einer bestimmten Kategorie abrufen.

0
Fred Rocha

Eine noch einfachere Möglichkeit besteht darin, eine page-x.php-Datei in Ihrem Thema zu erstellen. X ist die ID der Seite, die Sie als Startseite verwenden möchten. Dies setzt voraus, dass Sie über einen FTP-Zugang verfügen, den Sie benötigen, da Sie Dateien erstellen können. Zum Beispiel wäre page-2.php die Vorlage für die Standard-WordPress-Beispielseite. Sie können jedoch nicht einfach if (have_posts ()) verwenden, da Sie sich auf einer Seite befinden. Dadurch wird der Inhalt der Seiten aufgerufen, auf der Sie sich befinden.

Es wäre besser, eine WP_Query zu verwenden.

$news = new WP_Query( array(
                           'category_name'=>'news',
                           'posts_per_page' => 2
                           )
                    );

if ($news->have_posts()) while ($news->have_posts()) : the_post(); ?>

Fahren Sie dann mit Ihrer Schleife fort. Lassen Sie mich wissen, wenn Sie mehr Details benötigen. Wo ich habe

'category_name' => 'news'

'news' sollte in die SLUG Ihrer Kategorie geändert werden.

0
Chadster_BAM