Title: Echo Custom Fields in Post
Last modified: April 11, 2018

---

# Echo Custom Fields in Post

 *  Resolved [ydvisual](https://wordpress.org/support/users/ydvisual/)
 * (@ydvisual)
 * [8 years, 2 months ago](https://wordpress.org/support/topic/echo-custom-fields-in-post/)
 * How can i display custom fields like “tube_source_external_url” inside my post.
 * I tried: <?php echo get_post_meta($post->ID, ‘tube_source_external_url’, true);?
   >
 * But nothing shows up
 * Thanks in advance!

Viewing 4 replies - 1 through 4 (of 4 total)

 *  Thread Starter [ydvisual](https://wordpress.org/support/users/ydvisual/)
 * (@ydvisual)
 * [8 years, 2 months ago](https://wordpress.org/support/topic/echo-custom-fields-in-post/#post-10171465)
 * For better understandig: I want to echo the Channel-URL inside the post. I can
   display the Channel Name with “tube_video_creator_name” but cant find a way to
   display the link
 *  [toddlevy](https://wordpress.org/support/users/toddlevy/)
 * (@toddlevy)
 * [8 years, 1 month ago](https://wordpress.org/support/topic/echo-custom-fields-in-post/#post-10175224)
 * NOTE: Assuming YouTube…
 * In part because of the way the plugin stores data, and also because YouTube has
   a variety of “creator” URLs, this isn’t going to be very easy, or at least not
   as simple as spitting out a custom field.
 * You MIGHT be able to get away with this for some…
 *     ```
       <?php 
       $creator = get_post_meta($post->ID, 'tube_video_creator_name', true); 
   
       $url = 'https://www.youtube.com/user/' . $creator;
       ?>
       ```
   
 * If you wanted to be really ambitious, you could use the video ID to hit the YouTube
   API and get the creator’s Channel URL.
 * Below is sample code that gets the duration and stores it in a custom field for
   the video, which I’d imagine would be trivial to update to get the creator by
   revising the stuff starting after the “// extract the duration” comment.
 *     ```
       add_action('added_post_meta', 'tube_maybe_get_youtube_duration', 10, 4);
       add_action('updated_post_meta', 'tube_maybe_get_youtube_duration', 10, 4);
   
       function tube_maybe_get_youtube_duration( $meta_id, $post_id, $meta_key='', $meta_value='' ){
   
         // Do nothing unless correct key
         if ( $meta_key != 'tube_video_site' ) return;
   
         // only applied to youtube
         if ( $meta_value != 'youtube' ) return;
   
         // make sure it doesn't have duration already
         $has_duration = get_post_meta( $post_id, 'tube_video_duration_hms', true );
   
         if ( $has_duration ) return;
   
         tube_get_youtube_duration( $post_id );
   
       }
   
       function tube_get_youtube_duration( $post_id ){
   
         // get the video ID
         $video_id = get_post_meta( $post_id, 'tube_video_id', true );
   
         if ( ! $video_id ) return;
   
         // get the API key
         global $tube_video_curator;
         $youtube_api_key = $tube_video_curator :: $tube_youtube_videos -> get_youtube_api_key();
   
         if ( ! $youtube_api_key ) return;
   
         // generate the endpoint
         $endpoint = add_query_arg(
           array( 
             'part' => 'contentDetails', 
             'id' => $video_id, 
             'key' => $youtube_api_key
            ),
           'https://www.googleapis.com/youtube/v3/videos'
         );
   
         // get the raw results
         $results_json = file_get_contents( $endpoint );
   
         // decode the results
         $results = json_decode( $results_json, true );
   
         // extract the duration
         $duration = $results['items'][0]['contentDetails']['duration'];
   
         // get the duraton parts  
         preg_match_all( '/PT(\d+H)?(\d+M)?(\d+S)?/', $duration, $duration_parts );
   
         // create HMS array
         $time_hms = array( 
           'h' => (int) str_replace( 'H', '', $duration_parts[1][0] ), 
           'm' => (int) str_replace( 'M', '', $duration_parts[2][0] ), 
           's' => (int) str_replace( 'S', '', $duration_parts[3][0] )
         );
   
         // calculate total seconds
         $time_total_seconds = ( $time_hms['h'] * 3600 ) + ( $time_hms['m'] * 60 ) + $time_hms['s'];
   
         // update the post meta
         add_post_meta( $post_id, 'tube_video_duration_hms', $time_hms );
   
         add_post_meta( $post_id, 'tube_video_duration_seconds', $time_total_seconds );  
   
         // all done
         return;
   
       }
       ```
   
 *  Thread Starter [ydvisual](https://wordpress.org/support/users/ydvisual/)
 * (@ydvisual)
 * [8 years, 1 month ago](https://wordpress.org/support/topic/echo-custom-fields-in-post/#post-10187320)
 * Thank You! This was very helpful 🙂
 * It seems that the pagination doesnt work in the plugin. I cant look through Videos.
   If i click on “next” to see more Videos of the specific channel it just schows
   the same first 10 videos. Also when i try to show 20 30 40 or 50 videos it reloads
   and shows me always the first 10 videos.
 * i disabled all plugins, but still not working
 *  Thread Starter [ydvisual](https://wordpress.org/support/users/ydvisual/)
 * (@ydvisual)
 * [8 years, 1 month ago](https://wordpress.org/support/topic/echo-custom-fields-in-post/#post-10187346)
 * On “Next” Click the link changes from:
 * wp-admin/post.php?post=4260&action=edit
 * to
 * wp-admin/post.php?post=4260&action=edit&next=CAoQAA

Viewing 4 replies - 1 through 4 (of 4 total)

The topic ‘Echo Custom Fields in Post’ is closed to new replies.

 * ![](https://s.w.org/plugins/geopattern-icon/tube-video-curator_cad3cd.svg)
 * [.TUBE Video Curator](https://wordpress.org/plugins/tube-video-curator/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/tube-video-curator/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/tube-video-curator/)
 * [Active Topics](https://wordpress.org/support/plugin/tube-video-curator/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/tube-video-curator/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/tube-video-curator/reviews/)

## Tags

 * [custom fields](https://wordpress.org/support/topic-tag/custom-fields/)

 * 4 replies
 * 2 participants
 * Last reply from: [ydvisual](https://wordpress.org/support/users/ydvisual/)
 * Last activity: [8 years, 1 month ago](https://wordpress.org/support/topic/echo-custom-fields-in-post/#post-10187346)
 * Status: resolved