Natasun releases
Natasun tools and messages for your WordPress dashboard.
by Natasun Company · github.com/natasun/natasun-wordpress-plugin · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/natasun/natasun-wordpress-plugin/releases/download/v1.1.3/natasun.zipReadme
Natasun WordPress Plugin
A small branded plugin for Natasun's client websites. It shows a full-width, non-dismissible banner at the top of the WordPress dashboard with a thank-you message, the Natasun logo, and a button to the client account area.
The plugin is multilingual (follows each user's admin language — English or Persian), extendable (module-based architecture), and ships automatic updates from GitHub Releases.
Features
- Full-width banner at the top of the Dashboard screen (not a sticky header, not closable).
- Natasun logo (44×44) + thank-you message + My Natasun button →
https://my.natasun.ir/authentication/login. - Localized UI: English dashboards show English, Persian dashboards show Persian (
ناتاسان/شرکت ناتاسان/natasun.ir). - Self-hosted updates via GitHub Releases (checked automatically ~every 6 hours).
Requirements
- WordPress 5.8+
- PHP 7.2+
Installation
- Download
natasun.zipfrom the latest GitHub Release. - On the client site: Plugins → Add New → Upload Plugin → select the zip → Install → Activate.
(Or copy the unzipped
natasun/folder intowp-content/plugins/.)
Project structure
natasun.php # Bootstrap, version, constants
includes/class-natasun.php # Container; register new modules here
includes/class-natasun-updater.php # GitHub update checker
includes/admin/class-natasun-dashboard-banner.php # The banner module
assets/css/admin.css # Banner styles (RTL + LTR)
assets/img/logo.png # Banner logo
languages/ # English source strings + fa_IR .po/.mo
tools/compile-mo.js # Dev tool: compiles .po → .mo
.github/workflows/release.yml # Builds natasun.zip on tag push
Configuration (optional, in wp-config.php)
define( 'NATASUN_GITHUB_REPO', 'natasun/natasun-wordpress-plugin' ); // GitHub user/repo for updates
define( 'NATASUN_GITHUB_TOKEN', '' ); // Required only for private repos
Filters
add_filter( 'natasun_dashboard_banner_enabled', '__return_false' ); // hide the banner
add_filter( 'natasun_dashboard_banner_message', 'my_message' ); // custom message
add_filter( 'natasun_dashboard_banner_logo', 'my_logo' ); // { url, width }
add_filter( 'natasun_dashboard_banner_button', 'my_button' ); // { url, label, target }
add_filter( 'natasun_github_repo', 'my_repo' ); // update source repo
add_filter( 'natasun_github_token', 'my_token' ); // private repo token
Translating / adding strings
Source strings are English. Persian translations live in languages/natasun-fa_IR.po.
- Edit
languages/natasun-fa_IR.po(addmsgid/msgstrpairs). - Recompile the binary catalog:
node tools\compile-mo.js
The compiled languages/natasun-fa_IR.mo is what WordPress actually loads.
Releasing a new version (step by step)
The version tag on GitHub must match
Version:innatasun.php(the updater strips the leadingv), and the release must contain an asset named exactlynatasun.zip(the workflow does this automatically).
First-time release (v1.1.0 is already in the repo):
git tag v1.1.0
git push origin v1.1.0
This triggers GitHub Actions, which builds natasun.zip and attaches it to the release. Verify it in GitHub → Actions (green) and Releases (has natasun.zip).
Every future update:
# 1. Bump Version: in natasun.php, e.g. 1.2.0
git add -A
git commit -m "Release 1.2.0"
git push origin main
# 2. Tag it with the SAME version number
git tag v1.2.0
git push origin v1.2.0
The workflow builds and attaches the new zip automatically. Optionally edit the release notes on GitHub — they appear as the changelog in the "View details" modal on client sites.
On client sites:
- The updater polls GitHub every ~6 hours (and daily via WP cron). When a higher version is found, the normal update available badge appears and users click Update Now.
- Installed sites run 1.1.0 while the latest release is 1.1.0 → no update will show until you release 1.2.0.
- Force a check: Plugins → Check for Updates, or
wp plugin update natasun.
Repo visibility:
- Public repo → zero configuration; updates just work.
- Private repo → every site needs
define( 'NATASUN_GITHUB_TOKEN', 'ghp_...' );inwp-config.php.
Read the full README on GitHub →