wp_get_attachment_url无效

时间:2013-03-07 12:09:00

标签: wordpress wordpress-theming

我有一个模板文件,显示了一个名为downloads的类别的帖子。对于每个帖子我都附上了一个pdf文件。我已经给出了一个链接,可以在页面上下载pdf文件。但是,当我点击下载链接时,它会转到帖子页面,然后我必须单击下载该文件。有没有办法直接下载而不去帖子。 ?我已经尝试使用wp_get_attachment_url作为超级引用。但它不起作用。我使用的代码如下:

<?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(); ?>

我想在href中提供已上传的pdf的链接,我已将其留空。有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

  1. 将PDF附件ID添加为自定义字段值,例如 attached_pdf_id
  2. 使用wp_get_attachment_url()
  3. 获取网址

    -

    <?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
        }
    }
    ?>