WordPress 自定义帖子类型未显示在搜索结果中

2024-05-20

我在 WordPress 中遇到自定义帖子类型(测验)和搜索的问题。自定义帖子类型未显示在我的搜索结果页面中。我的搜索结果中仅显示默认的帖子内容。

以下是我使用的代码

函数.php函数create_posttype() {

register_post_type( 'compassquiz',
    array(
        'labels' => array(
            'name' => __( 'Compass Quiz' ),
            'singular_name' => __( 'Compass Quiz' )
        ),
        'taxonomies' => array('post_tag'),
        'public' => true,
        'publicly_queryable' => true,
        'has_archive' => true,
        'rewrite' => array('slug' => 'free-quiz-bank-exam'),
        'query_var' => true,
        'exclude_from_search' => false,
    )
);}

add_action( 'init', 'create_posttype' );

function.php 中的附加代码

//Read Custom Post types in Search
function filter_search($query) {
    if ($query->is_search) {
    $query->set('post_type', array('post', 'compassquiz'));
    };
    return $query;
};
add_filter('pre_get_posts', 'filter_search');

搜索.php

<?php
    if ( have_posts() ) : ?>
        <header class="page-header">
            <h1 class="page-title">
                <?php printf( esc_html__( 'Search Results for: %s', 'compass' ), '<span>' . get_search_query() . '</span>' ); ?>
            </h1>
        </header>
<?php

    while ( have_posts() ) : the_post();
        get_template_part( 'template-parts/content', 'search' );
    endwhile;
        the_posts_navigation();
    else :
        get_template_part( 'template-parts/content', 'none' );
    endif; 
?>

内容搜索.php

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <header class="entry-header">
        <?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>
    </header>

    <div class="entry-summary">
        <?php 
            echo substr(get_the_excerpt(), 0,150) . '...'; 
            echo ('<br><a href="' .get_permalink() . '" class="moretag">Read More &raquo;</a>');
        ?>
    </div><!-- .entry-summary -->
</article><!-- #post-## -->

我已经尝试了 WP Form 以及其他 stackoverflow 问题中找到的大量代码。但找不到真正有效的解决方案。


在搜索表单中添加此代码。在隐藏字段值中设置自定义帖子类型。

<input type="hidden" name="post_type" value="post type name" />

搜索表单中的多个自定义帖子类型

<input type="hidden" name="post_type" value="posttype1, posttype2, posttype3" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WordPress 自定义帖子类型未显示在搜索结果中 的相关文章

随机推荐

  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • 使用 Kivy 应用程序进行 Tesseract OCR

    是否可以将 Tesseract OCR 或 Tess Two 与 Kivy 应用程序集成 我正在寻找使用 Kivy 框架创建一个用于基于 OCR 的文本识别的 Android 应用程序 我在我的 PC 上使用 Tesseract API 一
  • 检查算术运算中的溢出情况[重复]

    这个问题在这里已经有答案了 可能的重复 检测 C C 中整数溢出的最佳方法 https stackoverflow com questions 199333 best way to detect integer overflow in c
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • Python 将日志滚动到变量

    我有一个使用多线程并在服务器后台运行的应用程序 为了无需登录服务器即可监控应用程序 我决定包括Bottle http bottlepy org为了响应一些HTTP端点并报告状态 执行远程关闭等 我还想添加一种查阅日志文件的方法 我可以使用以
  • 如何在 Dart 中以正确的方式重定向和重新加载?

    在 Dart 中进行重定向和重新加载的首选方法是什么 我们是否只使用 window location href window location href 有几种不同的方法可以处理 URI 更改 每种方法都有自己的用途 当您想要将用户发送到另
  • 我可以在 Airflow 中的一个 DAG 下执行不同开始日期的任务吗?

    我有一个运行两个任务的 DAG A and B 而不是指定start date在 DAG 级别上 我已将其作为属性添加到运算符 我正在使用PythonOperator在本例中 并将其从 DAG 字典中删除 这两个任务每天都会运行 The s
  • 如何在 Eclipse Java 动态 Web 项目中使用 .properties 文件?

    我正在 Eclipse 中开发动态 Web 项目 我创建了一个 properties 文件来存储数据库详细信息 用户名 密码等 我通过右键单击项目和 New gt File 添加它 我使用了Java util包Properties类 但它不
  • Flutter基于Shared Preference设置启动页面

    我一直在尝试根据我的共享首选项设置加载不同的页面 但没有成功 根据 stackoverflow 中找到的几篇文章 我最终得到了以下解决方案 import dart async import package flutter material
  • Zend 2:如何覆盖模块的配置文件?

    如何覆盖 vendor module name config module config php 下找到的配置文件 不 这个link http akrabat com zend framework 2 overriding module c
  • 无法在 osx-arm64 上安装 Python 3.7

    我正在尝试使用 Conda 创建一个带有 Python 3 7 的新环境 例如 conda create n qnn python 3 7 我收到以下错误 Collecting package metadata current repoda
  • \add_34/U1_1_6 的 Verilog 命名约定

    有人可以解释一下这个命名约定在下面的 Verilog 行中意味着什么吗 我不知道这是什么 add 34 部分的意思是 ADDHXL add 34 U1 1 6 A n1022 B add 34 carry 6 CO add 34 carry
  • 折叠具有多个字段的行

    我有这个代码 awk seen 1 2 a 1 a 1 a 1 t 2 END for i in a print i a i inputfile 我想折叠具有两个以上字段的行 但始终基于第一个字段作为索引 输入文件 三列制表符分隔 prot
  • 逃离的正确方法是什么?使用 Oracle 12c MATCH_RECOGNIZE 时 JDBCPreparedStatement 中的字符?

    以下查询在 Oracle 12c 中是正确的 SELECT FROM dual MATCH RECOGNIZE MEASURES a dummy AS dummy PATTERN a DEFINE a AS 1 1 但它不能通过 JDBC
  • ASP MVC:服务应该返回 IQueryable 的吗?

    你怎么认为 你的 DAO 应该返回一个 IQueryable 以便在你的控制器中使用它吗 不 您的控制器根本不应该处理任何复杂的逻辑 保持苗条身材 模型 而不是 DAO 应该将控制器返回给视图所需的所有内容 我认为在控制器类中看到查询 甚至
  • Typeahead.js substringMatcher 函数说明

    我只是在做一些研究Typeahead js这是一个非常酷的图书馆 感谢文档 我已经成功地获得了一个基本的示例 该文档也非常好 但是我试图弄清楚以下代码块实际上在做什么 var substringMatcher function strs r
  • IronPython:没有名为 json 的模块

    我安装了 IronPython 我的 python 文件如下所示 import sys print sys version import json 运行它的代码 var p Python CreateEngine var scope p C
  • python Soap zeep模块获取结果

    我从 SOAP API 得到如下结果 client zeep Client wsdl self wsdl transport transport auth header lb E authenticate self login res cl
  • WordPress 自定义帖子类型未显示在搜索结果中

    我在 WordPress 中遇到自定义帖子类型 测验 和搜索的问题 自定义帖子类型未显示在我的搜索结果页面中 我的搜索结果中仅显示默认的帖子内容 以下是我使用的代码 函数 php函数create posttype register post