首页 > 解决方案 > Wordpress:在自定义帖子类型循环之前和之后插入的 HTML 代码

问题描述

我在 wordpress 上遇到问题,需要您的帮助。

在我的主页上,我想显示自定义帖子类型 (FAQ) 的列表。为此,我使用了小部件工具 (wp-admin/widgets.php) 和小部件 Post 循环(似乎是由 SiteOrigin Widgets Bundle 插件添加的)和相关模板(路径:/wp-content/themes/construction -field-pro/template-parts/) 用于显示不同的常见问题项目。

问题是我应该在那个循环项目之前和之后调用 HTML,但我从来没有成功过。我尝试了两种方法:

1 - 通过在循环之前和之后添加 HTML 小部件,但 WordPress 阻止保存为 HTML 结束标记或缺少开始标记。

2 - 通过在循环之前和之后添加短代码(包含所需的 html)。在这种情况下可以保存,但在渲染时,会自动添加 html 结束标签或开始标签,这是我不期望的。

所以我需要你的帮助。如何在 HTML 块中插入这些循环项?

预先感谢您的帮助。

此致,

标签: wordpresswordpress-theming

解决方案


如果我理解正确,您只是想循环浏览您的常见问题解答,这是一种自定义帖子类型,并且您选择使用小部件来做到这一点?您希望在循环之前和之后添加 HTML 代码吗?

为什么不直接把代码放到你的主页上呢?在主页上找到您希望列表出现的位置并输入:

<?php
$the_query = new WP_Query(array(
  'post_type'         => 'faq_post_type_name',
  'order'             => 'ASC',
  'orderby'           => 'date',
  'posts_per_page'    => -1
));


if ( $the_query->have_posts() ) : ?>
  <!-- Enter HTML before loop here -->
  <ul>
    <?php while ( $the_query->have_posts() ) :$the_query->the_post(); ?>
    <li>
      <?php the_title(); ?>
    </li>
    <?php endwhile; ?>
  </ul>
  <!-- Enter HTML after loop here -->
<?php endif; wp_reset_query(); ?>


推荐阅读