{"id":249824,"date":"2025-09-27T18:20:00","date_gmt":"2025-09-27T18:20:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/url-to-featured-image\/"},"modified":"2025-12-27T18:57:57","modified_gmt":"2025-12-27T18:57:57","slug":"url-to-featured-image","status":"publish","type":"plugin","link":"https:\/\/kin.wordpress.org\/plugins\/url-to-featured-image\/","author":23348151,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.0","stable_tag":"1.1.0","tested":"6.9.4","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"URL To Featured Image","header_author":"Fran\u00e7ois-R\u00e9gis \"Friss\" FERRY","header_description":"Set any external image URL as your post's featured image automatically.","assets_banners_color":"368ded","last_updated":"2025-12-27 18:57:57","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/paypal.me\/friss777","header_plugin_uri":"https:\/\/www.francoisregisferry.fr\/utfi","header_author_uri":"https:\/\/www.francoisregisferry.fr","rating":0,"author_block_rating":0,"active_installs":0,"downloads":277,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"friss777","date":"2025-09-27 18:27:22"},"1.1.0":{"tag":"1.1.0","author":"friss777","date":"2025-12-27 18:57:57"}},"upgrade_notice":{"1.0.0":"<p>First public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3368962,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3368962,"resolution":"256x256","location":"assets","locale":""},"icon.svg":{"filename":"icon.svg","revision":3368962,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3368955,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3428356,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3428356,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"URL To Featured Image field in the Gutenberg editor.","2":"URL To Featured Image field in the classic editor."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1920,838,133,538],"plugin_category":[50],"plugin_contributors":[248474],"plugin_business_model":[],"class_list":["post-249824","plugin","type-plugin","status-publish","hentry","plugin_tags-external","plugin_tags-featured","plugin_tags-image","plugin_tags-url","plugin_category-media","plugin_contributors-friss777","plugin_committers-friss777"],"banners":{"banner":"https:\/\/ps.w.org\/url-to-featured-image\/assets\/banner-772x250.png?rev=3368955","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/url-to-featured-image\/assets\/icon.svg?rev=3368962","icon":"https:\/\/ps.w.org\/url-to-featured-image\/assets\/icon.svg?rev=3368962","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/url-to-featured-image\/assets\/screenshot-1.png?rev=3428356","caption":"URL To Featured Image field in the Gutenberg editor."},{"src":"https:\/\/ps.w.org\/url-to-featured-image\/assets\/screenshot-2.png?rev=3428356","caption":"URL To Featured Image field in the classic editor."}],"raw_content":"<!--section=description-->\n<p><strong>URL To Featured Image<\/strong> allows you to use an image hosted anywhere on the internet as the featured image (post thumbnail) for any post, page, or custom post type.<\/p>\n\n<p>Perfect for:\n- Using CDN-hosted images as thumbnails.\n- Saving server space by not uploading large images.\n- Dynamically updating featured images from an external source.<\/p>\n\n<p><strong>Key Features:<\/strong>\n- Simple URL field in the post editor.\n- Works with posts, pages, and custom post types.\n- No extra database tables.\n- Fully compatible with WordPress themes and loops.\n- Uses standard WordPress functions like <code>the_post_thumbnail()<\/code>.\n- Ability to save the target image in the media libary if needed<\/p>\n\n<p><strong>How it works:<\/strong>\nWhen displaying the post, the plugin replaces the default WordPress featured image with the one provided via the URL.<\/p>\n\n<h3>Custom Hooks<\/h3>\n\n<h4>Filters<\/h4>\n\n<ul>\n<li><p><code>friss_utfi_post_type_exclusions<\/code><br \/>\nFilters the post types where the URL To Featured Image metabox should not appear.<br \/>\n<strong>Parameters<\/strong>:<\/p>\n\n<ul>\n<li>(array) $exclusions_list  List of post types where the metabox is excluded.  <\/li>\n<li>(object)   $post          Current post.<br \/>\n<strong>Return<\/strong>: (array) Modified exclusions list.<\/li>\n<\/ul><\/li>\n<li><p><code>friss_utfi_url_allowed<\/code><br \/>\nFilters whether an external image URL is allowed before fetching.<br \/>\n<strong>Parameters<\/strong>:<\/p>\n\n<ul>\n<li>(bool)  $authorization    Whether the URL is allowed.  <\/li>\n<li>(string) $url             The external image URL.  <\/li>\n<li>(array) $parts            Parsed URL parts (from <code>wp_parse_url<\/code>).<br \/>\n<strong>Return<\/strong>: (bool) True to allow, false to block.<\/li>\n<\/ul><\/li>\n<li><p><code>friss_utfi_allowed_mime_types<\/code><br \/>\nFilters the allowed MIME types for external images.<br \/>\n<strong>Parameters<\/strong>:<\/p>\n\n<ul>\n<li>(array) $mime_types       Allowed MIME types.<br \/>\n<strong>Return<\/strong>: (array) Modified list of MIME types.<\/li>\n<\/ul><\/li>\n<li><p><code>friss_utfi_max_image_size<\/code><br \/>\nFilters the maximum allowed image size when fetching external images.<br \/>\n<strong>Parameters<\/strong>:<\/p>\n\n<ul>\n<li>(int) $size               Max file size in bytes.<br \/>\n<strong>Return<\/strong>: (int) Modified maximum size.<\/li>\n<\/ul><\/li>\n<li><p><code>friss_utfi_image_data<\/code><br \/>\nFilters the raw image data fetched from the external URL.<br \/>\n<strong>Parameters<\/strong>:<\/p>\n\n<ul>\n<li>(string) $image_data      Raw image data (string).  <\/li>\n<li>(object)    $post         Current post object.<br \/>\n<strong>Return<\/strong>: (string) Modified image data.<\/li>\n<\/ul><\/li>\n<li><p><code>friss_utfi_external_featured_image_alt<\/code><br \/>\nFilters the alt text for the external featured image.<br \/>\n<strong>Parameters<\/strong>:<\/p>\n\n<ul>\n<li>(string) $alt_text        The alt text (default: post title).  <\/li>\n<li>(int)    $post_id         Current post ID.<br \/>\n<strong>Return<\/strong>: (string) Modified alt text.<\/li>\n<\/ul><\/li>\n<li><p><code>friss_utfi_post_thumbnail_html_preserve_existing_markup<\/code><br \/>\nControls whether the existing  markup is preserved before regenerating the HTML via the post_thumbnail_html filter hook.<br \/>\n<strong>Parameters<\/strong>:<\/p>\n\n<ul>\n<li>(bool) $preserve_existing_markup  Whether to preserve or not the existing image tag markup.  <\/li>\n<li>(int)    $post_id         Current post ID.<br \/>\n<strong>Return<\/strong>: (bool) True to preserve, false to skip this step.<\/li>\n<\/ul><\/li>\n<li><p><code>friss_utfi_post_thumbnail_html_attributes<\/code><br \/>\nFilters the image tag attributes for the recreated html content generated by the post_thumbnail_html filter hook.<br \/>\n<strong>Parameters<\/strong>:<\/p>\n\n<ul>\n<li>(array) $attributes  The attributes array to filter.  <\/li>\n<li>(int)    $post_id         Current post ID.<br \/>\n<strong>Return<\/strong>: (array) Modified attributes array.<\/li>\n<\/ul><\/li>\n<li><p><code>friss_utfi_allowed_img_attributes<\/code>\nFilters the whitelist of allowed attributes kept on the generated  tag when rendering the external featured image.\n<strong>Parameters<\/strong>:<\/p>\n\n<ul>\n<li>(array) $allowed_attributes  List of allowed attribute names (default: src, alt, width, height, class, loading, decoding).<\/li>\n<li>(int)   $post_id             Current post ID.\n<strong>Return<\/strong>: (array) Modified list of attribute names.<\/li>\n<\/ul><\/li>\n<li><p><code>friss_utfi_external_featured_image_styles<\/code><br \/>\nFilters the inline CSS styles applied to the external featured image.<br \/>\nBy default, the plugin enforces responsive behavior (<code>max-width:100%; height:auto;<\/code>).<br \/>\n<strong>Parameters<\/strong>:<\/p>\n\n<ul>\n<li>(string) $default_styles  The default style string.  <\/li>\n<li>(int)    $post_id         Current post ID.<br \/>\n<strong>Return<\/strong>: (string) Modified CSS styles.<\/li>\n<\/ul><\/li>\n<li><p><code>friss_utfi_active_post_types<\/code>\nFilters the final list of active post types for which the URL To Featured Image feature is enabled.\nParameters:<\/p>\n\n<ul>\n<li>(array) $active_post_types  Current list of active post type slugs.\nReturn: (array) Modified list.<\/li>\n<\/ul><\/li>\n<li><p><code>friss_utfi_active_post_types_posttype_exclusions<\/code>\nFilters the list of post types excluded before computing active post types.\nParameters:<\/p>\n\n<ul>\n<li>(array) $exclusions  Current exclusions (internal post types or ones you want suppressed).\nReturn: (array) Modified exclusions list.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Edit any post or page and enter an image URL in the \"URL To Featured Image\" field.<\/li>\n<li>Save and view your post to see the external image as the featured image.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='does%20this%20plugin%20download%20the%20image%20to%20my%20server%3F'><h3>Does this plugin download the image to my server?<\/h3><\/dt>\n<dd><p>You have the choice: the image can be loaded directly from the provided URL or you can save it to the media libary if you prefer.<\/p><\/dd>\n<dt id='will%20this%20work%20with%20my%20theme%3F'><h3>Will this work with my theme?<\/h3><\/dt>\n<dd><p>Yes. The plugin hooks into WordPres's standard \"get_the_post_thumbnail()\" function.<\/p><\/dd>\n<dt id='can%20i%20use%20this%20for%20woocommerce%20products%3F'><h3>Can I use this for WooCommerce products?<\/h3><\/dt>\n<dd><p>Yes, if your theme uses WordPress's featured image functions for product images.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Enhancement - Add option page.<\/li>\n<li>Enhancement - Enable the user to select which post_types can have the URL to Feature Image feature.<\/li>\n<li>Enhancement - Enable the user to activate or not webp comprssion if available.<\/li>\n<li>Enhancement - Add image preview in the meta box.<\/li>\n<li>Enhancement - Better way to retrieve images.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Set any external image URL as your post&#039;s featured image automatically.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/249824","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=249824"}],"author":[{"embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/friss777"}],"wp:attachment":[{"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=249824"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=249824"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=249824"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=249824"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=249824"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=249824"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}