it-swarm.com.de

Wie rufe ich Posts mit einem bestimmten Tag an?

Ich benutze dies, um Beiträge anzurufen:

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$per_page = get_option('to_count_archives');
query_posts("posts_per_page=".$per_page."&paged=".$paged."&cat=".$cat);
if (have_posts())
?>
<?php while (have_posts()) : the_post(); ?>

Und es funktioniert gut für Kategorien. Aber auf Archivseiten, die für Tags generiert wurden, werden ALLE Posts angezeigt, nicht nur Posts mit einem bestimmten Tag . Ich werde eine separate Datei archives.php und category.php erstellen.

Ich muss den to_count_archives-Teil des Codes beibehalten, da er die Anzahl der Beiträge pro Seite aufruft.

Ich freue mich über jede Hilfe beim Umschreiben des obigen Codes.

1
AndrettiMilas

Wenn Sie query_posts aufrufen und die ursprüngliche Abfrage durch eine neue Abfrage überschreiben, müssen Sie die ursprüngliche Abfrage abrufen und die zu ändernden Elemente zurücksetzen.

global $query_string;
$per_page = get_option( 'to_count_archives' );
query_posts( $query_string . '&posts_per_page=' . $per_page );
1
Milo

Verwenden Sie WP_Query und machen Sie etwas wie:

// The Query
$the_query = new WP_Query(  array( 'posts_per_page' => 5, 'tag' => 'THETAG' ) );

// The Loop
while ( $the_query->have_posts() ) : $the_query->the_post();
    echo '<li>';
    the_title();
    echo '</li>';
endwhile;

Sie können dasselbe auch für die Kategorie tun. Ich hoffe, ich habe die Frage verstanden, die mich in Ihrem obigen Codebeispiel verwirrt hat. Ich finde WP_Query einfach einfacher zu benutzen :)

0
Brooke.