Öne çıkan içerik yayınını orijinal siparişle ana sayfada tutun


17

Öne çıkan gönderiyi sorgu gönderisinden hariç tutmadan blog ana sayfamda nasıl saklayacağımı araştırıyorum . Blogum Yirmi Ondört temasını kullanıyor. Bu çözümü buldum.

özellikli-content.php aşağıdaki kodla (bizim durumumuzda hat 269) için Temanızın inc klasöründen ve göz.

$query->set( 'post__not_in', $featured );

Bunu elde etmek için önüne iki eğik çizgi ekleyerek bu satırı yorumlamanız yeterlidir:

// $query->set( 'post__not_in', $featured );

Ancak dosyada bu satır yok ve alt tema üst temanın inc klasörünü geçersiz kılamıyor.

Başka bir çözüm buldum ve işe yarıyor, ama sorun, bu kod orijinal içerik değil özellikli içerik sonrası göstermek. Eski içerik yayını - öne çıkan yayını öne çıkarmak için yapışkan yazı kullanıyorum, öne çıkan içerik yayını diğer siparişe göre ilk sırada olacak.

Böyle koşullu etiket kullanmayı denedim.

function show_featured_content_on_home() {
if ( !is_home() ) {
remove_action( 'pre_get_posts', array( 'Featured_Content', 'pre_get_posts' ) );
    }
}
add_action( 'init', 'show_featured_content_on_home', 31 );

İkinci sayfa ve benzeri tamam - öne çıkan yayınları sırayla göster - ancak ana sayfanın hala sorunu var.

Herhangi bir öneri?


Sanırım cevabım var. Çalışmasını sağlamak için, özellikli içerik oluşturmak için yapışkan yazı kullanmak yerine 'özellikli' etiketini kullanmanız gerekir. Yani çözüm doğru ve yanlış anladım ve yanlış soru verdim. Koşullu etiket, kodu koşullu etiketler olmadan işlevsel olduğu için kaldırabilirsiniz.
Naziman Azlye

1
Bunun çok geç olduğunu biliyorum ama yukarıdaki yorumu bir cevap olarak eklemeyi düşünür müsünüz? Bu soru oldukça yükseliyor ve doğru bir cevaba sahip olmak bunu daha açık hale getiriyor. Şimdiden teşekkürler!
kraftner

Yanıtlar:


1

WPQuery'yi kullanabileceğinizi düşünüyorum

    $the_query = new WP_Query( array( 'post__in' => get_option( 'sticky_posts' )) ); ?>

    <?php if ( $the_query->have_posts() ) : ?>

        <!-- pagination here -->

        <!-- the loop -->
        <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>   
<h2><?php the_title(); ?></h2>
        <?php endwhile; ?>
        <!-- end of the loop -->

        <!-- pagination here -->

        <?php wp_reset_postdata(); ?>


    <?php endif; ?>

ve gönderinizi sipariş etmek için sipariş ve siparişi kullanabilirsiniz https://codex.wordpress.org/Class_Reference/WP_Query referansına bakın

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.