Heim >CMS-Tutorial >WordDrücken Sie >Ausführliche Erklärung zum Erstellen einer Artikelarchivseite in WordPress

Ausführliche Erklärung zum Erstellen einer Artikelarchivseite in WordPress

青灯夜游
青灯夜游nach vorne
2023-03-20 18:31:011994Durchsuche

Was ist eine Artikelarchivseite? Wie erstelle ich ganz einfach eine Artikelarchivseite in WordPress? Der folgende Artikel stellt Ihnen drei Methoden zum Erstellen von Archivseiten in WordPress vor. Ich hoffe, er ist hilfreich für Sie!

Ausführliche Erklärung zum Erstellen einer Artikelarchivseite in WordPress

Sie fragen sich vielleicht: Was ist eine Artikelarchivseite und wofür wird sie verwendet? Bevor wir beginnen, wollen wir zunächst einmal verstehen, was eine Archivseite ist. Bitte klicken Sie, um die Sitemap dieser Website anzuzeigen. Auf dieser Archivseite finden Sie alle Artikel und alle Seiten meines Blogs. Wenn Leser die Artikel auf dieser Website auf einmal sehen möchten, ist es andererseits viel einfacher, diese Seite aufzurufen , es soll für SEO hilfreich sein, ich habe es noch nicht bestätigt. Schließlich ist Ihnen vielleicht aufgefallen, dass sich im Stammverzeichnis der Website eine sitemap.xml befindet? Warum eine solche Archivseite erstellen? Tatsächlich ist sitemap.xml für Suchmaschinen-Spider und diese Archivseite für die Öffentlichkeit bestimmt. Lassen Sie mich nun darüber sprechen, wie Sie diese Seite erstellen. Wenn Sie interessiert sind, können Sie einen Blick darauf werfen.

Methode 1: SQL-Datenbank lesen

Der in Methode 1 gezeigte Archivseiteneffekt ist der Sitemap-Effekt dieser Site. Tatsächlich ist er auch sehr einfach zu bedienen Sie müssen zu viel über die Programmiertechnologie wissen. Die einzige Konfiguration besteht darin, den Link von sitemap.xml zu ändern. Der Vorteil der ersten Methode besteht darin, dass ich SQL verwende, um Daten direkt aus der Datenbank zu lesen und nur zwei Datenbankverbindungen herzustellen, wodurch die Verwendung der in WordPress integrierten Funktionen vermieden wird, was relativ schneller ist. Der Nachteil besteht darin, dass Sie den Code kopieren müssen ist relativ lang. Schauen wir uns die einzelnen Schritte an:

1. Erstellen Sie eine neue PHP-Datei im aktuellen Theme-Verzeichnis, nennen Sie sie sitemap.php und kopieren Sie dann den gesamten Code in page.php nach sitemap.php
2 Beginnend mit sitemap.php Alle Kommentare, also /* und */, und alles dazwischen
3. Ändern Sie das erste

<?php/*
 * Template Name: sitemap
 * @author: Ludou  
 * @Blog  : https://www.ludou.org/
 */

4. Ändern Sie

