Hassan Voyeau
Hassan Voyeau

Reputation: 3624

Wordpress Attachment Page Title

I would like to change the download link title on the attachment page to say Download link : ATTACHMENT_TITLE. Where do I start? The theme has no attachment.php

EDIT :

I've found that I could edit single.php

            <?php if ( is_attachment() ) { echo "Download Link : "; } ?>
            <?php get_template_part( 'content', 'single' ); ?>

That puts the text above the link. It would be nice to be inline with the link. I am looking at content-single.php now. That calls a function called the_content(); If I could follow where that function goes maybe I could put the "Download Link : " text within the div itself before the link.

content-single.php

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <?php do_action( 'esteem_before_post_content' ); ?>
    <div class="entry-content clearfix">
        <?php 
            the_content();

            $esteem_tag_list = get_the_tag_list( '', '&nbsp;&nbsp;&nbsp;&nbsp;', '' );
            if( !empty( $esteem_tag_list ) ) {
                ?>
                <div class="tags">
                    <?php
                    _e( 'Tagged on: ', 'esteem' ); echo $esteem_tag_list;
                    ?>
                </div>
                <?php
            }

            wp_link_pages( array( 
            'before'            => '<div style="clear: both;"></div><div class="pagination 

clearfix">'.__( 'Pages:', 'esteem' ),
            'after'             => '</div>',
            'link_before'       => '<span>',
            'link_after'        => '</span>'
      ) );
        ?>
    </div>
    <div class="entry-meta-bar clearfix">   
        <div class="entry-meta clearfix">
            <span class="icon-user"><a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' 

) ); ?>"><?php the_author(); ?></a></span>
            <span class="icon-time"><a href="<?php the_permalink(); ?>" title="<?php echo esc_attr( 

get_the_time() ); ?>"><?php the_time( get_option( 'date_format' ) ); ?></a></span>
            <?php if( has_category() ) { ?>
            <span class="icon-tag"><?php the_category(', '); ?></span>
            <?php } ?>
            <?php if ( comments_open() ) { ?>
            <span class="icon-comment-alt"><?php comments_popup_link( __( 'No Comments', 'esteem' ), __( 

'1 Comment', 'esteem' ), __( '% Comments', 'esteem' ), '', __( 'Comments Off', 'esteem' ) ); ?></span>
            <?php } ?> 
            <?php edit_post_link( __( 'Edit', 'esteem' ), '<span class="icon-pencil">', '</span>' ); ?>
        </div><!-- .entry-meta -->                  
    </div><!-- .entry-meta-bar --> 
    <?php
    do_action( 'esteem_after_post_content' );
   ?>
</article>

Upvotes: 0

Views: 263

Answers (1)

Patrick Lyver
Patrick Lyver

Reputation: 389

Here is the base code you can use in the page template:

<?php 
    $attachment_id = 1; // ID of attachment
    $attachment_page = get_attachment_link( $attachment_id ); 
?>

<a href="<?php echo $attachment_page; ?>">Download Link**</a>

Reference: http://codex.wordpress.org/Function_Reference/get_attachment_link

Note: If you want to modify the attachment page, you can either modify (if it exists) the attachments.php template or create one. The template hierarchy reference is here: http://codex.wordpress.org/Template_Hierarchy

EDIT:

Ok I found a simpler solution for you. On your single.php page wrap the content-single.php template part in an if statement. You can use this for the base of what you're trying to do. Give it a shot and let me know how it goes.

<?php if ( is_attachment() ) { 
    $attachment_link = wp_get_attachment_url();
    echo '<a href="'.$attachment_link.'">Download Link</a>';
} else {            
   get_template_part( 'content', 'single' ); 
} ?>

Upvotes: 1

Related Questions