Skip to content

Commit 8b2ec25

Browse files
committed
chore: prepare wordpress.org submission
1 parent 94f7b31 commit 8b2ec25

6 files changed

Lines changed: 208 additions & 5 deletions

File tree

.distignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
.git/
2+
.github/
3+
docs/
4+
tests/
5+
vendor/
6+
.phpunit.cache/
7+
.gitignore
8+
.distignore
9+
composer.json
10+
composer.lock
11+
*.log
12+
.DS_Store

docs/wporg-publishing-checklist.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# WordPress.org Publishing Checklist
2+
3+
Repository: `wp-cron-inspector-lite`
4+
Plugin slug target: `wp-cron-inspector-lite`
5+
6+
## Current status
7+
8+
- Public GitHub repository exists.
9+
- Plugin has been tested on the staging site `peepso.nariyanto.id`.
10+
- Plugin is read-only and does not delete or mutate cron events.
11+
- CI runs PHP tests and PHP syntax checks.
12+
- A screenshot from the staging site is available in `docs/screenshots/` for GitHub documentation.
13+
- Translation template exists at `languages/wp-cron-inspector-lite.pot`.
14+
15+
## Before WordPress.org submission
16+
17+
- [ ] Finalize the v0.1.0 feature scope; avoid adding destructive cleanup in the first submission.
18+
- [ ] Review all user-facing strings for text domain `wp-cron-inspector-lite`.
19+
- [ ] Regenerate `languages/wp-cron-inspector-lite.pot` after any string changes.
20+
- [ ] Run local tests: `php tests/run.php`.
21+
- [ ] Run PHP syntax checks: `find . -path ./vendor -prune -o -name '*.php' -print0 | xargs -0 -n1 php -l`.
22+
- [ ] Confirm `readme.txt` metadata: contributors, tags, requires, tested up to, requires PHP, stable tag, license.
23+
- [ ] Confirm plugin header metadata: version, license, text domain, domain path, minimum WP/PHP versions.
24+
- [ ] Prepare a clean submission zip that excludes `.git`, tests, docs, screenshots, and development-only files unless intentionally included.
25+
- [ ] Add WordPress.org assets after SVN approval: banner, icon, and screenshot files under the SVN `assets/` directory.
26+
- [ ] Submit through the WordPress.org plugin submission form using the `nariyanto` WordPress.org account.
27+
28+
## Recommended first submission scope
29+
30+
Keep the first submission intentionally small:
31+
32+
- Read-only admin page under Tools → Cron Inspector.
33+
- Cron event list.
34+
- Duplicate hook detection.
35+
- Frequent recurring hook detection.
36+
- Overdue event count.
37+
- Copyable support report.
38+
39+
Do not include cron deletion/cleanup actions until after the plugin is approved and users have a safe baseline release.
40+
41+
## WordPress.org review notes to emphasize
42+
43+
- The plugin is read-only.
44+
- It does not send data to external services.
45+
- It does not collect personal data.
46+
- It only reads WordPress' cron array and displays it to administrators with `manage_options` capability.
47+
- It is intended for support/debugging workflows.
48+
49+
## After approval
50+
51+
- [ ] Check out the assigned WordPress.org SVN repository.
52+
- [ ] Copy plugin files into `trunk/`.
53+
- [ ] Put screenshots/banner/icon in SVN `assets/`.
54+
- [ ] Create `tags/0.1.0/` from the approved trunk.
55+
- [ ] Commit to SVN.
56+
- [ ] Verify the public plugin page renders correctly.
57+
- [ ] Tag a matching GitHub release `v0.1.0`.
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# Copyright (C) 2026 Septiyan Nariyanto
2+
# This file is distributed under the GPL-2.0-or-later.
3+
msgid ""
4+
msgstr ""
5+
"Project-Id-Version: WP Cron Inspector Lite 0.1.0\n"
6+
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-cron-inspector-lite\n"
7+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8+
"Language-Team: LANGUAGE <LL@li.org>\n"
9+
"MIME-Version: 1.0\n"
10+
"Content-Type: text/plain; charset=UTF-8\n"
11+
"Content-Transfer-Encoding: 8bit\n"
12+
"POT-Creation-Date: 2026-06-01T14:32:55+00:00\n"
13+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14+
"X-Generator: WP-CLI 2.12.0\n"
15+
"X-Domain: wp-cron-inspector-lite\n"
16+
17+
#. Plugin Name of the plugin
18+
#: wp-cron-inspector-lite.php
19+
#: src/AdminPage.php:14
20+
#: src/AdminPage.php:34
21+
msgid "WP Cron Inspector Lite"
22+
msgstr ""
23+
24+
#. Plugin URI of the plugin
25+
#: wp-cron-inspector-lite.php
26+
msgid "https://github.com/nariyanto/wp-cron-inspector-lite"
27+
msgstr ""
28+
29+
#. Description of the plugin
30+
#: wp-cron-inspector-lite.php
31+
msgid "Find duplicate, stuck, and suspicious WordPress cron events before they cause support issues."
32+
msgstr ""
33+
34+
#. Author of the plugin
35+
#: wp-cron-inspector-lite.php
36+
msgid "Septiyan Nariyanto"
37+
msgstr ""
38+
39+
#: src/AdminPage.php:15
40+
msgid "Cron Inspector"
41+
msgstr ""
42+
43+
#: src/AdminPage.php:25
44+
msgid "You do not have permission to view this page."
45+
msgstr ""
46+
47+
#: src/AdminPage.php:35
48+
msgid "Read-only overview of scheduled WP-Cron events, duplicate hooks, and unusually frequent schedules."
49+
msgstr ""
50+
51+
#: src/AdminPage.php:37
52+
msgid "Summary"
53+
msgstr ""
54+
55+
#. translators: %d: total number of scheduled cron events.
56+
#: src/AdminPage.php:39
57+
#, php-format
58+
msgid "Total events: %d"
59+
msgstr ""
60+
61+
#. translators: %d: number of cron event instances whose hook appears more than once.
62+
#: src/AdminPage.php:40
63+
#, php-format
64+
msgid "Duplicate event instances: %d"
65+
msgstr ""
66+
67+
#. translators: %d: number of cron hooks scheduled more frequently than hourly.
68+
#: src/AdminPage.php:41
69+
#, php-format
70+
msgid "Frequent hooks: %d"
71+
msgstr ""
72+
73+
#. translators: %d: number of cron events scheduled before the current time.
74+
#: src/AdminPage.php:42
75+
#, php-format
76+
msgid "Overdue events: %d"
77+
msgstr ""
78+
79+
#: src/AdminPage.php:46
80+
msgid "Duplicate hooks"
81+
msgstr ""
82+
83+
#: src/AdminPage.php:51
84+
msgid "Unusually frequent hooks"
85+
msgstr ""
86+
87+
#: src/AdminPage.php:55
88+
msgid "Copy support report"
89+
msgstr ""
90+
91+
#: src/AdminPage.php:56
92+
msgid "Use this read-only report in support tickets or debugging notes. Review it before sharing externally."
93+
msgstr ""
94+
95+
#: src/AdminPage.php:59
96+
msgid "Copy report"
97+
msgstr ""
98+
99+
#: src/AdminPage.php:79
100+
msgid "Copied."
101+
msgstr ""
102+
103+
#: src/AdminPage.php:96
104+
msgid "Events"
105+
msgstr ""
106+
107+
#: src/AdminPage.php:100
108+
msgid "Hook"
109+
msgstr ""
110+
111+
#: src/AdminPage.php:101
112+
msgid "Next run (GMT)"
113+
msgstr ""
114+
115+
#: src/AdminPage.php:102
116+
msgid "Schedule"
117+
msgstr ""
118+
119+
#: src/AdminPage.php:103
120+
msgid "Interval"
121+
msgstr ""
122+
123+
#: src/AdminPage.php:104
124+
msgid "Flags"
125+
msgstr ""
126+
127+
#: src/AdminPage.php:109
128+
msgid "overdue"
129+
msgstr ""
130+
131+
#: src/AdminPage.php:109
132+
msgid "frequent"
133+
msgstr ""

