WordPress.org

Ready to get started?Download WordPress

Forums

Calling filename under image (10 posts)

  1. damian.smith
    Member
    Posted 1 year ago #

    I am trying to figure out how to get the image filename and automatically display it underneath any image that is attached to a post.

    I seem to be completely stumped on this one :/

    Any ideas? :)

  2. tomontoast
    Member
    Posted 1 year ago #

  3. linux4me2
    Member
    Posted 1 year ago #

    Just brainstorming here, but I think one way to accomplish this going forward--not for existing posts--would be to create a function in your child theme's functions.php to override the get_image_tag function in /wp-includes/media.php which would add the HTML to display the file name below the image. You already have the file name in that function ($img_src), so it would just be a matter of adding the HTML with a CSS class to format the file name the way you want.

    Of course, you'd have to edit all your existing posts to add the file name if you went that route.

    If you're wanting to address this for hundreds of existing posts/images, you'd need to create a function in your child theme's functions.php to override the get_the_content function in /wp-includes/post-template.php and come up with a regular expression to parse the content of a post, catching all the images, grabbing the value of the "src" attribute, and adding it to the HTML.

    I don't know how much you know about WordPress, but I keep emphasizing using the functions.php in your child theme because you don't want to alter the core files or your changes will get overwritten every time you upgrade WordPress. Fortunately, WordPress provides for this by allowing you to create custom functions in the functions.php file of a child theme. That's what you'd do in either of the above approaches. That way, you could upgrade WordPress and not lose your customizations.

  4. deepbevel
    Member
    Posted 1 year ago #

    this apeasr to do it, but it shows the list in a drop down selector

    <select name="chb_homes_for_sale_specifics_floor_plan" style="width:100%;">
            <option value="">Select</option>
            <?php
            $args = array(
                'numberposts'     => -1,
                'orderby'         => 'menu_order',
                'order'           => 'ASC',
                'post_type'       => 'attachment',
                'post_parent'     => $post->ID,
                'post_mime_type' => 'image'
            );
            $image = get_posts($args);
            if($image) {
                foreach($image as $key => $data) : ?>
                    <option value="<?php echo $data->ID; ?>">
    
    <?php echo $data->post_title; ?>
    
    <?php
    $filename = basename ( get_attached_file( $data->ID ) );
    ?>
    
    </option>
    
                <?php endforeach;
            }
            ?>
          </select>
  5. tomontoast
    Member
    Posted 1 year ago #

    @deepbevel I'm not sure that does what damian.smith wants although you a re working along the right lines. Where did you find that code??

    I would do a regular expression replace on the_content to add the image filename after each image HTML tag.

  6. deepbevel
    Member
    Posted 1 year ago #

    yes, sorry, got caught up and forgot we need the images..

    http://wordpress.stackexchange.com/questions/20081/how-to-get-attachment-file-name-not-attachment-url

    I don't know how this works, not a programmer, just get lucky with finding codes..sometimes.

  7. tomontoast
    Member
    Posted 1 year ago #

    @deepbevel Context is important. If you didn't personally write the code it is better to link to where you got the code from.

  8. deepbevel
    Member
    Posted 1 year ago #

    sorry, thought I did

  9. deepbevel
    Member
    Posted 1 year ago #

    I think you can take over from here,I just hoped to produce something to work with.

  10. damian.smith
    Member
    Posted 1 year ago #

    Thanks for the replies so far guys!
    I may take a look at that code and see what I can do with it too make it work for me!

    I thought there have been a simple answer to this, but obviously a harder one than I thought :)

Topic Closed

This topic has been closed to new replies.

About this Topic

Tags

No tags yet.