Döngü circumvents Özel Wordpress index.php düzgün çalışmıyor

0 Cevap php

Ben bir müşteri için bir Wordpress teması inşa ediyorum ve ben o ana sayfası birden fazla farklı kaplarda ve stilleri yayılmış mesajların bir toplamıdır önce inşa ettik diğer herhangi bir tema benzemez. Her ayın başında, 9 farklı mesajlar her biri farklı bir kategoriye ait olduğunu aynı anda yayınlanan, bakmak ve bu bir dergi gibi hissediyorum gerekiyordu. Ve mesajların birçok farklı tarz, ben geleneksel döngü kullanmak mümkün değilim:

<?php if(has_posts()) : while(has_posts)) : the_post(); ?>
// do stuff
<?php endwhile; endif; ?>

Öncelikle, ben yaşıyorum sorunları tanımlamak, sonra sorunu çözmek için çalışıyorum nasıl açıklayacağım.

Index.php üstünde, ben şu PHP kodu:

$slugPostMap = array();
$slugs = array(
    'art', 'big-idea', 'books', 'educators', 'film',
    'ministry-update', 'music', 'parents', 'students',
);
$args = array(
    'limitposts'    => 1,
    'order'         => 'date' 
);

foreach($slugs as $slug){
    $args['category_name'] = $slug;
    $post = get_posts($args);
    $slugPostMap[$slug] = $post;
}

Bunların her biri görüntülenecek bir yazı olacak - $slugs dizisi ben sorgulamak gerekir kategori salyangozlar her topluluğudur. Fikir I ($args), bu sümüklü böcek her biri için tek ve en son mesajı sorgu parametreleri bir başka-sabit bir dizi kullanarak bu dizi ve üzerinde döngü alabilirsiniz olmasıdır. Ben slug dizi üzerinde döngü kulüpler gibi, ben bir ilişkisel dizi ($slugPostMap) kategorisinde sülük "nokta" gerçek post sorgu sonucu saklamak ediyorum.

Daha sonra sayfanın gövdesinde, ben $slugPostMap kategori slug endeksi kullanarak gerekli mesajı kapma ediyorum. İşte bir örnek:

<?php  
foreach($slugPostMap['ministry-update'] as $p): 
    setup_postdata($p); 
?>
<a class="homepageVideoPostTitle" href="<?php the_permalink(); ?>"><?php the_date('F Y','','',true); ?></a>
<div class="homepageVideoPostSubtitle">
    <?php the_title();  ?>
</div> <!-- end homepageVideoPostSubtitle -->
<div class="homepageVideoPostContent">
    <?php the_excerpt(); ?>
</div>
<?php endforeach; ?>

Ben başında bir foreach döngü kullanarak yaşıyorum nedeni çekirdek Wordpress şablon etiketlerinin çeşitli (the_title(), the_permalink(), vb), anladığım kadarıyla, çünkü sadece mevcut olduğunu döngü içinde. I setup_postdata() burada elle (döngü sırasında perde arkasında denir), Ben de {[(2) çağırdığınızda ne olursa olsun garip voodoo kapsamını sınırlamak için foreach kullanıyorum diyorum çünkü }].

Çoğunlukla, bu işleri. Beklendiği gibi, yukarıdaki örnekte, arama sonuçları the_excerpt() görünür. Ancak, diğer bazı şablon etiketleri (özellikle, the_permalink() ve the_title()) herhangi bir değeri iade edilmez. Ben yüklemek gerçek bir canlı Wordpress bu denemek zaman ben iyi hataları ve sayfa yükler almıyorum.

Ben sorunun doğru bu durumda döngü nasıl bypass anlayış benim eksikliği yatıyor varsayarak yaşıyorum, ancak herhangi bir hata ya da sorun olarak başka bir ipucu yok olması beni buraya getirdi.

Bu Linux'un bazı lezzet çalışan Wordpress 3.0 'dır. Ben diğer birçok Wordpress sorunu olmadan bu kutuyu çalışan yükler var ve ben bir sorun olmadan varsayılan tema ile bu aynı Wordpress örneği kullanmak mümkün.

Zaman ayırdığınız için teşekkür ederiz - romanı için üzgünüm. Ben ihmal ettik ilgili herhangi bir bilgi varsa lütfen bana bildirin.

0 Cevap