readme.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Contributors: nariyanto
33
Tags: cron, wp-cron, debugging, support, admin
44
Requires at least: 6.0
5-
Tested up to: 6.5
5+
Tested up to: 7.0
66
Requires PHP: 7.4
77
Stable tag: 0.1.0
88
License: GPLv2 or later

src/AdminPage.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ public function render(): void
3636

3737
<h2><?php echo esc_html__('Summary', 'wp-cron-inspector-lite'); ?></h2>
3838
<ul>
39-
<li><?php printf(esc_html__('Total events: %d', 'wp-cron-inspector-lite'), (int) $report['summary']['total_events']); ?></li>
40-
<li><?php printf(esc_html__('Duplicate event instances: %d', 'wp-cron-inspector-lite'), (int) $report['summary']['duplicate_hook_count']); ?></li>
41-
<li><?php printf(esc_html__('Frequent hooks: %d', 'wp-cron-inspector-lite'), (int) $report['summary']['frequent_hook_count']); ?></li>
42-
<li><?php printf(esc_html__('Overdue events: %d', 'wp-cron-inspector-lite'), (int) $report['summary']['overdue_event_count']); ?></li>
39+
<li><?php /* translators: %d: total number of scheduled cron events. */ printf(esc_html__('Total events: %d', 'wp-cron-inspector-lite'), (int) $report['summary']['total_events']); ?></li>
40+
<li><?php /* translators: %d: number of cron event instances whose hook appears more than once. */ printf(esc_html__('Duplicate event instances: %d', 'wp-cron-inspector-lite'), (int) $report['summary']['duplicate_hook_count']); ?></li>
41+
<li><?php /* translators: %d: number of cron hooks scheduled more frequently than hourly. */ printf(esc_html__('Frequent hooks: %d', 'wp-cron-inspector-lite'), (int) $report['summary']['frequent_hook_count']); ?></li>
42+
<li><?php /* translators: %d: number of cron events scheduled before the current time. */ printf(esc_html__('Overdue events: %d', 'wp-cron-inspector-lite'), (int) $report['summary']['overdue_event_count']); ?></li>
4343
</ul>
4444

4545
<?php if (! empty($report['duplicates'])) : ?>

wp-cron-inspector-lite.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
* License: GPL-2.0-or-later
99
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
1010
* Text Domain: wp-cron-inspector-lite
11+
* Domain Path: /languages
1112
* Requires at least: 6.0
1213
* Requires PHP: 7.4
1314
*/

0 commit comments

Comments
 (0)