=== Recommendations Widget for LinkedIn ===
Contributors: nicolawright
Tags: linkedin, recommendations, testimonials, reviews, widget
Requires at least: 5.5
Tested up to: 7.0
Stable tag: 1.6.2
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Display LinkedIn recommendations as beautiful scrollable cards on any page or post — no subscription, no branding, no API required.

== Description ==

**Recommendations Widget for LinkedIn** lets you manually add LinkedIn recommendations to your WordPress site and display them as clean, professional cards via a shortcode or classic widget.

No API keys. No monthly fees. No third-party branding. Your recommendations, your site, forever.

= Features =

* Simple admin UI — paste name, job title, company, recommendation text, and optional photo URL
* Displays as a horizontal scrolling carousel on both desktop and mobile
* Long quotes clamp to 4 lines with a "Read more / Read less" toggle
* Optional "View on LinkedIn" link on each card
* Drag-to-reorder recommendations without touching any code
* Smart photo cropping — portrait photos anchor to the top so faces stay in frame
* Initials avatar with colour fallback if no photo is provided
* Graceful image fallback — if a photo URL stops working, initials display automatically
* Fully responsive — works on any theme
* Clean, scoped CSS — no conflicts with your theme styles
* Classic widget support for sidebars

= Shortcode Usage =

Place `[rwfl_recommendations] (or the legacy [linkedin_recommendations])` on any page or post.

**Options:**

* `columns` — number of cards per row (default: 3)
* `limit` — max recommendations to show, -1 for all (default: -1)
* `show_link` — show the LinkedIn profile link: true or false (default: true)
* `ids` — show specific recommendations by ID (comma-separated)

**Examples:**

`[rwfl_recommendations] (or the legacy [linkedin_recommendations])`
`[linkedin_recommendations columns="2" limit="6"]`
`[linkedin_recommendations columns="1" show_link="false"]`

= A note on photos =

LinkedIn profile photo URLs cannot be hotlinked — they will stop displaying when loaded from an external site. Save each photo and upload it to your WordPress Media Library, then use that URL. If any photo URL ever fails, the plugin automatically shows the person's initials instead.

= Why manual entry? =

LinkedIn's API does not expose recommendations to third-party applications. Manual entry is the only reliable, Terms-of-Service-compliant approach.

== Installation ==

1. Upload the `recommendations-widget-for-linkedin` folder to `/wp-content/plugins/`
2. Activate the plugin through the **Plugins** menu in WordPress
3. Go to **Recommendations** in the left admin menu and click **Add New**
4. Enter the recommender's name in the title field, then fill in the details below
5. Publish the recommendation
6. Add `[rwfl_recommendations] (or the legacy [linkedin_recommendations])` to any page or post

== Frequently Asked Questions ==

= Why aren't the profile photos showing? =

LinkedIn photo URLs block external embedding. Save each photo to your computer, upload it to your WordPress Media Library (Media > Add New), and use that URL instead.

= Will my data be deleted if I update the plugin? =

No. All recommendations are stored in your WordPress database. Updating or reinstalling the plugin never affects your data.

= Can I control the display order? =

Yes. Go to **Recommendations > Reorder** and drag the cards into the order you want.

= What if I don't have a photo? =

Leave the photo field blank. The plugin shows the person's initials on a coloured background.

= Does it work with the block editor? =

Yes. Add a Shortcode block and paste in `[rwfl_recommendations] (or the legacy [linkedin_recommendations])`.

== Screenshots ==

1. Frontend display — horizontal scrolling recommendation cards
2. Admin entry screen — paste recommendation details
3. Reorder screen — drag and drop to set display order

== Changelog ==

= 1.3.0 =
* Smart photo cropping — portraits anchor to top so faces stay in frame
* Graceful fallback to initials if a photo URL fails to load
* Added photo guidance in admin UI

= 1.2.0 =
* Horizontal scrolling carousel on desktop and mobile
* 4-line quote clamp with Read more / Read less toggle
* Left-aligned card text

= 1.0.0 =
* Initial release

== Upgrade Notice ==

= 1.3.0 =
Fixes photo cropping and adds graceful fallback for broken image URLs. Update recommended.
