Kırık? Posta türü olarak WP_Query ve “ek”


18

Bir sayfaya bağlı bir galerim var. Bu sayfada, aşağıdaki sorguyu çalıştırıyorum:

$events_gallery = new WP_Query( // Start a new query for our videos
array(
    'post_parent' => $post->ID, // Get data from the current post
    'post_type' => 'attachment', // Only bring back attachments
    'post_mime_type' => 'image', // Only bring back attachments that are images
    'posts_per_page' => '3', // Show us the first three results
    'status' => 'inherit', // Inherit the status of the parent post 
    'orderby' => 'rand', // Order the attachments randomly  
    )
);

Birkaç yol denedim ve bazı nedenlerden dolayı geri dönüp ekler alamıyorum. Burada bariz bir şeyi mi kaçırıyorum?

Güncelleme*

Beni doğru yöne yönlendirdiği için Wok'a teşekkürler.

Görünüşe göre "post_status" yerine "status" kullanıyorum. Kodeks, "ek" yayın türünün bağlam içi açıklamasında örnek olarak "durum" u kullanmıştı. Kodeks yerine "post_status" başvurmak için güncelledim. Doğru kod aşağıdaki gibidir:

$events_gallery = new WP_Query( // Start a new query for our videos
array(
    'post_parent' => $post->ID, // Get data from the current post
    'post_type' => 'attachment', // Only bring back attachments
    'post_mime_type' => 'image', // Only bring back attachments that are images
    'posts_per_page' => '3', // Show us the first three results
    'post_status' => 'inherit', // Attachments default to "inherit", rather than published. Use "inherit" or "any".
    'orderby' => 'rand', // Order the attachments randomly  
    )
);  

Post_status 'null' vs 'inherit' olarak ayarlanmak arasındaki farkın ne olduğunu merak ediyorum
Wok

'post_status' => 'inherit' Teşekkürler ile beni çok fazla acı çektin!
Pat

Yanıtlar:


14

Bunlar kullandığım sorgu parametreleri ... ben sonuçları arasında döngü zaman benim için çalışıyor

array(
                'post_parent' => $post->ID,
                'post_status' => 'inherit',
                'post_type'=> 'attachment',
                'post_mime_type' => 'image/jpeg,image/gif,image/jpg,image/png'                  
            );

13

Eklemek $argsönemlidir.

'post_status' => 'any'

Yapma: 'post_status' => null

Eklerin yok çünkü bu önemlidir post_status, varsayılan değer için çok post_status, publishedhiçbir ekleri bulacaksınız.


Lütfen bir veya iki kod satırı göndermek yerine cevabı açıklamaya çalışın.
s_ha_dum

Evet, bu nasıl oluyor? Ekleyene kadar ekimin arşiv sayfamda gösterilmesini sağlayamadım.
Claire

0

Ürettiği sorguya bakıldığında, bir tür hata gibi görünüyor. 'status' => 'inherit', ekin db dosyasına giriş tam anlamıyla 'inherit' olduğunda üst öğenin durumu olarak yorumlanır.

Alternatif olarak, get_children'i WP_Query yerine kullanmaktır.


0

Bu kodu kullanarak bir gönderiye ekli olan tüm görüntüleri görüntüleyebildim.

<?php
$args = array( 'post_type' => 'attachment', 'orderby' => 'menu_order', 'order' => 'ASC', 'post_mime_type' => 'image' ,'post_status' => null, 'post_parent' => $post->ID );
$attachments = get_posts($args);
    if ($attachments) {
    foreach ( $attachments as $attachment ) { ?>
      <img src="<?php echo wp_get_attachment_url( $attachment->ID , false ); ?>" />
<?php   }
    } ?>

Orijinal tam boyutlu resmin URL'sini tekrarlamak için bu resmi

<?php echo wp_get_attachment_url( $attachment->ID , false ); ?>

Umarım bu yapmaya çalıştığınız şeye bir yaklaşımdır.


Sayfalandırma bununla çalışır mı? Ve çıkış kodunuzun geri kalanını gösterebilir misiniz? Sayfadaki ekleri gerçekten sayfalamak için bir tema galerisini yeniden kodlamanın ortasındayım. Teşekkürler!

Bir gönderiye 4 resim yüklersem ve bunu single.php içindeki ana içerik girişi divine eklersem, 4 resim etiketi çıkarır. Her birinin src = değeri orijinal büyük resim boyutuna götürür. Sayfalama, yayına eklenen tüm görüntüleri tükürdüğü için bununla çalışmaz.
Chad Von Lind
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.