Get PDF in media by ID

时间:2020-03-27 作者:Morgan Tartreau

在我的搜索页面上,我已使用以下代码添加了媒体中的所有文件:

    function attachment_search( $query ) {

    $args = array(
        \'public\'   => true,
        \'_builtin\' => false,
    );

    $output = \'names\';
    $operator = \'and\';

    $cpts = get_post_types( $args, $output, $operator );
    $cpts[] = \'attachment\';
    $cpts[] = \'post\';
    if ( $query->is_search ) {
        $query->set( \'post_type\', $cpts );
        $query->set( \'post_status\', array( \'publish\', \'inherit\' ) );
    }

    return $query;
}

add_filter( \'pre_get_posts\', \'attachment_search\' );
在媒体中,我添加了一个示例。pdf文件。

示例正在显示,但显示为帖子。我只想添加PDF中的下载链接。但我该怎么做呢?wp_get_attachment_url(get_the_ID()) 没有工作,因为帖子(=PDF)没有附件文件?

PS:这是我的内容搜索。php

<?php    
$post_type = ucfirst(get_post_type());

$download = "";
//if(get_post_type() == "attachment"){
    $dowload = wp_get_attachment_url(get_the_ID());
//}
?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <header class="entry-header">
        <h2 class="entry-title m-0">
            <a href="<?=esc_url( get_permalink() ); ?>"  rel="bookmark">
                <?=the_title();?> <?= "(".$post_type.")"; ?>
                " <?php echo $download;?> " <?php the_ID(); ?>
            </a>
        </h2>
    </header><!-- .entry-header -->
</article><!-- #post-<?php the_ID(); ?> -->
wp\\u get\\u attachment\\u url(get\\u The\\u ID())仅针对此文件的任何文档返回“”。。。图像或PDF。

1 个回复
SO网友:Morgan Tartreau

不知道为什么,但这样做有效。。。在我的搜索中。php,没问题。在内容搜索中。php,无结果。

while (have_posts()) :
    the_post();
    $attachment = wp_get_attachment_url(get_the_ID());
    set_query_var(\'document\', $attachment);
    get_template_part(\'template-parts/content\', \'search\');

endwhile;
编辑

如前所述,Dave Romsey,do

add_action( \'pre_get_posts\', \'attachment_search\' );
而不是

add_filter( \'pre_get_posts\', \'attachment_search\' );

相关推荐

Search redirects to index

我打算使用标准的WordPress搜索,但当我尝试搜索时,我使用的是索引,而不是搜索结果。搜索url似乎正确:https://example.com/blog/?s=admissions搜索表单<form role=\"search\" method=\"get\" class=\"search-form\" action=\"https://example.com/blog/\"> <label for=\"search-form-5cb5f4940c0aa\">