General
Is Simple Post Like really free?
Yes, completely. Simple Post Like is open-source and licensed under GPL-2.0-or-later — the same license as WordPress itself. There are no premium tiers, no feature locks, and no license keys. Everything described in this documentation is included at no cost.
Does it work with any theme?
Yes. Simple Post Like has no theme dependency whatsoever. It does not require any specific theme, framework, or parent theme. It works with any WordPress theme — block themes, classic themes, and page builder themes alike.
Does it require jQuery?
No. The frontend script is pure Vanilla JavaScript — ES6+, no dependencies. jQuery is not enqueued or required by the plugin in any way.
Does it work with the block editor (Gutenberg)?
Yes. Simple Post Like works with the block editor. Auto-injection hooks into the_content filter which runs regardless of whether content was created with the block editor or the classic editor. The shortcode [simple_post_like] can be placed using the Shortcode block in the block editor.
Will it be available on WordPress.org?
Yes — a WordPress.org submission is planned. Once approved, Simple Post Like will be installable directly from Plugins → Add New in your WordPress admin.
Installation & Setup
How do I install Simple Post Like?
Download simple-post-like.zip from the latest GitHub release, then go to Plugins → Add New → Upload Plugin in your WordPress admin. Upload the zip and activate. See Installation for full instructions.
The like button is not showing on my posts. What should I check?
Work through this checklist:
- Go to Settings → Simple Post Like and confirm the plugin is configured
- Check that Auto Injection is enabled — or that you have placed the
[simple_post_like]shortcode manually - Check that the post type you are viewing is enabled under Post Types
- Check that your theme does not suppress
the_contentfilter — some heavily customised themes or page builders do this - Check that your theme calls
the_content()in its templates — themes that usethe_excerpt()everywhere will not trigger auto-injection
If the button still does not appear, see Troubleshooting.
How do I show the like button on pages as well as posts?
Go to Settings → Simple Post Like → Post Types and check Pages in addition to Posts. Save Settings. The like button will now appear on pages via auto-injection and respond to shortcodes placed in page content.
How do I place the button manually without auto-injection?
Disable the Auto Injection master toggle in Settings, then use the shortcode [simple_post_like] in any post or page content. For PHP template placement use echo spl_like_button() in your template files. See Shortcode Reference and PHP Template Usage for full details.
Likes & Data
Can guests like posts without an account?
Yes, if Allow Guest Likes is enabled in Settings. Guest likes are tracked by a SHA-256 hash of the visitor’s IP address combined with your site’s NONCE_SALT. Raw IP addresses are never stored in the database. See Guest Likes for full details.
Is guest like tracking GDPR-friendly?
The hashed IP approach does not store raw personal data — the hash is one-way, site-specific, and non-reversible. However, privacy compliance depends on your specific situation, jurisdiction, and how your site processes data overall. Consult your own legal advice for your specific case.
Can a user like the same post more than once?
No. The AJAX handler checks whether the current user or guest has already liked the post before recording a new like. Duplicate likes are rejected server-side regardless of what happens on the frontend.
What happens to like data when I deactivate the plugin?
Deactivating the plugin preserves all like data in the database. The _simple_post_like_count, _simple_post_like_users, and _simple_post_like_ips post meta keys remain untouched. Reactivating the plugin restores full functionality with all previous data intact.
What happens to like data when I delete the plugin?
Deleting the plugin triggers the uninstall hook which removes all plugin data cleanly — the post meta keys are deleted and the saved options are removed from the options table. This action is permanent and cannot be undone.
Can I reset the like count for a specific post?
There is no UI for this currently. You can reset a post’s like count directly from the database by deleting the relevant post meta keys, or programmatically:
php
delete_post_meta( $post_id, '_simple_post_like_count' );
delete_post_meta( $post_id, '_simple_post_like_users' );
delete_post_meta( $post_id, '_simple_post_like_ips' );
Display & Customization
Can I change the button color to match my theme?
Yes. Override the --spl-color CSS custom property in your theme’s stylesheet:
css
:root {
--spl-color: #your-brand-color;
}
See CSS Custom Properties for the full list of available properties.
Can I use a different icon instead of the heart?
Not from Settings — the heart icon is the default and only built-in icon. However, you can override the icon via the spl_like_button_html filter or by targeting the .like-btn .fa-heart selector in CSS and replacing it with a custom icon using CSS content tricks or a custom filter. See For Developers for the filter reference.
The like count shows 1K instead of 1000. Can I change this?
Yes. Use the spl_like_count_format filter to override the number formatting:
php
add_filter( 'spl_like_count_format', function( string $formatted, int $raw_count ): string {
return number_format( $raw_count );
}, 10, 2 );
See For Developers for the full filter reference.
Can I show the like button on custom post types?
Yes. Go to Settings → Simple Post Like → Post Types and check any custom post types you want to enable. All public post types registered on your site appear in the list.
Conflicts & Compatibility
Font Awesome is already loaded by my theme. Will the plugin load it twice?
No. Simple Post Like checks whether Font Awesome is already registered in WordPress before enqueueing its own copy. If your theme or another plugin has already registered Font Awesome, the plugin skips its own enqueue entirely.
The like button appears twice on my posts. Why?
This happens when auto-injection is enabled and you have also placed the [simple_post_like] shortcode inside the same post’s content, or called spl_like_button() in a template file. Disable auto-injection in Settings or set the single post injection position to None to resolve this. See Auto Injection for details.
Where do I report a bug or request a feature?
Open an issue on GitHub. Please include your WordPress version, PHP version, theme name, and a clear description of the problem or request.