Ne yapmak istiyorum:
WP_Query
Tek özel-post-type.php şablon dosyasındaki kurulum sayfalaması
Ne yaptım
1) "Yazarlar" adlı bir gönderi türü oluşturuldu. Bu yazı türündeki her gönderi tek bir yazara aittir.
2) Standart yazı düzenleme ekran sayfaları, yazarların özel yazı türündeki tüm yayınları (yazarları) listeleyen bir açılır liste içerir.
3) Tüm yayınları açılır menüden yazar meta verileriyle sorgulayan tek bir authors.php şablonu oluşturduğundan sonuç, aynı yazarın kendilerine atanmış yayınların bir listesi (bir tür arşiv gibi):
<?php
// set the "paged" parameter (use 'page' if the query is on a static front page)
global $paged;
/*We need this here to add and maintain Pagination if Template is assigned to Front Page*/
if ( get_query_var( 'paged' ) ) {
$paged = get_query_var('paged');
} elseif ( get_query_var( 'page' ) ) {
$paged = get_query_var( 'page' );
} else {
$paged = 1;
}
$args = array(
'posts_per_page' => 10,
'meta_key' => 'author_select',
'meta_value' => $author_id,
'paged' => $paged,
);
$temp = $wp_query;
$wp_query = NULL;
$wp_query = new WP_Query($args);
?>
<?php if( $wp_query->have_posts() ) : ?>
<?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
<?php // Successfully outputs the results of the above query, so I've omitted the code from this example. ?>
<?php endwhile; ?>
<div class="single_navigation">
<?php if( get_adjacent_post( false, '', true ) ) { ?>
<span class="prev"><?php previous_post_link( '< %link' ) ?></span>
<?php } ?>
<?php if( get_adjacent_post( false, '', false ) ) { ?>
<span class="next"><?php next_post_link( '%link >' ) ?></span>
<?php } ?>
</div><!--/single navigation-->
<?php endif; ?>
<?php
$wp_query = null;
$wp_query = $temp;
wp_reset_query();
?>
Ne takıldım
Sayfalandırma bağlantıları görünmez. Biraz araştırma yaptım ve $wp_query
değişken kullandığımı bulduk , ancak sorgu değişkenimi değiştirdiğimde $wp_query
bağlantılar ortaya çıktı, ancak tıklandığında hiçbir şey yapmadı.
Nerede yanlış yaptığım hakkında bir fikrin var mı?
Düzenle:
Bazı sorularınızı yanıtlamak için, sorgum sorguladığım yayınları başarıyla çıktı, $ author_id zaten bu kod snippet'ine dahil etmediğim bir değere sahip. Benzer şekilde, bu bölüm sorun olmadığı için while döngüsü içindeki gerçek içerik çıktısını dışarıda bıraktım. Sorun, bu tek gönderide zaten var olan içeriği sayfalandırmam gerekiyor.
Bu işlevin amacı, gönderilerin özel yazarlara sahip olmasını sağlamaktır (yerleşik Kullanıcılar sisteminin dışında) ve bu şablonun amacı belirli bir yazarın (zaten çalışıyor) tüm gönderilerini çıktılamaktır.
the_title()
'meta_value' => $author_id
söz açılır listeden dolduruluyor? Her bir yazarı açılır menüden seçerken, ilk on gönderi doğru bir şekilde gösteriliyor mu?
$author_query->have_posts()
döner true
ve o $author_query
aslında herhangi bir yayını içermektedir?