it-swarm.asia

WordPress 3.0 ile "Tüm Yazılar" veya "Arşivler" Sayfası Oluştur?

Ocean Bytes blog 'ta bir "Tüm Yazılar" sayfası oluşturmak istiyorum. Bu yazı, her bir başlığın blogu ile bağlantısı olan, bugüne kadar yayınlanmış tüm Başlıkların sıralanmamış bir listesini içerir. sonrası.

Böyle bir şey yapan birçok eklenti var gibi görünüyor, ancak çoğu Wordpress 3.0+ ürününü henüz desteklenmemiş olarak listelemiyor ya da blog gönderilerini Yıl ve daha sonra istenmeyen bir Ay'a göre ayarlamak istiyorlar.

"En iyi yol" için herhangi bir öneriniz var mı?

Teşekkürler.

3
cpuguru

Aşağıdaki kodu içeren Yirmi On Tema klasöründe "allposts-page.php" adında bir sayfa şablonu oluşturdum:

<?php
/**
 * Template Name: All Posts
 *
 * A custom page template for displaying all posts.
 *
 * The "Template Name:" bit above allows this to be selectable
 * from a dropdown menu on the edit page screen.
 *
 * @package WordPress
 * @subpackage Twenty_Ten
 * @since Twenty Ten 1.0
 */

get_header(); ?>

  <div id="container">
   <div id="content" role="main">
<h2>Archive of All Posts:</h2>
  <ul>
    <?php wp_get_archives('type=postbypost'); ?>
  </ul>


   </div><!-- #content -->
  </div><!-- #container -->

<?php get_footer(); ?>

Daha sonra "Tüm Yazılar" başlığına sahip Wordpress Admin sistemini kullanarak yeni bir sayfa oluşturdum ve açılır listeden "Tüm Yazılar" şablonunu seçtim. Vücuda herhangi bir şey girmeye gerek yoktu.

Çıkan sayfa şurada bulunabilir:

www.oceanbytes.org/all-posts/

"Wp_get_archives" için varsayılan değer "aylık" olmakla birlikte, tüm gönderileri uzun listede olduğu gibi listelemek istediğim için "postbypost" u seçtim. İşlev Referansı/wp get archives aracılığıyla Wordpress sitesinde daha fazla seçenek bulunabilir

3
cpuguru

Yeni bir şablon dosyası oluşturun ve bunu döngü olarak yapın:

query_posts( array( 'posts_per_page' => -1, 'post_status' => 'publish' ) );
if( have_posts() ):
  echo '<ul>';
  while( have_posts() ):
    the_post();
    echo '<li><a href="';
    the_permalink();
    echo '">';
    the_title();
    echo '</a></li>';
  endwhile;
  echo '</ul>';
endif;
wp_reset_query();

Sonra sadece bu şablonu bir sayfa için kullanın ve otomatik olarak sayfayı oluşturur. Sorguyu nasıl değiştireceğiniz hakkında daha fazla bilgi için kodeksi sayfasını / query_posts() için kontrol edin.

3
John P Bloch

"En İyi Yol" özel bir sayfa şablonu ile olurdu. index.php tüm yayınlar arasında dolaştığı gibi, her şey arasında dolaşmak için özel bir sorgu çalıştırabilir ve sadece istediğiniz bilgileri (başlık, URL) tarayıcıya ekleyebilirsiniz.

Özel bir sayfa şablonu oluşturmak için iyi eğiticiler:

3
EAMann