Wordpress with external URL image without downloading

I would like to use external images as the display image in wordpress.

or change the call code. (adding a registered metabox image that accepts URLs and making some changes to display the image from the URL correctly)

or modification of the remote WP thumbnail of the WPF plugin in which the image with the graphic image is installed. it loads the image and creates thumbnails in wordpress and sets the image with the image.

Modifications: * No download from the URL, just use the url to display directly on the blog. * remove wp-content / uploads from the url generated by wordpress to display the displayed image (only for external URLs) * create thumbnails.

Thank you very much for reading, I know that there are many questions on this issue, but if we solve this issue, it can be useful for a lot of ppl.

here is the code:

<?php /* Plugin Name: WP Remote Thumbnail Plugin URI: http://magnigenie.com/wp-remote-thumbnail-set-external-images-featured-image/ Description: A small light weight plugin to set external/remote images as post thumbnail/featured image. Version: 1.0 Author: Nirmal Kumar Ram Author URI: http://magnigenie.com License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html */ ?> <?php /** * Initialize wprthumb on the post edit screen. */ function init_wprthumb() { new wprthumb(); } if ( is_admin() ) { add_action( 'load-post.php', 'init_wprthumb' ); add_action( 'load-post-new.php', 'init_wprthumb' ); } class wprthumb { /** * Hook into the appropriate actions when the wprthumb is constructed. */ public function __construct() { add_action( 'add_meta_boxes', array( $this, 'add_meta_box' ) ); add_action( 'save_post', array( $this, 'save' ) ); } /** * Adds the meta box container. */ public function add_meta_box( $post_type ) { if ( post_type_supports( $post_type, 'thumbnail' )) { add_meta_box( 'some_meta_box_name' ,'Remote Post Thumbnail' ,array( $this, 'render_meta_box_content' ) ,$post_type ,'side' ,'default' ); } } /** * Save the meta when the post is saved. */ public function save( $post_id ) { /* * We need to verify this came from the our screen and with proper authorization, * because save_post can be triggered at other times. */ // Check if our nonce is set. if ( ! isset( $_POST['wprthumb_nonce'] ) ) return $post_id; $nonce = $_POST['wprthumb_nonce']; // Verify that the nonce is valid. if ( ! wp_verify_nonce( $nonce, 'wprthumb' ) ) return $post_id; // If this is an autosave, our form has not been submitted, // so we don't want to do anything. if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return $post_id; // Check the user permissions. if ( 'page' == $_POST['post_type'] ) { if ( ! current_user_can( 'edit_page', $post_id ) ) return $post_id; } else { if ( ! current_user_can( 'edit_post', $post_id ) ) return $post_id; } /* All good, its safe for us to save the data now. */ // Sanitize the user input. $image = sanitize_text_field( $_POST['remote_thumb'] ); $upload_dir = wp_upload_dir(); //Get the remote image and save to uploads directory $img_name = time().'_'.basename( $image ); $img = wp_remote_get( $image ); $img = wp_remote_retrieve_body( $img ); $fp = fopen( $upload_dir['path'].'/'.$img_name , 'w'); fwrite($fp, $img); fclose($fp); $wp_filetype = wp_check_filetype( $image , null ); $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => preg_replace('/\.[^.]+$/', '', $image ), 'post_content' => '', 'post_status' => 'inherit' ); //require for wp_generate_attachment_metadata which generates image related meta-data also creates thumbs require_once( ABSPATH . 'wp-admin/includes/image.php' ); $attach_id = wp_insert_attachment( $attachment, $image, $post_id ); //Generate post thumbnail of different sizes. $attach_data = wp_generate_attachment_metadata( $attach_id , $image ); wp_update_attachment_metadata( $attach_id, $attach_data ); //Set as featured image. delete_post_meta( $post_id, '_thumbnail_id' ); add_post_meta( $post_id , '_thumbnail_id' , $attach_id, true); } /** * Render Meta Box content. */ public function render_meta_box_content( $post ) { // Add an nonce field so we can check for it later. wp_nonce_field( 'wprthumb', 'wprthumb_nonce' ); // Display the form, using the current value. echo '<label for="remote_thumb">'; _e( 'Enter remote image url', 'wprthumb' ); echo '</label> '; echo '<input type="text" id="remote_thumb" name="remote_thumb" size="25" />'; } } 
+9
image wordpress featured
source share
3 answers

I just find this plugin that seems to do what you need: https://wordpress.org/plugins/external-featured-image

+2
source share

I just found out that you can embed images from remote URLs without first downloading them and then reloading them. This works by default in Wordpress without any installation requirements for any plugins.

Here's how:

Wherever you see UPLOAD FILES files, click on this - your file browser will appear where you expect you to select a local file, BUT if you just paste the IMAGE URL into this field and press OPEN or [ENTER], Then import the Wordpress image from the remote URL.

Click SELECT FILES to upload images from a remote URL Click “SELECT FILES” to download images from a remote URL.

Paste the remote image URL into the place where you'd normally have the file name Paste the URL of the remote image in the place where the file name will usually be

+1
source share

I developed a plugin for this: enter image description here

0
source share

All Articles