Wordpress wp\u获取\u附件\u url不工作
我有一个模板文件,它显示了一个叫做下载的类别的帖子。对于每个帖子,我都附上了一个pdf文件。我在页面上提供了下载pdf文件的链接。但当我点击下载链接时,它会进入帖子页面,我必须点击下载文件。有没有办法不去邮局直接下载?我已尝试使用wp_get_attachment_url作为超引用。但它不起作用。我使用的代码如下:Wordpress wp\u获取\u附件\u url不工作,wordpress,wordpress-theming,Wordpress,Wordpress Theming,我有一个模板文件,它显示了一个叫做下载的类别的帖子。对于每个帖子,我都附上了一个pdf文件。我在页面上提供了下载pdf文件的链接。但当我点击下载链接时,它会进入帖子页面,我必须点击下载文件。有没有办法不去邮局直接下载?我已尝试使用wp_get_attachment_url作为超引用。但它不起作用。我使用的代码如下: <?php /* Template Name: Downloads Template */ ?> <?php get_header(); ?> <?ph
<?php /*
Template Name: Downloads Template
*/
?>
<?php get_header(); ?>
<?php
$recent = new WP_Query("cat=7&orderby=title&order=ASC");
while($recent->have_posts()):$recent->the_post();
$desc_values = get_post_custom_values("description");
?>
<div id="download_featured_image" class="<?php the_ID(); ?> download_image_title_desc">
<a href="<?php the_permalink() ?>" rel="title">
<?php
if ( has_post_thumbnail() ) {
the_post_thumbnail();
}
?></a>
<a href = "" > <?php if ( is_user_logged_in() ) {
echo "Download";
}?></a>
<a href=" http://localhost/wordpress/login.php"> <?php if( !(is_user_logged_in()) )
{
echo "Please signup/login to download this file";
}
?>
</a>
<div id="Download_post_description">
<?php
if( is_array( $desc_values ) )
{
foreach($desc_values as $key => $value );
echo "$value</n>";
}
?>
</div>
</div>
<?php endwhile ?>
<?php get_footer(); ?>
将PDF附件ID添加为自定义字段值,例如附件\u PDF\u ID
使用wp\u Get\u attachment\u URL()获取URL
-
对不起,没有可用的链接。请联系网络管理员。
您在哪里使用wp\u get\u attachment\u url()
功能?你说你已经将pdf文件附加到了帖子上,这意味着它是帖子内容的一部分还是在一个元字段中?它是内容的一部分。我没有在上面的代码中使用该函数。如果可以,请告诉我如何在超参考中使用它。我假设您已将PDF上载到媒体库。您应该将PDF的附件ID(或者甚至是直接链接本身)设置为自定义字段,而不是在内容中,以使其能够提取。请看下面我的回答。我已经给了自定义域附件的url。即使这样,它也不起作用。还有什么我应该做的吗?我的代码假设自定义字段是附件“post”的ID。如果你明确地设置了URL,你就不需要调用wp\u get\u attachment\u URL()函数,你让我的日子过得更好了。非常感谢
<?php
if ( is_user_logged_in() ) {
$pdf_link = wp_get_attachment_url( get_post_meta( get_the_ID(), 'attached_pdf_id', true ) );
if ( $pdf_link ) {
?><a href = "<?php echo $pdf_link ?>" >Download</a><?php
} else {
?>Sorry, no link available. Please contact the webmaser.<?php
}
}
?>