{"id":389361,"date":"2026-10-26T17:19:21","date_gmt":"2026-10-26T17:19:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/photo-frame-by-dideron\/"},"modified":"2026-10-27T15:39:55","modified_gmt":"2026-10-27T15:39:55","slug":"dideron-photo-frame-editor","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/dideron-photo-frame-editor\/","author":23588823,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.2","stable_tag":"1.1.2","tested":"7.1.4","requires":"5.8","requires_php":"7.2","requires_plugins":null,"header_name":"Photo Frame Editor","header_author":"Dideron","header_description":"Let visitors upload a photo, place it behind your transparent frames, adjust it and download a 1080\u00d71080 image. Use the shortcode [pfd_editor].","assets_banners_color":"c6ccbf","last_updated":"2026-10-27 15:39:55","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":0,"downloads":124,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"devdider","date":"2026-10-26 17:18:54","revision":3766980},"1.1.2":{"tag":"1.1.2","author":"devdider","date":"2026-10-27 15:39:55","revision":3768957}},"upgrade_notice":{"1.1.2":"<p>Plugin renamed. No other changes.<\/p>","1.1.0":"<p>Shortcodes were renamed to [pfd_editor] and [pfd_categories]. Existing frames from pre-release versions must be re-imported.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":3768034,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3768034,"resolution":"256x256","location":"assets","locale":"","width":254,"height":254}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3768034,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3768034,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.1.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3767095,"resolution":"1","location":"assets","locale":"","width":1920,"height":1258},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3767095,"resolution":"2","location":"assets","locale":"","width":1080,"height":1080},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3767095,"resolution":"3","location":"assets","locale":"","width":855,"height":913},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3767095,"resolution":"4","location":"assets","locale":"","width":1918,"height":358},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3767095,"resolution":"5","location":"assets","locale":"","width":1666,"height":751}},"screenshots":{"1":"The frame editor on a page.","2":"Adding a frame in the admin.","3":"The Appearance settings."}},"plugin_section":[],"plugin_tags":[129,288755,38573,15793,7894],"plugin_category":[44],"plugin_contributors":[288756],"plugin_business_model":[],"class_list":["post-389361","plugin","type-plugin","status-publish","hentry","plugin_tags-avatar","plugin_tags-frame-editor","plugin_tags-image-overlay","plugin_tags-photo-frame","plugin_tags-profile-picture","plugin_category-discussion-and-community","plugin_contributors-devdider","plugin_committers-devdider"],"banners":{"banner":"https:\/\/ps.w.org\/dideron-photo-frame-editor\/assets\/banner-772x250.png?rev=3768034","banner_2x":"https:\/\/ps.w.org\/dideron-photo-frame-editor\/assets\/banner-1544x500.png?rev=3768034","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dideron-photo-frame-editor\/assets\/icon-128x128.jpg?rev=3768034","icon_2x":"https:\/\/ps.w.org\/dideron-photo-frame-editor\/assets\/icon-256x256.jpg?rev=3768034","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/dideron-photo-frame-editor\/assets\/screenshot-1.png?rev=3767095","caption":"The frame editor on a page."},{"src":"https:\/\/ps.w.org\/dideron-photo-frame-editor\/assets\/screenshot-2.jpg?rev=3767095","caption":"Adding a frame in the admin."},{"src":"https:\/\/ps.w.org\/dideron-photo-frame-editor\/assets\/screenshot-3.png?rev=3767095","caption":"The Appearance settings."},{"src":"https:\/\/ps.w.org\/dideron-photo-frame-editor\/assets\/screenshot-4.png?rev=3767095","caption":""},{"src":"https:\/\/ps.w.org\/dideron-photo-frame-editor\/assets\/screenshot-5.png?rev=3767095","caption":""}],"raw_content":"<!--section=description-->\n<p>Dideron Photo Frame Editor adds a frame editor to any page of your website. Visitors choose a photo, it is placed behind one of your transparent frames, they zoom, move, rotate and adjust it, then download (or share) a finished 1080x1080 image. It suits campaigns, events, schools, communities and brands that want people to create their own framed profile pictures.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Add as many frames as you like (transparent PNG or WebP, square, 1080x1080 recommended).<\/li>\n<li>Frame categories with filter buttons, and category cards.<\/li>\n<li>Zoom, move, resize, rotate, flip, brightness and other adjustments, with mouse, touch or keyboard.<\/li>\n<li>Mobile friendly layout with tabs and a fixed download bar.<\/li>\n<li>Optional download counter per frame.<\/li>\n<li>Bulk upload, ZIP export and ZIP import of frames.<\/li>\n<li>Colors, text sizes, buttons and layout can be changed under Photo Frames \u2192 Appearance.<\/li>\n<\/ul>\n\n<p><strong>Privacy:<\/strong> photos are processed in the visitor's browser and are never uploaded to your server.<\/p>\n\n<p><strong>Shortcodes<\/strong><\/p>\n\n<ul>\n<li><code>[pfd_editor]<\/code> shows the editor. Options: <code>limit=\"24\"<\/code>, <code>start=\"123\"<\/code> (frame ID to show first), <code>track=\"1\"<\/code> (count downloads), <code>share=\"1\"<\/code> (Share button on supported devices).<\/li>\n<li><code>[pfd_editor category=\"birthday,wedding\"]<\/code> shows only those categories (<code>operator=\"and\"<\/code> = frames in all of them, <code>filter=\"0\"<\/code> hides the buttons).<\/li>\n<li><code>[pfd_categories columns=\"3\"]<\/code> shows a card for every category. On the same page as the editor, clicking a card filters the editor in place. On any other page it links to the editor page (set under Appearance, or detected automatically).<\/li>\n<\/ul>\n\n<p><strong>Third-party library<\/strong><\/p>\n\n<p>This plugin bundles <a href=\"https:\/\/fabricjs.com\/\">Fabric.js<\/a> 7.4.0 (MIT license) in <code>assets\/js\/fabric.min.js<\/code>. Nothing is loaded from an external server.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>dideron-photo-frame-editor<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the plugin from the Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Photo Frames \u2192 Add New and upload a transparent frame image. Use the \"Order\" box to control the order (lower number first).<\/li>\n<li>Add the shortcode <code>[pfd_editor]<\/code> to any page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"are%20visitors%27%20photos%20stored%20on%20my%20server%3F\"><h3>Are visitors' photos stored on my server?<\/h3><\/dt>\n<dd><p>No. Photos are processed in the visitor's browser only.<\/p><\/dd>\n<dt id=\"what%20data%20does%20the%20plugin%20store%3F\"><h3>What data does the plugin store?<\/h3><\/dt>\n<dd><p>An anonymous download counter per frame, your Appearance settings, and a short-lived (about one minute) one-way hash of the visitor's IP address used only to limit abuse of the counter.<\/p><\/dd>\n<dt id=\"can%20i%20use%20more%20than%20one%20editor%20on%20a%20page%3F\"><h3>Can I use more than one editor on a page?<\/h3><\/dt>\n<dd><p>No, one editor per page is supported. You can use <code>[pfd_categories]<\/code> on the same page.<\/p><\/dd>\n<dt id=\"do%20my%20frames%20get%20deleted%20when%20i%20delete%20the%20plugin%3F\"><h3>Do my frames get deleted when I delete the plugin?<\/h3><\/dt>\n<dd><p>Settings are removed. Your frames and their images are kept on purpose.<\/p><\/dd>\n<dt id=\"the%20visitor%27s%20download%20looks%20wrong%20with%20a%20jpeg%20frame.\"><h3>The visitor's download looks wrong with a JPEG frame.<\/h3><\/dt>\n<dd><p>JPEG has no transparency, so the visitor's photo is hidden behind it. Use a transparent PNG or WebP.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Renamed plugin.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Renamed to Dideron Photo Frame Editor; new unique prefix (dpfr), shortcodes <code>[pfd_editor]<\/code> and <code>[pfd_categories]<\/code>.<\/li>\n<li>Fabric.js 7.4.0 is now bundled with the plugin; the CDN fallback and the one-click download were removed.<\/li>\n<li>Styles and scripts are enqueued with the WordPress APIs instead of printed inline.<\/li>\n<li>All admin text is translatable.<\/li>\n<li>Removed the manual translation loader (WordPress.org loads translations automatically).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Let visitors upload a photo, place it behind your transparent frame, adjust it and download a 1080x1080 image.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/389361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=389361"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/devdider"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=389361"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=389361"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=389361"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=389361"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=389361"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=389361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}