在 WordPress 中显示自定义帖子类型的正确方法是什么?

问题描述

前提条件:

  1. 我创建了自定义帖子类型“比较”
  2. 我创建了“widget.PHP”并在“functions.PHP”中注册了它
  3. 我在“front-page.PHP”中添加了小部件

任务: 在我的首页上,我想在带有分页的单独小部件中列出所有类型为“比较”的帖子

问题: 我不知道“最佳实践”,如何在技术上实现它。如何在小部件中列出所有“比较”?

解决方法

这是自定义帖子模板代码,您可以在要显示帖子列表的页面上分配模板。您可以尝试使用以下模板代码:

<?php 
# Template Name: Comparison List 
?>

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array( 
          'posts_per_page' => 15,'paged' => $paged,'post_type' => 'comparison','orderby' => 'title','order' => 'asc' 
        );
$wp_query = new WP_Query($args);
?>

<?php get_header(); ?>

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

    <?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>

        <?php get_template_part( 'template-parts/content','comparison-list-item' ); ?>

    <?php endwhile; ?>

    <?php print_pagination($wp_query); ?>

<?php else: ?>

<?php get_template_part( 'template-parts/content','nothing-found' ); ?>

<?php endif; ?>

<?php wp_reset_postdata(); ?>

<?php get_footer(); ?>