Rumah  >  Artikel  >  Tutorial CMS  >  Penjelasan terperinci tentang cara membuat halaman arkib artikel di WordPress

Penjelasan terperinci tentang cara membuat halaman arkib artikel di WordPress

青灯夜游
青灯夜游ke hadapan
2023-03-20 18:31:011965semak imbas

Apakah halaman arkib artikel? Bagaimana dengan mudah membuat halaman arkib artikel di WordPress? Artikel berikut akan memperkenalkan anda kepada 3 kaedah membuat halaman arkib di WordPress. Saya harap ia akan membantu anda!

Penjelasan terperinci tentang cara membuat halaman arkib artikel di WordPress

Anda mungkin bertanya, apakah halaman arkib artikel dan untuk apa ia digunakan? Sebelum kita mulakan, mari kita fahami persepsi tentang halaman arkib. Sila klik untuk melihat Peta Laman tapak ini. Anda boleh melihat halaman arkib ini menyenaraikan semua artikel dan semua halaman di blog saya Di satu pihak, jika pembaca ingin melihat artikel di laman web ini sekaligus, ia akan menjadi lebih mudah untuk pergi ke halaman ini , ia dikatakan membantu untuk SEO, saya belum mengesahkannya. Akhir sekali, anda mungkin telah menyedari bahawa terdapat sitemap.xml dalam direktori akar tapak web? Mengapa membuat halaman arkib sedemikian? Sebenarnya, sitemap.xml adalah untuk melihat labah-labah enjin carian, dan halaman arkib ini adalah untuk dilihat oleh manusia. Sekarang izinkan saya bercakap tentang cara membuat halaman ini Jika anda berminat, anda boleh lihat.

Kaedah 1: Pangkalan data baca SQL

Kesan halaman arkib yang ditunjukkan dalam kaedah 1 ialah kesan Peta Laman tapak ini, sebenarnya, ia adalah untuk mencipta a templat halaman tersuai. Operasi ini juga sangat mudah untuk digunakan Anda tidak perlu mengetahui terlalu banyak teknologi pengaturcaraan. Kelebihan kaedah satu ialah saya menggunakan SQL untuk membaca data terus dari pangkalan data, dan hanya membuat dua sambungan pangkalan data, mengelakkan penggunaan fungsi terbina dalam WordPress, yang agak lebih cepat adalah bahawa anda perlu menyalin kod agak panjang. Mari lihat langkah-langkah khusus:

1 Cipta fail php baharu dalam direktori tema semasa, namakannya sitemap.php, dan kemudian salin semua kod dalam page.php ke sitemap.php
2. Padamkan semua ulasan di permulaan sitemap.php, iaitu /* dan */, dan semua yang ada di antara
3 Tukar 375c215ef7779694c5b5f3179cc1f48b kepada:

<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>

Akhir sekali, tukar baris kedua terakhir https://www. ludou. Cuma tukar org/sitemap.xml kepada pautan sitemap.xml anda sendiri Selepas pengubahsuaian, ingat untuk menyimpannya dalam pengekodan UTF-8, jika tidak, orang Cina mungkin kacau. Secara teorinya, tidak ada masalah besar jika kod di atas digunakan secara langsung dalam laman WordPress anda, tetapi mungkin terdapat beberapa masalah dengan estetika Anda boleh mengubahnya sedikit dengan CSS mengikut kemampuan peribadi anda Anda boleh merujuk kepada contoh CSS dan menyalinnya ke style.css dalam direktori tema Ia mungkin mencapai kesan gaya peta laman web ini:

.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. Masukkan WordPress management Backend - Page - Buat halaman dengan tajuk Article Archive (anda boleh namakan sendiri. Anda boleh pilih template di sebelah kanan dan pilih sitemap
6. Artikel tersebut halaman arkib berjaya dibuat.

Kaedah 2: Gunakan fungsi wp_get_archives

Kaedah 2 juga sangat mudah untuk dikendalikan dan mempunyai kod yang lebih sedikit Namun, ini hanya untuk menyenaraikan semua artikel semata-mata, bukan Ia akan menyenaraikan artikel mengikut kategori seperti kaedah satu, yang agak membosankan, tetapi jika anda mendapati kaedah satu menyusahkan, anda boleh mencubanya. Berikut ialah kaedah operasi khusus:

Langkah 1~3 adalah sama dengan kaedah 1. Langkah 4:
Tukar sahaja the_content(); kepada kod berikut:

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

Langkah 5~6 adalah sama dengan kaedah 1.

Kaedah 3: Gunakan pemalam

Terdapat banyak pemalam untuk halaman arkib WordPress Jika anda berminat, sila cari sendiri saya tidak akan memperkenalkan mereka secara terperinci di sini.

Pembelajaran yang disyorkan: "Tutorial WordPress"

Atas ialah kandungan terperinci Penjelasan terperinci tentang cara membuat halaman arkib artikel di WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:ludou.org. Jika ada pelanggaran, sila hubungi admin@php.cn Padam