使用下载监视器插件,您无法通过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>\';
}
然而,您也可以使用插件的内置方法来实现相同的功能。