=== Social Proof Wall ===
Contributors: webandsoftware
Tags: social proof, instagram, google reviews, social wall, testimonials
Requires at least: 5.8
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.2
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Automatically display your latest Instagram, Facebook, LinkedIn and Google Reviews as a beautiful, trust-building Social Wall on your website.

== Description ==

**Social Proof Wall** automatically collects your latest public posts from Instagram, Facebook, LinkedIn and Google Reviews – and displays them as an attractive, always up-to-date Social Wall directly on your website.

No more manual copy-pasting. No outdated screenshots. Just live social proof that builds trust with every visitor.

= Why Social Proof Wall? =

Website visitors trust real reviews and social media posts far more than any advertising claim. Social Proof Wall brings that trust directly to your website – automatically.

= Features =

* **Instagram** – Display your latest Business or Creator posts with images
* **Facebook** – Show your latest Page posts including images
* **Google Reviews** – Embed star ratings and customer reviews (4–5 stars only)
* **LinkedIn** – Embed your latest company page post via oEmbed
* **Demo Mode** – Test the layout with realistic dummy data before connecting any API
* **Smart Caching** – Posts are cached in your database (configurable interval, default 6h) to avoid unnecessary API calls
* **Responsive Grid** – 2, 3 or 4 columns, collapses cleanly on mobile
* **Shortcode** – `[social_proof_wall]` drops the wall onto any page or post
* **Widget** – Add the wall to any sidebar or footer widget area
* **Accent Color** – Pick any color to match your brand
* **Press Section** – Optional "In the Press" area for media mentions
* **Partner Branding** – Optional footer attribution link (configurable URL)
* **Automatic Refresh** – Cron-based background refresh keeps content current

= Shortcode Usage =

Basic:
`[social_proof_wall]`

With options:
`[social_proof_wall platforms="instagram,google" columns="3" limit="9"]`

Available parameters:

* `platforms` – comma-separated list: `instagram`, `facebook`, `google`, `linkedin`
* `columns` – `2`, `3`, or `4`
* `limit` – maximum number of posts to show (0 = no limit)
* `show_press` – `true` to show the Press section
* `title` – custom heading above the wall

= Getting Started =

1. Install and activate the plugin
2. Go to **Settings → Social Proof Wall**
3. Enable **Demo Mode** to see the wall immediately with sample data
4. Add your API credentials for each platform you want to display
5. Disable Demo Mode – the wall now shows your real content

= API Requirements =

* **Instagram** – Meta for Developers account, Instagram Basic Display API, Long-Lived Access Token
* **Facebook** – Meta for Developers account, Page Access Token with `pages_read_engagement` permission
* **Google Reviews** – Google Cloud Console account, Places API enabled, API Key + Place ID
* **LinkedIn** – No API key needed – just your public Company Page URL (oEmbed)

== External services ==

This plugin can optionally connect to third-party APIs to automatically fetch and display your own social media posts and reviews. A connection to a given service is only made if you enter that service's API credentials in the plugin settings (Settings → Social Proof Wall). If a platform is left unconfigured, or if Demo Mode is enabled, no request is sent to that service. Requests are made periodically via WordPress Cron (default every 6 hours, configurable) and whenever you trigger a manual cache refresh in the admin settings.

No data about your site's visitors is ever sent to these services — only the credentials/URLs you configure are transmitted, solely to retrieve your own public content, which is then cached in your WordPress database.

