Antarnisti Kaskus Smiley WordPress Plugin

Author: Tom Antarnisti
Author URI: https://antarnisti.com
Plugin URI: https://antarnisti.com/kaskus-smiley/
Current Version: 2.4.1
Requires at least: WordPress 5.8
Tested up to: WordPress 7.0
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Tags: kaskus, emoticon, smiley, emoji, comment, post, comments, posts, smileys, smilies, animated gif, classic editor

Description

Antarnisti Kaskus Smiley is a WordPress plugin that adds Kaskus-style smileys to posts, pages, and comments.

Kaskus Smiley, also known as Kaskus Emoticon, was widely used in Kaskus, one of Indonesia’s most popular online communities. This plugin was originally developed as a continuation of an older plugin named Kaskus Emoticon, which was first developed by nartzco and later stopped receiving updates.

This 2.4.1 maintenance build renames the plugin from Kaskus Smiley to Antarnisti Kaskus Smiley and keeps the cleaned-up codebase for newer WordPress versions: no direct wp-config.php loading, nonce checks, capability checks, input sanitization, output escaping, and proper script/style enqueueing.

This version supports:

  • replacing smiley shortcodes in post content;
  • replacing smiley shortcodes in comments;
  • smiley picker for the Classic Editor;
  • smiley picker near the WordPress comment form;
  • light and dark smiley picker background option;
  • disabling selected smileys from the settings page;
  • optional disabling of WordPress native emoji scripts and styles.

Important Note

This plugin includes Kaskus-style smiley image assets. The smiley images are associated with Kaskus.

For personal use, this plugin can be used on your own WordPress site. However, before submitting this plugin to the official WordPress.org plugin directory, the license status of all bundled image assets must be clear and compatible with WordPress.org plugin directory requirements.

In short: the plugin code has been cleaned up, but the bundled image assets may still need separate permission or license clarification before public distribution through WordPress.org.

Installation

  1. Download the plugin ZIP file.
  2. Go to your WordPress dashboard.
  3. Open Plugins → Add New → Upload Plugin.
  4. Upload the plugin ZIP file.
  5. Activate the plugin.
  6. Configure the plugin from the Antarnisti Kaskus Smiley menu in the WordPress admin area.

Usage

After activation, Kaskus smiley codes used in post content and comments will be converted into smiley images.

The plugin also adds a smiley button for the Classic Editor. If your site uses the block editor, the smiley replacement still works on rendered post content, but the editor picker is mainly designed for the Classic Editor workflow.

Comment Form Support

Since version 2.0.0, Kaskus Smiley uses the WordPress comment_form_defaults filter to place the smiley picker near the comment textarea.

If your theme uses the standard WordPress comment_form() function, the smiley picker should appear normally.

If your theme uses a fully custom comment form, the smiley picker may not appear. In that case, the theme’s comment form needs to be adjusted to use WordPress’ standard comment_form() function.

Disable WordPress Native Emoji

Version 2.3.0 includes an option to disable WordPress native emoji scripts and styles.

This is useful if you want Kaskus Smiley to handle emoji/smiley output without WordPress also loading its own emoji detection script and Twemoji-related assets.

The plugin can disable:

  • WordPress emoji detection script;
  • WordPress emoji styles;
  • emoji handling in TinyMCE;
  • emoji staticization in feeds, comment RSS, and email;
  • DNS prefetch to WordPress emoji CDN.

Most Common Problem

If the smiley picker does not appear below the comment box, the most likely reason is that your theme does not use the standard WordPress comment_form() function.

To fix this, update your theme’s comments.php file so it uses:

comment_form();

instead of a fully custom comment form.

Changelog

2.4.1

Fixed WordPress Plugin Check warnings/errors: stricter input handling, escaped smiley HTML output calls, prefixed global variables in smiley lists, simplified emoji DNS prefetch removal, and direct-access protection for index files.

2.4.0

  • Renamed plugin from Kaskus Smiley to Antarnisti Kaskus Smiley.
  • Renamed the plugin folder and main plugin file for cleaner branding.
  • Added an admin setting to disable WordPress native emoji scripts and styles.
  • Updated readme metadata and visible plugin labels.

2.3.0

  • Added option to disable WordPress native emoji scripts and styles.
  • Removed direct wp-config.php loading from the old wizard flow.
  • Replaced the old wizard URL with an admin-hook based Thickbox modal for the Classic Editor.
  • Added nonce and capability checks to settings saving.
  • Sanitized saved plugin options.
  • Validated disabled smiley keys.
  • Escaped admin output and plugin-generated URLs/attributes.
  • Replaced hardcoded /wp-content/plugins/ URLs with plugin_dir_url().
  • Enqueued CSS and JavaScript through WordPress APIs.
  • Removed default frontend author backlink behavior.
  • Updated plugin headers and readme metadata.
  • Improved compatibility with newer WordPress versions.

2.0.1

  • Previous public release.

2.0.0

  • Placed Kaskus Smiley tab after the comment textarea.
  • Added “Most Common Problem” note to documentation.

1.5.0

  • Moved admin menu and added icon.

1.4.0

  • Added index.php files to help prevent direct directory browsing.

1.3.0

  • Separated CSS and JavaScript files.

1.2.0

  • Added option to select light or dark theme.

1.1.1

  • Added style variables to reduce file size.

1.1.0

  • Added style to clean smiley images from unwanted border, background, and box shadow.

1.0.0

  • Antarnisti Kaskus Smiley plugin was reborn.

Download

Download the latest version here:

Kaskus Smiley 2.3.0
https://drive.google.com/file/d/1MvgQBoB4aPg3yZsnGKaZ3GsDidnPqPIG/view?usp=drive_link

Questions and Feedback

Q : Does this support the block editor?

A : The content replacement works on rendered post content. The editor picker is designed for the Classic Editor/media button flow.

Q : Why do I not see the smiley picker near comments?

A : The picker is injected through `comment_form_defaults`. If a theme uses a fully custom comment form instead of WordPress `comment_form()`, the picker may not appear.

Q : Should I also use a separate disable WordPress emoji plugin?

A : No. Antarnisti Kaskus Smiley includes a setting to disable WordPress native emoji scripts and styles. Using a separate plugin for the same task is unnecessary.

If you use this plugin or have questions about it, feel free to leave a comment on this page.