Home Forums Add-ons Repeater Field Direct download link from file field (array) within repeater field


Direct download link from file field (array) within repeater field

    • reiost

    • August 28, 2020 at 8:38 pm

    I am trying to create a download link (browser downloads link on click) from a file field within a repeater.

    When a file field is set to ID, this works fine using the example code:

    $file = get_field(‘file’);
    if( $file ):
    $url = wp_get_attachment_url( $file ); ?>
    ” >Download File
    <?php endif;

    However, setting the file field to return an array, the <?php echo $file[‘url’]; ?> and <?php echo $file[‘id’]; ?> only links to the post page or attachment.

    I need both a link to the attachment page and a link to direct download.

    Can someone advise me if this is possible and share an example code? This is my current working code linking to the attachment page only.


    // Check rows exists.
    if( have_rows(‘game_assets’) ):

    // Loop through rows.
    while( have_rows(‘game_assets’) ) : the_row();

    // Load file field value.
    $file = get_sub_field(‘game_file’ );
    if( $file ):

    if( $file[‘type’] == ‘image’ ) {
    $icon = $file[‘sizes’][‘thumbnail’];

    // Begin caption wrap.
    if( $caption ): ?>
    <div class=”wp-caption”>
    <?php endif; ?>
    <div class=”file-wrap”>
    <div class=”file-content”>
    <div class=”file-image”>” width=”20″ height=”auto”/></div>
    <div class=”file-text-wrap”>
    <div class=”file-name”><?php echo $file[‘filename’]; ?></div>
    <div class=”file-type”><p>File type: <?php echo $file[‘type’]; ?></p></div></div>
    <div class=”download-wrap”>
    ” target=”_blank”>Download

    <?php endif;

    // End loop.

    // No value.
    else :
    // Do something…
    endif; ?>

Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.

We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Cookie Policy. If you continue to use this site, you consent to our use of cookies.