<div class="myArchive">
<ul>
<?php
/**
 * WordPress分类存档页面
 * 作者:露兜
 * 博客:https://www.ludou.org/
 * 最后修改:2012年8月27日
 */
    $categoryPosts = $wpdb->get_results("
    SELECT post_title, ID, post_name, slug, {$wpdb->prefix}terms.term_id AS catID, {$wpdb->prefix}terms.name AS categoryname
    FROM {$wpdb->prefix}posts, {$wpdb->prefix}term_relationships, {$wpdb->prefix}term_taxonomy, {$wpdb->prefix}terms
    WHERE {$wpdb->prefix}posts.ID = {$wpdb->prefix}term_relationships.object_id
    AND {$wpdb->prefix}terms.term_id = {$wpdb->prefix}term_taxonomy.term_id
    AND {$wpdb->prefix}term_taxonomy.term_taxonomy_id = {$wpdb->prefix}term_relationships.term_taxonomy_id
    AND {$wpdb->prefix}term_taxonomy.taxonomy = &#39;category&#39;
    AND {$wpdb->prefix}posts.post_status = &#39;publish&#39;
    AND {$wpdb->prefix}posts.post_type = &#39;post&#39;
    ORDER BY {$wpdb->prefix}terms.term_id, {$wpdb->prefix}posts.post_date DESC");

    $postID = 0;
    if ( $categoryPosts ) :
        $category = $categoryPosts[0]->catID;
        foreach ($categoryPosts as $key => $mypost) :
            if($postID == 0) {
                echo &#39;<li><strong>分类:</strong> <a title="&#39;.$mypost->categoryname.&#39;" href="&#39;.get_category_link($mypost->catID).&#39;">&#39;.$mypost->categoryname."</a>\n";
                echo &#39;<ul>&#39;;
            }
           
            if($category == $mypost->catID) {          
?>
    <li><a title="<?php echo $mypost->post_title; ?>" href="<?php echo get_permalink( $mypost->ID ); ?>"><?php echo $mypost->post_title; ?></a></li>
<?php
                $category = $mypost->catID;
                $postID++;
            }
            else {
                echo "</ul>\n</li>";
                echo &#39;<li><strong>分类:</strong> <a title="&#39;.$mypost->categoryname.&#39;" href="&#39;.get_category_link($mypost->catID).&#39;">&#39;.$mypost->categoryname."</a>\n";
                echo &#39;<ul>&#39;;
?>
    <li><a title="<?php echo $mypost->post_title; ?>" href="<?php echo get_permalink( $mypost->ID ); ?>"><?php echo $mypost->post_title; ?></a></li>
<?php
                $category = $mypost->catID;
                $postID = 1;
            }
        endforeach;
    endif;
    echo "</ul>\n</li>";
?>

<li><strong>页面</strong>
<ul>
<?php
    // 读取所有页面
    $mypages = $wpdb->get_results("
        SELECT post_title, post_name, ID
        FROM {$wpdb->prefix}posts
        WHERE post_status = &#39;publish&#39;
        AND post_type = &#39;page&#39;");

    if ( $mypages ) :
        foreach ($mypages as $mypage) :
?>
    <li><a title="<?php echo $mypage->post_title; ?>" href="<?php echo get_permalink( $mypage->ID ); ?>"><?php echo $mypage->post_title; ?></a></li>
    <?php endforeach; echo "</ul>\n</li>"; endif; ?>
</ul>
<p><a href="https://www.ludou.org/sitemap.xml">查看 sitemap.xml</a></p>
</div>

Ändern Sie abschließend die letzte zweite Zeile von https://www.ludou.org/sitemap.xml in Ihren eigenen sitemap.xml-Link. Denken Sie daran, ihn nach der Änderung in UTF-8-Kodierung zu speichern. , andernfalls könnten die chinesischen Schriftzeichen verstümmelt sein. Theoretisch stellt es kein großes Problem dar, wenn der obige Code direkt in Ihrer WordPress-Site verwendet wird, aber es kann zu einigen Problemen mit der Ästhetik kommen. Sie können ihn einfach ein wenig mit CSS modifizieren, je nach Ihren persönlichen Fähigkeiten Es ist hier ein CSS-Beispiel. Sie können darauf verweisen und es in das Theme-Verzeichnis kopieren, um den Stileffekt der Sitemap dieser Website zu erzielen:

.myArchive {
	line-height:18px;
	margin:1.5em 0;
	color:#555555;
	font-size:14px;
}
.myArchive h2 {
	font-size:16px;
	margin:0 0 10px;
	font-weight:bold;
}
.myArchive ul {
	line-height:21px;
	padding:0 0 0 2em;
}
.myArchive ul li {
	background:none;
	list-style-type:disc;
	margin:0;
	padding-left:10px;
}
.myArchive a {
	color:#2970A6;
	outline:medium none;
	text-decoration:none;
}
.myArchive a:hover {
	text-decoration:underline;
}
.myArchive ul li ul {
	margin:10px 0;
}
.myArchive ul li ul li {
	list-style-type:circle;
}

5 Geben Sie den WordPress-Verwaltungshintergrund ein. Seite – Erstellen Sie eine Seite mit dem Titel Artikelarchiv (Sie können sie selbst benennen), füllen Sie den Inhalt nicht aus, Sie können rechts eine Vorlage auswählen, Sitemap auswählen
6. Die Artikelarchivseite wurde erfolgreich erstellt.

Methode 2: Verwenden Sie die Funktion wp_get_archives

Methode 2 ist ebenfalls sehr einfach zu bedienen und erfordert weniger Code. Allerdings handelt es sich dabei nur um eine reine Liste aller Artikel und es werden keine Artikel nach Kategorien aufgelistet wie bei Methode 1. Es ist etwas eintönig, aber wenn Sie Methode eins als problematisch empfinden, können Sie sie ausprobieren. Das Folgende ist die spezifische Betriebsmethode:

Schritte 1~3 sind die gleichen wie Methode 1. Schritt 4:
Ändern the_content(); in den folgenden Code:

echo &#39;<ul>&#39;;
wp_get_archives(&#39;type=postbypost&show_post_count=1&#39;);
echo &#39;</ul>&#39;;

Schritte 5~6 sind auch die gleichen wie Methode 1.

Methode 3: Plug-Ins verwenden

Es gibt viele Plug-Ins für WordPress-Archivseiten. Bitte suchen Sie selbst danach. Ich werde sie hier nicht im Detail vorstellen.

Empfohlenes Lernen: „WordPress-Tutorial

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zum Erstellen einer Artikelarchivseite in WordPress. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:ludou.org. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen