Frage

Für die Tausenden, die WP als CMS verwenden, besteht ein typischer Ansatz darin, die Option "A statische Seite" auf der Seite "Einstellungen"> lesen zu verwenden.

Ich bin jedoch in einem anderen Szenario: Unsere Titelseite zeigt statische Inhalte an (home.php Vorlage treibt das an) und wir haben eine sekundäre statische Seite (genannt Nachrichten) die die Liste der neuesten Beiträge anzeigen sollte (was Sie normalerweise auf der Titelseite eines durchschnittlichen Blogs finden).

Ich habe die Nachrichtenseite so eingerichtet, dass sie eine benutzerdefinierte Vorlage verwenden (Page-NewSindex.php); Basierend auf Twentyten's Archive.php-Vorlage zeigt diese Datei einen Header an, ruft rewind_posts () und ruft dann get_template_part ('Loop', 'NewSindex') auf, damit wir auf Loop.php (oder Loop-NewSindex.php enden existiert). Pfirsich.

Loop.php Hat eine typische Schleifenstruktur (wieder basierend auf Twentyten's Loop.Php -Vorlage - optimiert, um zu vereinfachen, da wir keine 3 -Art -Schleifen benötigen):

<?php while ( have_posts() ) : the_post(); ?>

Wenn wir jedoch auf die Seite zugreifen, scheint diese Schleife die aktuelle URL zu verwenden, um die zu angezeigten Beiträge zu bestimmen, als ob die Nachrichtenseite eine Kategorie definiert hätte - was für uns nicht der Fall ist. Was wäre die entsprechende Abfrageposts für mich, mit der ich die Query_Posts simulieren kann, die WP normalerweise für Sie läuft, wenn Sie auf die Titelseite eines typischen Blogs kommen?

War es hilfreich?

Lösung

Die Art und Weise, wie ich Beiträge in meinem Blog abrufe, besteht darin, Folgendes zu verwenden:

<?php $recentPosts = new WP_Query(); $recentPosts->query('showposts=5&cat=CAT_ID_GOES_HERE'); while($recentPosts->have_posts()): $recentPosts->the_post(); ?>

Dann würden Sie den Code erstellen, um die Anzeige jedes Beitrags zu steuern. Für ein wirklich einfaches Beispiel:

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

Am Ende der Beiträge müssen Sie dann nur Ihre während der Schleife beenden:

<?php endwhile; ?>

Andere Tipps

Nur um sicher zu sein - Sie verwenden nicht Reading Einstellungen hier überhaupt? Nur normale Startseite und normale statische Seite?

  • dein News Page ist eine statische Seite, sodass die Schleife (native WP -Schleife aus der URL) dies widerspiegeln sollte (also nicht sicher, wie es sich anscheinend um eine Kategorie handelt).
  • query_posts() ist eine Funktion, um eine solche native Schleife anzupassen. Sie sollten es hier nicht verwenden, da Sie versuchen würden, die statische Seite mit einer gewaltsamen in die Indexseite zu verwandeln, die in schrecklichen Fehler endet.
  • Sie können Custom verwenden WP_Query oder get_posts() Um einige Beiträge auf der statischen Seite anzuzeigen, werden Sie wahrscheinlich keine Pagination zum Laufen bringen.

Insgesamt habe ich das Gefühl, dass Sie das Rad hier neu erfinden. Settings > Reading Scheint ein perfektes Spiel zu sein.

  1. Front page mit Ihrem statischen Inhalt und front-page.php Schablone.
  2. Posts page Dadurch wird automatisch Standardschleife für die neuesten Beiträge verwendet oder kann mit angepasst werden home.php Schablone.

Das scheint genau wie das zu sein, was Sie zu bekommen versuchen, nein?

PS zwanzig loop.php verängstigt mich. Es sieht so aus, als ob Usability und gesunder Menschenverstand für maximale bedingte Flexibilität geopfert wurden.

Ich bin mir nicht sicher, ob es genau das ist, was Sie brauchen, aber vielleicht möchten Sie einen Blick auf meine Problemumgehung werfen. Es handelt sich um eine Funktion, die eine Liste der Beiträge zeigt, wo immer Sie möchten, mit Miniaturansichten für das erste Bild des Beitrags.

http://wpworks.wordpress.com/2011/02/01/display-wordpress-post-list-with-custom-size-thumbnails/

Ich hoffe, Sie finden es nützlich.

Mit freundlichen Grüßen,

Alvaro

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top