The plugin's identity has shifted over the day's work — from a notes
pad to a work-logbook with time tracking, earnings, and a Wallet
tile on the v4 roadmap. "WP Notes" undersold what it had become and
collided semantically with WordPress's notes-as-memos connotation;
"WP Logbook" matches both the freelancer use case ("logbook for
clients") and the student use case ("logbook for teachers"), and
matches the exact word the plugin's own About-page intro had been
using all day.
USER-FACING CHANGES
- Plugin Name header: A-WP-Notes → WP Logbook
- Description header rewritten to reflect the work-logbook framing
- Admin menu top-level: WP Notes → WP Logbook
- Admin sidebar submenu: My Notes → My Log (matches new parent —
reads cleanly as "WP Logbook → My Log")
- Admin bar count menu: WP Notes (N) → WP Logbook (N)
- Dashboard widget title: WP Notes → WP Logbook
- Settings page H1: WP Notes Settings → WP Logbook Settings
- Main page H1: WP Notes → WP Logbook
- About page: every brand mention updated; "Go to WP Notes →" CTA
now reads "Go to My Log →" to match the new submenu
- About page version history now leads with v3.2.0 (this release)
as latest, demotes v3.1.0 to the previous entry
- CPT menu_name label: WP Notes → WP Logbook (cosmetic only — CPT
hidden from admin UI since the duplicate-form fix in v3.1.0)
- Migration notice text updated
- Email-feedback subject + body intro updated
- Legacy feedback.php subjects (WP Notes Feedback / Help Request)
→ WP Logbook variants
- error_log() prefix [WP Notes] → [WP Logbook]
ZERO-MIGRATION COMMITMENT — these stay unchanged
- All wp_notes_* function names
- All WP_NOTES_* constants
- All DB option keys (wp_notes, wp_done_notes, wp_notes_settings,
wp_notes_migration_completed, wp_notes_version,
wp_notes_dismissed_empty_active|completed)
- All user_meta keys
- Admin page slug 'wp-notes' (preserves bookmarks, admin-bar
#new-note anchor, and the legacy ?page=wp-notes-create redirect)
- Plugin text domain 'a-wp-notes'
- File and directory names (wp-notes.php, inc/wp-notes-*.php,
assets/wp-notes-banner.jpg)
- Gitea repo name (ranger/a-wp-notes-v3) — David can rename on the
Gitea side separately if he wants
The rename is purely user-facing strings. Existing installs see the
new name appear after a plugin file refresh, with zero behaviour
change. No re-activation needed.
VERSION BUMP
- wp-notes.php header Version: 3.1.0 → 3.2.0
- WP_NOTES_VERSION constant: 3.1.0 → 3.2.0
- CHANGELOG: new [3.2.0] section that bundles the rename with the
post-3.1.0 unreleased work (About-page rewrite, feedback form)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The right-column "Leave Feedback" form on the About page has been
expanded from two radio buttons (user picked one of two) to seven
checkboxes (user can pick any), plus an optional message textarea.
The submit button — which previously called toggleSection() on
element IDs that never existed and did nothing — now AJAX-posts
to a new server-side handler that emails the site admin via
wp_mail().
FORM OPTIONS (checkboxes — multi-select)
- I have ideas to improve this plugin
- I need help with this plugin
- I found a bug
- I'd like to request a new feature
- I'd like to share my use case
- Just saying thanks
- Other
SUBMISSION FLOW
- Client-side: at least one checkbox OR a message is required; an
inline hint shows otherwise.
- AJAX POST wp_notes_submit_feedback with topics[] + message + nonce.
- Server handler (manage_options capability + nonce checked)
sanitizes input, allow-lists the seven topic keys, builds a
plain-text email body (sender + site URL + plugin version +
checked topics with pretty labels + message), and ships it to
get_option('admin_email') via wp_mail() with Reply-To set to the
submitting user.
- Inline success message replaces the form on success; inline error
lets the user retry on failure.
The toggleSection() helper that the old broken handler used is kept
defined for now — it's no longer referenced anywhere on the About
page, so it's flagged in the changelog for a future Tier-2 removal
pass.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The About page had been showing "Version 2.0.3 (Current)" while the
plugin reports v3.1.0 — the on-page version log was years behind
the actual changelog. Both the About and Version History sections
were also hidden behind onclick=toggleSection() buttons by default,
which is anti-UX for a page users specifically navigate to in order
to READ content.
Rewrote the left column as three plain cards using the same visual
rhythm as the side-by-side intro row that landed earlier today:
1. What WP Notes does — two paragraphs of prose
2. Who it's for — clean bulleted list (dropped the "Teachers ←
Email Notifications" entry since that feature isn't implemented
in v3.x; the claim was misleading)
3. Version history — compact, accurate, latest-first summary:
v3.1.0 (latest, with "latest" pill) → v3.0.2 → v2.x → v2.0.0.
Plus a "View the full CHANGELOG.md →" link to the canonical
history on Gitea so the on-page summary stays small.
Also fixed:
- Removed redundant duplicate paragraphs ("WP Notes is a versatile
plugin that caters to a wide range of users" appeared twice in
two consecutive lines).
- Removed invalid HTML (bare <li> outside <ul>, <p> wrapping <li>).
- Removed a buried banner image + buried Buy-Me-A-Coffee that
were inside the hidden-by-default Version History toggle —
visible to no-one. Both already exist in better positions on
the page.
Added CSS classes for the new cards (.wp-notes-about-card,
.wp-notes-about-card--versions) including a green "latest" pill
on the current version and monospaced version labels in the
plugin's blue.
Right-column feedback box unchanged. toggleSection() helper kept
(still referenced by the feedback form's submit handler — its
broken behaviour is a separate Tier 2 problem).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The "No active/completed notes found" notice was already dismissible
per-page-load (WP core's X button hides it), but pressing X only
cleared it for the current view — it returned on the next refresh.
The dismissal is now persisted to user_meta per-user-per-list-type,
so once closed it stays closed across page loads until the flag is
reset.
MECHANICS
- inc/wp-notes-display.php now checks get_user_meta(uid,
'wp_notes_dismissed_empty_<type>') before rendering and skips the
notice render entirely when set.
- New AJAX handler wp_ajax_wp_notes_dismiss_empty validates a nonce
and the edit_posts capability, then writes the flag via
update_user_meta(). type=active|completed; anything else 400s.
- An inline jQuery handler in wp_notes_add_inline_scripts() listens
for clicks on .wp-notes-empty .notice-dismiss (WP core's auto-
injected X button) and fires the AJAX call. The visual hide is
still WP core's job.
- The notice element carries data-wp-notes-empty-type and a fresh
per-render data-wp-notes-nonce for the round trip.
RESET
The flag is per-user-meta keyed wp_notes_dismissed_empty_active /
wp_notes_dismissed_empty_completed. wp_delete_user removes them
automatically. A UI button to reset dismissed notices is not built
yet — flagged in the changelog as a future enhancement.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The inline notice on the My Notes page rendered with class="notice
notice-info" but no is-dismissible modifier, so WordPress's core
common.js never attached an X close button. Users had no way to
clear the empty-state message for the current view.
Audited every notice the plugin emits while I was in there — the
migration notice and the settings_errors() calls were already
correctly dismissible AND only fired in their intended state. The
empty-state notice was the only laggard. All four notice paths now
share the same contract: dismissible by the user, AND only rendered
when the underlying state warrants it.
Dismissal is per-page-load (WP core's default behavior — clicking X
hides the element for the current view only). Cross-page-load
persistence would need user_meta or a transient and isn't built
yet; flagged in the changelog for a future enhancement.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The "Create WP Note" submenu was misleadingly narrow — that page is
the central dashboard (create form + active list + completed list +
edit + restore). Renamed to "My Notes" to match the WP-native
"Posts → All Posts" pattern and reflect that users land there for
everything, not just creation.
"About WP Notes" → "About": the WP Notes brand is already carried by
the parent menu, so the submenu can be plain-spoken.
CHANGES
- wp-notes.php: WP Notes submenu "Create WP Note" → "My Notes"
- wp-notes.php: Tools menu shortcut "Create WP Note" → "My Notes"
(same target page)
- wp-notes.php: WP Notes submenu "About WP Notes" → "About"
- wp-notes.php: callback docblock updated to reflect new name
- inc/wp-notes-about.php: page H1 trimmed to match the Tier-1 style
on the main page (h1 "About" + version chip + wp-header-end hr),
replacing the previous "Welcome to WP Notes About Page v3.0.2"
- inc/wp-notes-about.php: removed a redundant nested
<div id="header"> with display:none that was dead markup leftover
from an older layout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The banner image was the first thing under the page title on the
Create-Note page — taking significant vertical space before the user
saw the textarea. The Create-Note page is for *doing*, not for
*reading-about*.
CHANGES
- Banner removed from wp_notes_page_callback() — Create-Note page
now opens straight into the form.
- Banner added to the top of the About page in a new side-by-side
row: image on the left capped at 320px wide (not full-bleed), and
a short intro paragraph + "Go to WP Notes →" CTA on the right.
Stacks vertically on narrow screens via flex-wrap.
- The side-by-side block lives in its own .wp-notes-about-intro
container so it doesn't tangle with the rest of the About page's
pre-existing nested toggles (those are still on the Tier 2 list).
- .wp-notes-header-banner / .wp-notes-banner-img CSS removed from
wp-notes-styles.php — no longer referenced anywhere.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Single-pass UX cleanup of the main WP Notes admin page. Functionality
unchanged; the page is shorter, has one H1, and stops contradicting
itself.
CHANGES
- Single H1 on the page (was five different H1s).
- Welcome/about content collapsed from THREE on-page surfaces (top
dismissible notice + nested toggle + Show/Close button row) to one
single description line linking to the dedicated About page where
the long copy already lives.
- Two duplicate "Toggle Welcome Section" buttons with the SAME label
but different targets — both removed.
- Embedded "What's New v3.0.0" changelog block deleted: it was
hard-coded to v3.0.0 while the plugin reports v3.0.2. The real
history is in CHANGELOG.md.
- "Buy me a coffee" button moved from page header to page footer —
promo shouldn't be the first thing under the page title.
- Invalid HTML cleaned up (li outside ul, p wrapping div/ul) by way
of removing the welcome blob that contained it.
- Dead bulk-action UI removed: per-row checkboxes and "Select all"
header in both wp_notes_display_notes() and wp_notes_list_table()
rendered but nothing acted on the selection. Removed with inline
comments marking the spot for when real bulk-actions land. Edit
form colspan adjusted to match the new column count.
- ~80 lines of inline style+script for the about-box dismissal
removed (localStorage tracking, show/hide handlers, two style
blocks). WordPress's notice notice-info is-dismissible + user-meta
is the right path if a banner needs to return.
- toggleSection() JS helper removed (no toggles remain).
- Small CSS additions to inc/wp-notes-styles.php for the header
banner and footer-support link.
ALSO FIXED
- PHP 8.2 deprecation: ${size}px → {$size}px in the dashboard
list-table render. ${var} interpolation is deprecated since 8.2
and will hard-error in 9.0.
NET DIFF: wp-notes.php -213 lines, total -111 lines across 4 files
(plus a new CHANGELOG entry). Storage model unchanged.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Imports the v3.0.2 line of A-WP-Notes as it existed on M5 at:
Local Sites/wordpress/public/wp-content/plugins/a-wp-notes/
This is a deliberately minimal parallel fork of the plugin, distinct
from the v1.2.0 line in ranger/a-wp-notes. It carries only the core
note-taking functionality:
wp-notes.php — plugin bootstrap + admin UI
inc/wp-notes-display.php — note rendering
inc/wp-notes-about.php — About page
inc/wp-notes-feedback.php — feedback module
inc/wp-notes-styles.php — style enqueues
inc/wp-notes-updater.php — self-hosted updater stub
inc/admin-bar.php — admin bar integration
js/wp-notes-feedback.js — feedback front-end
js/Chart.js — charting (bundled)
assets/wp-notes-banner.jpg — plugin banner
The AI ecosystem (chat, personalities, MCP), speed-test system, OS info
pages, and the bulk of the v1.2.0 / v2.0.x feature surface are
intentionally absent — this fork was created by copying the plugin to a
second WP install and trimming back to a lighter baseline.
Archived for comparison and parallel-line testing. No further development
is planned on this line; the active line continues at v1.2.0 in
ranger/a-wp-notes.