[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fKDJ0LrZKvwEJ8vN2MHR9tJHLI_UCzusJTkm5czA7Fm0":3},{"slug":4,"display_name":5,"profile_url":6,"plugin_count":7,"total_installs":8,"avg_security_score":9,"avg_patch_time_days":10,"trust_score":11,"computed_at":12,"plugins":13},"junaidbhura","Junaid Bhura","https:\u002F\u002Fprofiles.wordpress.org\u002Fjunaidbhura\u002F",1,200,100,30,94,"2026-04-04T21:17:09.126Z",[14],{"slug":15,"name":16,"version":17,"author":5,"author_profile":6,"description":18,"short_description":19,"active_installs":8,"downloaded":20,"rating":21,"num_ratings":22,"last_updated":23,"tested_up_to":24,"requires_at_least":25,"requires_php":26,"tags":27,"homepage":33,"download_link":34,"security_score":9,"vuln_count":35,"unpatched_count":35,"last_vuln_date":36,"fetched_at":37},"auto-cloudinary","Auto Cloudinary","1.3.1","\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\" rel=\"nofollow ugc\">Check out the Github Repository ♥\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>This plugin provides a \u003Cstrong>super simple\u003C\u002Fstrong> \u003Ca href=\"https:\u002F\u002Fcloudinary.com\u002Fdocumentation\u002Ffetch_remote_images#auto_upload_remote_resources\" rel=\"nofollow ugc\">Cloudinary auto-upload\u003C\u002Fa> implementation for WordPress.\u003C\u002Fp>\n\u003Cp>It is inspired by \u003Ca href=\"https:\u002F\u002Fdeveloper.wordpress.com\u002Fdocs\u002Fphoton\u002F\" rel=\"nofollow ugc\">Photon\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhumanmade\u002Ftachyon-plugin\" rel=\"nofollow ugc\">Tachyon\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Cloudinary will \u003Cstrong>automatically fetch and serve the images\u003C\u002Fstrong> from your media library like a \u003Cstrong>CDN\u003C\u002Fstrong>, without you having to worry about the complicated upload API! Just \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fwiki\u002FSetup\" rel=\"nofollow ugc\">set up auto-upload\u003C\u002Fa> in your Cloudinary settings, enter the details in the plugin’s options, and you’re all set!\u003C\u002Fp>\n\u003Cp>Easy peasy 😎\u003C\u002Fp>\n\u003Ch3>Important\u003C\u002Fh3>\n\u003Cp>This plugin is \u003Cstrong>incompatible with the official Cloudinary plugin\u003C\u002Fstrong>. You’d need to disable that plugin before using this one.\u003C\u002Fp>\n\u003Ch3>Quick Links\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fwiki\u002FSetup\" rel=\"nofollow ugc\">Setup\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fissues\" rel=\"nofollow ugc\">Issues\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fwiki\u002FFunctions\" rel=\"nofollow ugc\">Functions\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fwiki\u002FFilters\" rel=\"nofollow ugc\">Filters\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fwiki\u002FBest-Practices\" rel=\"nofollow ugc\">Best Practices\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Why did you build this plugin?\u003C\u002Fh3>\n\u003Cp>There already is an \u003Cstrong>official Cloudinary plugin\u003C\u002Fstrong> available. But in my opinion, it’s a bit of an overkill and takes over the admin UI. This plugin aims to be:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Super simple\u003C\u002Fstrong> and light-weight\u003C\u002Fli>\n\u003Cli>Totally seamless and \u003Cstrong>out of the way\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>A flexible tool for \u003Cstrong>WordPress developers\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>What is Cloudinary Auto-Upload?\u003C\u002Fh3>\n\u003Cp>Cloudinary gives you two options to upload files to it’s servers:\u003C\u002Fp>\n\u003Col>\n\u003Cli>The complicated \u003Cstrong>Upload API\u003C\u002Fstrong> 😱\u003C\u002Fli>\n\u003Cli>The super easy and magical \u003Cstrong>Fetch API\u003C\u002Fstrong> 🎩\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Upload API\u003C\u002Fh4>\n\u003Cp>\u003Cem>TL;DR: Too complicated and in the way\u003C\u002Fem> 👎\u003C\u002Fp>\n\u003Cp>Cloudinary gives you an API, using which, you can manually upload the images to Cloudinary. So you’d need an \u003Cstrong>API key\u003C\u002Fstrong>, etc. The \u003Cstrong>official plugin\u003C\u002Fstrong> uses this method. When you upload an image to the media library, it in turn, uploads it to Cloudinary. This could be a problem if you have thousands of \u003Cstrong>existing images\u003C\u002Fstrong>, and might not be flexible enough to support \u003Cstrong>custom architecture\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>Fetch API\u003C\u002Fh4>\n\u003Cp>\u003Cem>TL;DR: Magical\u003C\u002Fem> 👍\u003C\u002Fp>\n\u003Cp>This plugin uses the super easy \u003Cstrong>Auto-Upload\u003C\u002Fstrong> feature in the \u003Cstrong>Fetch API\u003C\u002Fstrong>. We just tell Cloudinary where to find the files on our server (or on S3 or anywhere on the Internet), and it \u003Cstrong>automatically downloads\u003C\u002Fstrong> it from there and saves it on to it’s servers the \u003Cstrong>first time you ask for it\u003C\u002Fstrong>, like a CDN would!\u003C\u002Fp>\n\u003Ch3>What does this plugin do?\u003C\u002Fh3>\n\u003Cp>This plugin does two main things:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Provides a simple function \u003Ccode>cloudinary_url()\u003C\u002Fcode> to get a Cloudinary auto-upload URL for any image in your media library, with all the Cloudinary transformations, so you can \u003Cstrong>dynamically manipulate an image on the fly\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Attempts to automatically convert all image URLs on the front-end into a Cloudinary auto-upload URL, so you can \u003Cstrong>use Cloudinary as an image CDN\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>The magical function 🎩\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>\u003Ccode>cloudinary_url( $identifier, $args )\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This function returns a Cloudinary Auto Upload URL for an image. Please read the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjunaidbhura\u002Fauto-cloudinary\u002Fwiki\u002FBest-Practices\" rel=\"nofollow ugc\">Best Practices\u003C\u002Fa> page before using this.\u003C\u002Fp>\n\u003Ch4>Parameters\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>identifier\u003C\u002Fstrong> (integer\u002Fstring)(required) : Either the ID of the attachment, or a full image URL.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>args\u003C\u002Fstrong> (array)(optional) : Arguments to manipulate the image.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Return Value\u003C\u002Fh4>\n\u003Cp>Returns a URL (string):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>'https:\u002F\u002Fres.cloudinary.com\u002Fcloud-name\u002Fauto-mapping-folder\u002F2017\u002F12\u002Fyour-image.jpg'\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Arguments\u003C\u002Fh4>\n\u003Cp>You can optionally send an array of arguments which can transform the image, and set a dynamic file name. Ex:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>array(\n    'transform' => array( \u002F\u002F Optional. All transformations go here.\n        'width'   => 300,\n        'height'  => 200,\n        'crop'    => 'fill',\n        'quality' => '80',\n        'gravity' => 'face',\n    ),\n    'file_name' => 'whatever-file-name-you-want', \u002F\u002F Optional. If you want to use a dynamic file name for SEO. Don't use the file extension!\n);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Here’s a \u003Ca href=\"https:\u002F\u002Fcloudinary.com\u002Fdocumentation\u002Fimage_transformations\" rel=\"nofollow ugc\">full list of transformations\u003C\u002Fa> you can achieve with Cloudinary.\u003C\u002Fp>\n\u003Ch3>Examples\u003C\u002Fh3>\n\u003Cpre>\u003Ccode>\u003C?php\n$url_1 = cloudinary_url( 123, array(\n    'transform' => array(\n        'width'   => 300,\n        'height'  => 200,\n        'crop'    => 'fill',\n        'quality' => '80',\n        'gravity' => 'face',\n    ),\n    'file_name' => 'dynamic-file-name',\n) );\n\n$url_2 = cloudinary_url( 'https:\u002F\u002Fwww.yourwebsite.com\u002Fwp-content\u002Fuploads\u002F2017\u002F12\u002Fmy-image.jpg', array(\n    'transform' => array(\n        'width'   => 100,\n        'height'  => 100,\n    ),\n) );\n\n\u002F\u002F $url_1 : https:\u002F\u002Fres.cloudinary.com\u002Fcloud-name\u002Fimages\u002Fw_300,h_200,c_fill,q_80,g_face\u002Fauto-mapping-folder\u002F2017\u002F12\u002Fmy-image\u002Fdynamic-file-name.jpg\n\u002F\u002F $url_2 : https:\u002F\u002Fres.cloudinary.com\u002Fcloud-name\u002Fw_100,h_100\u002Fauto-mapping-folder\u002F2017\u002F12\u002Fmy-image.jpg\n?>\n\n\u003Cimg src=\"\u003C?php echo esc_url( $url_1 ); ?>\" width=\"300\" height=\"200\" alt=\"\">\n\u003Cimg src=\"\u003C?php echo esc_url( $url_2 ); ?>\" width=\"100\" height=\"100\" alt=\"\">\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Super simple Cloudinary auto-upload implementation for WordPress.",32236,88,14,"2025-09-19T11:42:00.000Z","6.8.5","4.4","5.6",[28,29,30,31,32],"cdn","cloudinary","dynamic-images","image-manipulation","image-optimization","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fauto-cloudinary.1.3.1.zip",0,null,"2026-03-15T15:16:48.613Z"]