About this plugin
Solid Post Likes adds a customizable like button to your posts, pages, custom post types, WooCommerce products and comments. Zero configuration required — activate, pick your post types and go.
The same button likes and unlikes. Visitors can like too (stored anonymized), or restrict liking to logged-in users.
Where it shows:
- All post types, selectable per post type.
- Single posts, and optionally archives, search results and query loops.
- WooCommerce products — all product types (Subscriptions, Bookings, …).
- Post comments, also on custom post types.
- Anywhere you want via shortcode.
Block and shortcodes:
- Like Button block — drop it anywhere, including inside Query Loops. Counter toggle in the sidebar.
- [oacsspl] — the like button. Arguments: post_id, counter=off to hide the count for that instance.
- [oacsspltop count=5 post_type=post] — the most-liked posts, with counts. Add days=7 for trending (most likes in the last 7 days). Add display=image to show the featured image instead of the title. Add category=news to list only the posts of one category.
- [oacsspllist] — the posts the current user likes. Add user_id=123 to show a specific user’s likes.
- [oacs_spl_profile] — same list, table style.
Control who likes:
- Visitors can like. Since 1.2.0 visitors are remembered via an anonymous browser cookie (no personal data, works behind shared/mobile networks); before that via anonymized IP — the stored address always ends in.0.
- Or logged-in users only: the button and count stay visible, clicking sends visitors to the login page (or a custom URL).
- One-way likes: optionally disable unliking to prevent accidental removals.
Design:
- 29 icons for the liked and unliked state, individually selectable.
- Custom text for like and unlike.
- Color, size and padding controls for icon, text and counter.
For admins:
- Sortable “Likes” column on the post list of every enabled post type.
- Liked posts shown in the backend user profile.
- Set or reset like counts manually.
- Disable likes per post ID.
For developers:
- REST API: GET /wp-json/spl/v1/likes/<id> and POST /wp-json/spl/v1/likes/<id>/toggle — for headless and mobile use (Application Passwords supported).
- Every like is stored as its own database row with a timestamp (since 1.2.0) — no more lost likes under concurrent clicks, and trending queries become possible.
- Place the button via your own theme hook (posts and WooCommerce separately).
- before_oacs_spl_button / after_oacs_spl_button filters for custom content around the button.
- Full page cache support: like state and counts load via Ajax, including a fresh nonce, so cached pages keep working.