返回

WordPress 搜索中显示文章正文:问题原因和解决方案

php

WordPress 搜索中显示文章正文

如果你在 WordPress 网站上构建了自定义搜索表单,你可能会遇到这样一个问题:搜索结果中仅显示文章标题、特色图片和摘录,却看不到文章正文。这会让用户感到沮丧,尤其是在你希望为他们提供内容预览时。

问题原因

这个问题源于 WordPress 对文章内容的组织方式。WordPress 将文章内容存储在一个名为「文章正文」的自定义字段中。虽然文章摘要会显示在搜索结果中,但默认情况下,文章正文不会。

解决方案

要显示文章正文,你需要使用 the_content 函数。此函数将检索文章正文并将其打印到页面上。

代码示例

以下示例代码演示了如何在搜索结果中显示文章正文:

function get_celebrity_post_content($post) {
  ob_start();
  ?>
  <div>
    <h2><?php echo get_the_title($post); ?></h2>
    <?php echo get_the_post_thumbnail($post->ID, 'large'); ?>
    <p><strong>Excerpt:</strong> <?php echo get_the_excerpt($post); ?></p>
    <div><?php the_content(); ?></div>
  </div>
  <?php
  $content = ob_get_clean();

  return $content;
}

在此代码中,我们使用 the_content() 函数替换了 apply_filters('the_content', $post->post_content)。这将确保文章正文显示在搜索结果中。

自定义格式

WordPress 会自动在文章正文周围添加 <p> 段落标签。如果你希望自定义文章正文的格式,则可以删除这些标签或使用 CSS 覆盖它们。

常见问题

  1. 为什么文章正文不显示在搜索结果中?

    • 文章正文通常不显示在搜索结果中,因为 WordPress 将其存储在自定义字段中,该字段默认情况下不显示。
  2. 如何显示文章正文?

    • 要显示文章正文,你需要使用 the_content() 函数。
  3. 我可以在文章正文中使用哪些自定义格式?

    • 你可以自定义文章正文的格式,方法是删除 WordPress 添加的 <p> 段落标签,或使用 CSS 覆盖它们。
  4. 如何从 WordPress 文章中删除 <p> 段落标签?

    • 你可以使用 wp_filter_content_tags() 函数从文章正文中删除 <p> 段落标签。
  5. 如何使用 CSS 覆盖文章正文的格式?

    • 你可以使用 CSS 选择器和样式属性覆盖文章正文的格式。