=== Sticky Contact Lite === Contributors: hrezaei Tags: whatsapp, contact, floating, sticky Requires at least: 5.2 Tested up to: 7.0 Requires PHP: 7.4 Stable tag: 1.0.3 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Ultra-lightweight floating Call & WhatsApp buttons for WordPress. Minimal, mobile-friendly, and easy to use. == Description == Sticky Contact Lite adds minimal floating Call and WhatsApp buttons to your WordPress site. - Lightweight (no DB tables, no external dependencies) - Auto-injection site-wide or via `[sticcoli_contact]` shortcode - Backward-compatible `[sticky_contact]` shortcode alias - Mobile-only toggle - Manual left/right positioning, suitable for RTL and LTR layouts - Inline SVG icons with no external assets - i18n-ready (Text Domain: sticky-contact-lite) == Installation == 1. Upload the plugin files to `/wp-content/plugins/sticky-contact-lite/`, or install the ZIP via Plugins → Add New → Upload Plugin. 2. Activate the plugin through the Plugins screen in WordPress. 3. Go to **Settings → Sticky Contact** and enter your phone/WhatsApp. 4. (Optional) Use shortcode `[sticcoli_contact]` where needed. == Frequently Asked Questions == = Buttons don’t show up = - Ensure you filled phone or WhatsApp in settings and clicked **Save**. - If “Mobile only” is enabled, test on mobile or disable it. - Ensure your theme calls `wp_footer()`. = How to set WhatsApp link? = - Enter only international digits without a leading local zero (e.g., `98912xxxxxxx`) or a full `https://wa.me/98912xxxxxxx` / `https://api.whatsapp.com/send?phone=98912xxxxxxx` link. = Does the old shortcode still work? = - Yes. `[sticky_contact]` is kept as a backward-compatible alias, but `[sticcoli_contact]` is recommended for new content. = Can I use the shortcode while auto-inject is enabled? = - Yes. If the shortcode is detected in the main post content, the plugin avoids auto-injecting a duplicate set of buttons on that page. == Changelog == = 1.0.3 = * Harden WhatsApp URL validation by allowing only `wa.me`, `www.wa.me`, and `api.whatsapp.com/send?phone=` formats. * Normalize phone numbers to digits plus one optional leading `+`. * Add backward-compatible `[sticky_contact]` shortcode alias. * Add migration from the legacy `sticky_contact_options` option key. * Prevent duplicate output when shortcode and auto-inject overlap; shortcode output takes priority. * Enqueue the tiny frontend stylesheet whenever buttons are configured for reliable shortcode rendering in widgets, blocks, and page builders. * Show admin settings errors when invalid phone/WhatsApp values are rejected. * Improve settings registration with explicit type, default, and sanitize callback. * Replace text glyphs with inline SVG icons. * Improve keyboard focus styling, safe-area spacing, and reduce front-end z-index. * Improve admin field UX with LTR direction, mobile input modes, max length, and translatable placeholders. * Remove the Screenshots section from readme.txt. * Remove duplicate readme tag. = 1.0.2 = * Replace inline CSS with proper `wp_enqueue_style` + `wp_add_inline_style`. * Use unique, prefixed option key `sticcoli_options` and section IDs. * Change shortcode to `[sticcoli_contact]` for uniqueness. * Add frontend CSS file under `assets/css/frontend.css`. = 1.0.1 = * Align ownership metadata and headers/readme. * Remove discouraged load_plugin_textdomain() call; rely on WP core auto-loading (since 4.6). * Minor sanitization of inputs. = 1.0.0 = * Initial release. == Upgrade Notice == = 1.0.3 = Security, compatibility, and UX maintenance release. WhatsApp URL validation is stricter, legacy shortcode/settings compatibility is preserved, duplicate output is prevented, and readme/CSS/i18n details were improved.