**Instagram (Meta Graph API)**
Used to fetch your latest Instagram posts (caption, image, permalink, timestamp). When configured, your Instagram access token is sent to `https://graph.instagram.com/me/media`.
Service provided by Meta Platforms, Inc.: [Terms of Service](https://developers.facebook.com/terms/), [Privacy Policy](https://www.facebook.com/privacy/policy/)

**Facebook (Graph API)**
Used to fetch your latest Facebook Page posts (message, image, permalink, date). When configured, your Facebook Page access token and Page ID are sent to `https://graph.facebook.com/`.
Service provided by Meta Platforms, Inc.: [Terms of Service](https://developers.facebook.com/terms/), [Privacy Policy](https://www.facebook.com/privacy/policy/)

**Google Reviews (Google Places API)**
Used to fetch your Google Business reviews (author name, rating, text, profile photo URL). When configured, your Google Place ID and API key are sent to `https://maps.googleapis.com/maps/api/place/details/json`.
Service provided by Google LLC: [Terms of Service](https://developers.google.com/maps/terms), [Privacy Policy](https://policies.google.com/privacy)

**LinkedIn (oEmbed)**
Used to embed your latest public LinkedIn Company Page post. When configured, your LinkedIn company page URL is sent to LinkedIn's public oEmbed endpoint at `https://www.linkedin.com/oembed`. No API key or login is required; only public posts can be embedded this way.
Service provided by LinkedIn Corporation: [User Agreement](https://www.linkedin.com/legal/user-agreement), [Privacy Policy](https://www.linkedin.com/legal/privacy-policy)

== Installation ==

1. Upload the plugin files to `/wp-content/plugins/social-proof-wall/`, or install directly via the WordPress plugin screen
2. Activate the plugin through the **Plugins** screen in WordPress
3. Go to **Settings → Social Proof Wall** to configure
4. Use the shortcode `[social_proof_wall]` on any page

== Frequently Asked Questions ==

= Do I need accounts on all platforms? =

No. You can use any combination of platforms. Only configure the ones you want to display.

= Can I test it without API keys? =

Yes! Enable **Demo Mode** in the settings to see the wall with realistic sample data immediately – no API keys required.

= How often are posts refreshed? =

By default every 6 hours via WordPress Cron. You can change the interval in the settings, or trigger a manual refresh with the button in the settings page.

= Will this slow down my website? =

No. All API data is cached in your WordPress database. Visitors never wait for external API calls – they always see the cached version.

= Is it mobile-friendly? =

Yes. The grid is fully responsive and collapses automatically on smaller screens.

= Why do I only see 4–5 star Google Reviews? =

Social proof works best with positive reviews. The plugin filters out reviews below 4 stars to keep your wall trustworthy and relevant.

= Can I style it to match my website? =

Yes. You can set a custom accent color in the settings. For advanced styling, all elements have CSS classes prefixed with `spw-` that you can target in your theme's custom CSS.

= Is the plugin free? =

Yes, completely free and open source (GPL-2.0).

== Screenshots ==

1. The Social Wall displayed on a page – 3-column layout with Instagram, Google Reviews and Facebook posts
2. Plugin settings page with Demo Mode toggle
3. Google Review card with star rating and author avatar
4. Instagram post card with image
5. Mobile view – single column layout

== Changelog ==

= 1.0.2 =
* Fixed: "Tested up to" bumped to 7.1
* Fixed: prefixed local template variables in templates/card.php, templates/wall.php and templates/widget.php with `sproofwall_` (WordPress.NamingConventions.PrefixAllGlobals)

= 1.0.1 =
* Fixed: prefixed all function, class, define, hook and option names with `sproofwall_` / `SPROOFWALL_` to avoid naming collisions
* Fixed: frontend accent-color CSS is now added via `wp_add_inline_style()` instead of an inline `<style>` tag
* Fixed: removed remote-hosted demo images (Unsplash/pravatar); demo posts now ship without external image dependencies
* Added: "External services" section in this readme documenting the Instagram, Facebook, Google Places and LinkedIn API calls
* Added `webandsoftware` to Contributors

= 1.0.0 =
* Initial release
* Instagram, Facebook, Google Reviews and LinkedIn support
* Demo Mode with realistic sample data
* Shortcode and Widget support
* Smart database caching with configurable interval
* Responsive 2/3/4 column grid
* Custom accent color picker
* Optional Press section
* Partner branding with configurable link
* Manual cache refresh in admin

== Upgrade Notice ==

= 1.0.2 =
Internal cleanup, no action required.

= 1.0.1 =
Internal naming and asset-loading fixes, no action required.

= 1.0.0 =
Initial release.
