如何在WordPress中从自定义帖子中获取附件

时间:2014-03-06 作者:Side

我正在使用Download monitor plugin

我以下面的方式按类别列出帖子

$term = get_term_by( \'slug\', get_query_var( \'term\' ), get_query_var( \'taxonomy\' ) ); 

<?php

            $args = array(
                \'post_type\' => \'dlm_download\',
                \'posts_per_page\' =>25,
                \'numberposts\' => null,
                \'dlm_download_category\' => $term->slug
            );

                $downloads = get_posts($args);

                foreach ($downloads as $download) {

                    echo \'<div class="download-content">\';

                        echo \'<h3>
                                <a href="" title="Letöltés"><i class="left icon-arrow-down"></i></a>
                                \'.$download->post_title.\' 
                                <a href="" title="Információ"><i class="right icon-plus"></i></a>
                            </h3>\'; 

                        echo \'<p>\'.$download->post_excerpt.\'</p>\';

                    echo \'</div>\';
                }


        ?>
但我不知道如何显示自定义后附文件。该文件包含在wp\\U Posteta表中,

我试过wp_get_attached_ur($download->ID) 但它返回一个空字符串

任何人都可以给我一个提示吗?

1 个回复
最合适的回答,由SO网友:fischi 整理而成

使用下载监视器插件,您无法通过URL直接访问文件,因为该插件限制了对下载监视器文件夹的访问。

您可以很容易地生成下载链接,并且仍然使用插件计数器和其他方法。

如果您将下载的ID作为$_GET-变量,插件将自行处理其余部分:

$downurl = get_bloginfo( \'url\' )  . \'?download=\' . $download->ID;
导致如下链接http://example.com?download=1234.

无法使用获取下载URL的原因wp_get_attached_url() 那是dlm_download 您循环使用的只是一个自定义的Post类型,而不是附件本身。附件通过连接到下载的CPTpost_parent. 通过这种方式,插件可以知道要随哪个请求交付哪个下载。

您的代码可能如下所示:

$args = array(
    \'post_type\' => \'dlm_download\',
    \'posts_per_page\' => 25,
    \'numberposts\' => null,
    \'dlm_download_category\' => $term->slug
);

$downloads = get_posts($args);

foreach ($downloads as $download) {

    echo \'<div class="download-content">\';

        echo \'<h3>
            <a href="\' . get_bloginfo( \'url\' )  . \'?download=\' . $download->ID . \'" title="Letöltés">
                <i class="left icon-arrow-down"></i>
                \'.$download->post_title.\'
            </a>
            <a href="\' . get_bloginfo( \'url\' )  . \'?download=\' . $download->ID . \'" title="Információ">
                <i class="right icon-plus"></i>
            </a>
        </h3>\'; 

        echo \'<p>\'.$download->post_excerpt.\'</p>\';

    echo \'</div>\';
}
然而,您也可以使用插件的内置方法来实现相同的功能。

结束

相关推荐

how to edit attachments?

在将例如文件附加到帖子时,如何在事后编辑/删除它们?在帖子编辑器中找不到任何内容。谢谢