✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Відображати публікації з певної категорії на сторінці WordPress

40

Ви хочете відображати публікації з певної категорії на власному шаблоні сторінки в WordPress? Зробивши це, ви можете скористатися власним дизайном шаблону та відобразити перелік публікацій на сторінці WordPress. У цій статті ми вивчаємо, як відображати публікації з певної категорії на власному шаблоні сторінки.

За замовчуванням у WordPress ви можете класифікувати свою публікацію. Ця функція корисна, щоб дізнатись усі публікації, що належать до певної категорії. У WordPress, коли користувач натискає одну з категорій, він перенаправляє на сторінку списку публікацій для цієї конкретної категорії. WordPress використовує наступні файли шаблонів для публікації списку категорій.

  • category-slug.php
  • category-ID.php
  • категорія.php
  • archive.php
  • index.php

Для відображення публікацій відповідної категорії WordPress шукає файли шаблонів у вказаному вище порядку. Який би файл шаблону не був знайдений першим, код із цього файлу буде використовуватися для публікацій списків категорії.

Вся справа в шаблонах WordPress за замовчуванням. Але що, якщо хтось хоче використовувати власний шаблон сторінки для списків публікацій певної категорії?

З огляду на це, давайте пройдемо покроковий посібник для досягнення цієї мети.

Створити шаблон сторінки в WordPress

Наша мета – відображати публікації за категоріями на сторінці. Очевидно, для цього потрібно написати код. Створіть файл template-category.phpу каталозі активної теми та додайте коментар нижче у верхній частині файлу.

шаблон-категорія.php

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

Далі перейдіть на інформаційну панель WordPress, створіть свою сторінку, де ви хочете відображати повідомлення. Призначте наведений вище шаблон цій новоствореній сторінці.

Відображати публікації з певної категорії на сторінці WordPress

Відображати публікації з певної категорії на сторінці WordPress

Наразі ви створили і призначили шаблон на сторінці WordPress. Наступне, що вам потрібно зробити, це написати код, який отримує публікації, прикріплені до категорії.

Я буду використовувати WP_Queryклас для отримання повідомлень. Наприклад, я припускаю, що у вас є категорія під назвою "WordPress" і дописи, приєднані до цієї категорії, які ви хочете відобразити.

Напишіть код нижче, щоб отримати список публікацій у категорії «WordPress».

$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;

У наведеному вище коді я передав 'category_name' => 'wordpress'. Тут ‘wordpress’ – це куля категорії.

Відображати публікації з певної категорії на сторінці WordPress

Користувач також може передавати ідентифікатор категорії замість name_name. У такому випадку вам слід використовувати ключ як "cat" замість "category_name" та передати ідентифікатор категорії.

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

posts_per_page– кількість повідомлень, які потрібно отримати з бази даних. Я використав have_posts()метод, який перевіряє, чи доступна наступна публікація для циклу WordPress. Якщо він доступний, він перебирає кожну публікацію та відображає її.

Отримуйте повідомлення за спеціальною систематикою

Можливо, ви працюєте з користувацьким типом публікації і хочете відобразити повідомлення з користувацької таксономії. У такому випадку потрібно змінити масив аргументів наступним чином:

$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 );

Обов’язково замініть заповнювачі фактичними значеннями.

Пагінація

Код, який я написав, отримує лише обмежені публікації з категорії. Незважаючи на те, що ви можете отримати будь-яку кількість дописів, передавши номер на ‘posts_per_page’, зазвичай ми відображаємо набір постів на сторінці, а потім використовуємо пагінацію, щоб отримати наступний і попередній набір постів.

Для інтеграції пагінації встановіть та активуйте плагін WP-PageNavi.

Цей плагін забезпечує метод, wp_pagenavi()який генерує посилання на пагінацію, які можна використовувати на сторінці списку публікацій.

Відображати публікації з певної категорії на сторінці WordPress

Щоб додати посилання на пагінацію на вашу сторінку WordPress, вам потрібно змінити свій код. Спочатку потрібно передати pagedпараметр, а потім використовувати функцію wp_pagenavi().

Ви отримаєте значення для підкачки наступним чином:

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

Отже, ваш остаточний код такий, як показано нижче.

шаблон-категорія.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(); ?>

Тепер ви можете змінити структуру HTML, використовувати класи, додати стилістику та створити гарно створену сторінку для списку ваших публікацій.

Сподіваюсь, ви розумієте, як відображати дописи з певної категорії на сторінці WordPress. Будь ласка, поділіться своїми думками в розділі коментарів нижче.

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі