=== GuardaFoto — Profile Photo & Cover Downloader ===
Contributors: a3qglobal
Tags: youtube, profile photo, thumbnail, spotify, downloader
Requires at least: 5.8
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Paste a public YouTube, Spotify, Deezer or Apple Music link and download its profile photo, banner, thumbnail or cover in the sizes the platform publishes.

== Description ==

GuardaFoto adds a simple, free photo lookup tool to any post or page. A visitor pastes a supported public link, and the tool displays the image together with every verified downloadable size returned by the GuardaFoto service.

Supported lookups include:

* YouTube channel profile photos, up to 1600 x 1600 when published by the channel.
* YouTube channel banners.
* YouTube video thumbnails, including the HD thumbnail when it exists.
* Spotify artist photos and album or playlist covers.
* Deezer artist photos and covers.
* Apple Music album and song artwork.

Add the tool with the **GuardaFoto** block or with this shortcode:

`[guardafoto]`

To force a language for one shortcode instance, use:

`[guardafoto lang="es"]`

or:

`[guardafoto lang="en"]`

With `lang="auto"`, or when no language is supplied, GuardaFoto uses Spanish for Spanish WordPress locales and English otherwise.

A visible “Powered by GuardaFoto · A3Q Global” credit is shown below the tool and links to https://guardafoto.com. The plugin contains no hidden links and makes no external request when it is activated or when a page is merely viewed. The external lookup described below happens only after a visitor submits a link in the tool.

The photographs and artwork belong to their respective owners. This plugin only helps visitors access images that the relevant platform already publishes publicly; it does not grant any licence or right to reuse an image.

== External service ==

This plugin relies on the GuardaFoto API, a third-party service operated by A3Q Global:

* Service: GuardaFoto — https://guardafoto.com
* About the service: https://guardafoto.com/about/
* API endpoint used by this plugin: https://guardafoto.com/api/resolve

When a visitor enters a link and presses the tool's button, the visitor's browser sends **only the URL that the visitor pasted** to the GuardaFoto API so that it can be resolved. The plugin does not send WordPress user data, site data, cookies, post content or administrator information to GuardaFoto. GuardaFoto resolves supported links against the public information made available by the relevant platform and returns the image name, type and public image URLs.

The plugin's PHP code does not download or execute remote files. All API communication is initiated from the visitor's browser after the visitor uses the tool.

Use of the images and destination services remains subject to the applicable platform terms, including:

* YouTube Terms of Service: https://www.youtube.com/t/terms
* Spotify Terms and Conditions of Use: https://www.spotify.com/legal/end-user-agreement/
* Deezer Terms of Use: https://www.deezer.com/legal/cgu
* Apple Media Services Terms and Conditions: https://www.apple.com/legal/internet-services/itunes/

== Installation ==

1. Upload the `guardafoto` folder to the `/wp-content/plugins/` directory, or install the ZIP file through **Plugins > Add New > Upload Plugin** in WordPress.
2. Activate **GuardaFoto — Profile Photo & Cover Downloader** through the **Plugins** screen.
3. Edit a post or page.
4. Insert the **GuardaFoto** block, or add the `[guardafoto]` shortcode.
5. Publish the page and paste a supported public link into the tool to test it.

No account, API key or configuration is required.

== Frequently Asked Questions ==

= Which links work? =

Public YouTube channel and video links, Spotify artist, album, track, playlist, show and episode links, Deezer artist, album, track and playlist links, and Apple Music album and song links are supported. A private, deleted or otherwise unavailable item cannot be resolved.

= Does GuardaFoto offer every possible size? =

It displays the real image sizes returned by the GuardaFoto API. The largest available size depends on what the source platform publishes. For example, a YouTube video may not have an HD thumbnail, while a channel profile photo may be available up to 1600 x 1600.

= Does the plugin store visitor links or photos? =

No. The plugin itself stores nothing in the WordPress database and does not save the submitted link or the returned images on the WordPress server. When a visitor uses the tool, the visitor's browser sends only the pasted URL to the GuardaFoto API for that lookup, as explained in the External service section above.

= Why does the tool need an external API? =

Some public platform pages and image variants cannot be resolved reliably from a visitor's browser alone. GuardaFoto's API performs that lookup centrally, so this plugin stays small and does not need to scrape or connect directly to each platform from WordPress.

= Can I use the tool more than once on one page? =

Yes. Each shortcode or block instance works independently. The CSS and JavaScript are loaded only on pages where an instance is rendered.

= Who owns the downloaded images? =

The channel, artist, label, photographer or other original rights holder. GuardaFoto and this plugin do not claim ownership and do not grant reuse rights. Obtain permission from the owner before using an image publicly or commercially.

== Screenshots ==

1. The GuardaFoto lookup box added to a page with the shortcode or block.
2. A resolved result with its preview and verified download sizes.

== Changelog ==

= 1.0.0 =
* Initial release.
* Added the `[guardafoto]` shortcode.
* Added a dynamic GuardaFoto Gutenberg block.
* Added English and Spanish tool interfaces.
* Added lookups for supported YouTube, Spotify, Deezer and Apple Music links through the free GuardaFoto API.

== Upgrade Notice ==

= 1.0.0 =
Initial public release.
