How to search pdf attachment?

时间:2020-09-28 作者:Falak

我正在使用高级自定义字段创建自定义字段。我创建了一个名为upload pdf的自定义字段。我可以使用此字段附加pdf文件,字段类型为File.假设WordPress中有一个发布页面。出版物在页面上显示为PDF文件。这些PDF来自一个自定义字段。页面上有一个搜索选项,可以搜索PDF文件。在搜索栏中键入PDF文件名时,应显示结果。我不想为此使用任何插件。

如果不使用任何插件,是否可以搜索这些pdf文件?

1 个回复
SO网友:geouser

我建议您首先按搜索词搜索附件。例如:

$attachments_query = new WP_Query( array(
    \'s\'                 => \'Your search query\', // <-- Your search term
    \'post_type\'         => \'attachment\',
    \'post_mime_type\'    => \'application/pdf\',
    \'post_status\'       => \'inherit\',
    \'posts_per_page\'    => -1,
) );
通过此查询,您将获得符合搜索查询条件的所有PDF文件。此查询只需要附件ID,若要获取它们,请使用以下函数:

$attachments_ids = wp_list_pluck( $attachments_query->posts, \'ID\' );
现在,当您有附件ID时,可以在ACF文件字段中查找具有任何这些ID的帖子(ACF将ID存储在数据库中的文件字段中)。要获取帖子,请运行以下查询:

$query = new WP_Query( array(
    \'post_type\'         => \'your_post_type\', // <-- Your post type here
    \'posts_per_page\'    => -1,
    \'meta_query\'        => array(
        array(
            \'key\'       => \'your_pdf_field_key\', // <-- ACF field name
            \'value\'     => $attachments_ids,
            \'compare\'   => \'IN\'
        )
    )
) );
代码未经测试,但它必须选择所有带有搜索附件的帖子。

以下是文档的链接:

附件查询:https://developer.wordpress.org/reference/classes/wp_query/#mime-type-parameters

  • wp\\u list\\u pulk函数:https://developer.wordpress.org/reference/functions/wp_list_pluck/https://developer.wordpress.org/reference/classes/wp_query/#custom-field-post-meta-parameters
  • 相关推荐

    当使用wp_Dropdown_Categories时,Get_Search_Form不包括搜索表单.php

    我的searchform中有一个类别下拉列表。php,在Wordpress 4中编码。x、 这几年来一直没有问题。Wordpress 5.2出现了一个问题。我的searchform.php 包括用于搜索的修改表单和用于类别的下拉菜单,使用wp_dropdown_categories(). get_search_form() 无输出。一份searchform.php;<div> $args = array ( ...some arguments... );&#