Bagaimana cara mendapatkan jumlah variabel posting per jenis posting pada loop utama?


8

Saya mencari cara untuk menyeimbangkan konten di beranda blog saya:

blog memiliki beberapa jenis posting seperti Poscast, Video dan Blog dan saya ingin katakanlah 10 Posting di beranda, tetapi saya ingin membuat 5 dari mereka selalu menjadi Blog terbaru.

Membuat 3 kotak yang terpisah tidak menyelesaikan masalah saya karena posting dicampur dengan togheter dan tidak akan selalu ada banyak posting dari jenis lainnya.

Saya bisa memikirkan solusi untuk itu pada PHP murni, tapi saya ingin mendapatkan ide tentang bagaimana melakukan ini menggunakan API wordpress, bantuan, referensi akan diterima!


Ya, ini jauh dari efektif atau "cara yang tepat" untuk melakukan ini, tetapi tetap +1. Hargai upaya yang telah Anda lakukan untuk menunjukkan apa yang ingin Anda capai. :)
kaiser

1
Saya sarankan Anda menggunakan cara standar dalam melakukan sesuatu - loop sekunder; cukup get_postsberikan 3 jenis pertanyaan; ini akan datang dengan manfaat tambahan dari caching (mana pun backend tersedia) dan keamanan di antara yang lainnya. codex.wordpress.org/The_Loop#Multiple_Loops yang saya yakin Anda lihat.
soulseekah

+1 untuk usaha Anda!
Rutwick Gangurde

Jawaban:


1

Jika Anda masih mencari alternatif yang mungkin lebih cepat, ini dapat membantu Anda:

<?php
function customBlogFeed() {

// The Query 
$the_query = new WP_Query( array ( 'post_type' => array( 'post', 'page', 'movie', 'book'), 'posts_per_page' => '6' ) );
//Your post_type array is a list of random post_types. You can add whatever you'd like to match your system.

// The Loop 
while ( $the_query->have_posts() ) : $the_query->the_post(); ?>


  <?php the_title(); ?>
      <?php the_content(); ?>

<?php endwhile;

// Reset Post Data
wp_reset_postdata();
}
?>

Kemudian untuk mendapatkan output, letakkan di <?php customBlogFeed(); ?>mana pun Anda ingin output ini.

Jika Anda benar-benar ingin berkenalan, Anda dapat menghubungkan ke Filter post_limits dan membatasi berapa banyak posting per jenis posting ditampilkan. Saya harap ini membantu Anda dalam pencarian Anda.

PS - Lihat ke WP_Query , itu akan sangat membantu Anda.

Setelah beberapa penelitian, Anda mungkin benar-benar ingin melihat post_clauses untuk menyelesaikan penokohan SQL dengan WP3.1 + Sintaks


1

Jadi, setelah beberapa bulan. Saya menemukan jawaban untuk pertanyaan persis Anda:

add_action('pre_get_posts', 'custom_main_query', 1);
function custom_main_query( $query ) {
  if ( $query->is_main_query() && is_home() ) { 
  //be super careful with this and to be safe, keep the is_home() 
  //bit there, I've had some funny results without it.

    $query->query_vars['posts_per_page'] = 3; //displays 3 posts ;)
    $query->query_vars['post_type'] = array('post'); //and if you wanted multiple cpts <3

    return $query;

    }
}

Bersulang

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.