...
✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Konkreetse kategooria postituste kuvamine WordPressi lehel

16

Kas soovite kuvada WordPressi kohandatud lehemallis kindla kategooria postitusi? Seda tehes saate kasutada oma malli kujundust ja kuvada postituse loend WordPressi lehel. Selles artiklis uurime, kuidas kuvada kindla kategooria postitusi kohandatud lehemallil.

Vaikimisi saate WordPressis oma postituse kategoriseerida. See funktsioon on kasulik kõigi konkreetsesse kategooriasse kuuluvate postituste leidmiseks. Kui kasutaja klõpsab WordPressi ühel kategoorial, suunab ta selle konkreetse kategooria postituste loendi lehele. WordPress kasutab kategooria loendis postitamiseks järgmisi mallifaile.

  • category-slug.php
  • category-ID.php
  • category.php
  • arhiiv.php
  • index.php

Seotud kategooria postituste kuvamiseks otsib WordPress mallifaile ülaltoodud järjekorras. Ükskõik milline mallifail leiti esimesena, selle kategooria postituste jaoks kasutatakse selle faili koodi.

Kõik on seotud WordPressi vaikemallidega. Aga mis siis, kui keegi soovib konkreetse kategooria postituste jaoks kohandatud lehemalli kasutada?

Nagu öeldud, läheme selle eesmärgi saavutamiseks samm-sammult läbi.

Looge WordPressis lehemall

Meie eesmärk on kuvada lehel kategooria järgi postitusi. Ilmselt peate selle jaoks kirjutama koodi. Looge fail template-category.phpoma aktiivse teema kataloogis ja lisage faili ülaosas allpool olev kommentaar.

mall-category.php

<?php
/**
 * Template Name: Category Custom Page
 */
 
?>

Järgmisena minge oma WordPressi juhtpaneelile ja looge leht, kus soovite postitusi kuvada. Määrake ülaltoodud mall sellele äsja loodud lehele.

Konkreetse kategooria postituste kuvamine WordPressi lehel

Kuva postitused konkreetsest kategooriast WordPressi lehel

Siiani olete oma malli loonud ja määranud WordPressi lehele. Järgmine asi, mida peate tegema, on kirjutada kood, mis toob kategooriasse lisatud postitused.

WP_QueryPostituste toomiseks kasutan klassi. Näiteks eeldan, et teil on kategooria nimega ‘WordPress’ ja sellele kategooriale lisatud postitused, mida soovite kuvada.

Kirjutage kood allpool, et saada kategooria ‘WordPress’ postituste loend.

$args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'category_name' => 'wordpress',
    'posts_per_page' => 5,
);
$arr_posts = new WP_Query( $args );
 
if ($arr_posts->have_posts() ):  
    while ($arr_posts->have_posts() ):         $arr_posts->the_post();
        ?>
        <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <?php
            if (has_post_thumbnail() ):                 the_post_thumbnail();
            endif;
            ?>
            <header class="entry-header">
                <h1 class="entry-title"><?php the_title(); ?></h1>
            </header>
            <div class="entry-content">
                <?php the_excerpt(); ?>
                <a href="<?php the_permalink(); ?>">Read More</a>
            </div>
        </article>
        <?php
    endwhile;
endif;

Ülaltoodud koodis olen läbinud 'category_name' => 'wordpress'. Siin on ‘wordpress’ kategooria nälkjas.

Konkreetse kategooria postituste kuvamine WordPressi lehel

Kasutaja saab kategooria_nimi asemel edastada ka kategooria ID. Sellisel juhul peaksite kategooria_nimi asemel kasutama võtit kassina ja edastama kategooria ID.

$args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'cat' => '4', //you can pass comma-separated ids here
    'posts_per_page' => 5,
);

posts_per_pageon andmebaasist toomiste arv. Olen kasutanud have_posts()meetodit, mis kontrollib, kas järgmine postitus on WordPressi tsükli jaoks saadaval. Kui see on saadaval, uurib see iga postitust ja kuvab selle.

Hankige postitusi kohandatud taksonoomia alt

Võib-olla töötate kohandatud postitüübiga ja soovite kuvada kohandatud taksonoomia postitusi. Sel juhul peate argumentide massiivi muutma järgmiselt:

$args = array(
    'post_type' => 'CUSTOM_POST_TYPE_NAME',
    'post_status' => 'publish',
    'posts_per_page' => 5,
    'tax_query' => array(
        array(
            'taxonomy' => 'TAXONOMY_NAME',
            'field'    => 'slug',
            'terms'    => array( 'TERM_SLUG' ),
            'operator' => 'IN'
        ),
    ),
);
 
$arr_posts = new WP_Query( $args );

Asendage kohatäited tegelike väärtustega.

Lehekülgede otsimine

Minu kirjutatud kood tõmbab kategooriast ainult piiratud postitusi. Kuigi võite saada suvalise arvu postitusi, edastades numbri saidile ‘posts_per_page’, kuvame tavaliselt lehel postituste komplekti ja kasutame järgmise ja eelmise postituskomplekti saamiseks lehekülgede otsimist.

Lehekülgede integreerimiseks installige ja aktiveerige WP-PageNavi pistikprogramm.

See pistikprogramm pakub meetodi, wp_pagenavi()mis genereerib lehelinke, mida saab kasutada postituste loendi lehel.

Konkreetse kategooria postituste kuvamine WordPressi lehel

Lehekülgede linkide lisamiseks oma WordPressi lehele peate oma koodi muutma. Esiteks peate edastama pagedparameetri ja seejärel funktsiooni kasutama wp_pagenavi().

Saate lehekülje väärtuse järgmiselt:

$paged = (get_query_var( 'paged' ))? get_query_var( 'paged' ): 1;

Nii et teie lõplik kood on järgmine.

mall-category.php

<?php
/**
 * Template Name: Category Custom Page
 */
 
get_header(); ?>
 
<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">
 
    <?php
    $paged = (get_query_var( 'paged' ))? get_query_var( 'paged' ): 1;
    $args = array(
        'post_type' => 'post',
        'post_status' => 'publish',
        'category_name' => 'wordpress',
        'posts_per_page' => 5,
        'paged' => $paged,
    );
    $arr_posts = new WP_Query( $args );
 
    if ($arr_posts->have_posts() ):  
        while ($arr_posts->have_posts() ):             $arr_posts->the_post();
            ?>
            <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                <?php
                if (has_post_thumbnail() ):                     the_post_thumbnail();
                endif;
                ?>
                <header class="entry-header">
                    <h1 class="entry-title"><?php the_title(); ?></h1>
                </header>
                <div class="entry-content">
                    <?php the_excerpt(); ?>
                    <a href="<?php the_permalink(); ?>">Read More</a>
                </div>
            </article>
            <?php
        endwhile;
        wp_pagenavi(
            array(
                'query' => $arr_posts,
            )
        );
    endif;
    ?>
 
    </main><!-- .site-main -->
</div><!-- .content-area -->
 
<?php get_footer(); ?>

Nüüd saate muuta HTML-i struktuuri, kasutada klasse, lisada stiili ja luua oma postituste loendi jaoks hästi kujundatud lehe.

Loodan, et saate aru, kuidas kuvada WordPressi lehel konkreetse kategooria postitusi. Palun jagage oma mõtteid allpool olevas kommentaaride jaotises.

seotud artiklid

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem