Built a thing: Crosspost to Inkwell β€” submitted to WordPress.org today πŸŽ‰

ΞVΞžπŸ¦‹
ΞVΞžπŸ¦‹
2 min read
Built a thing: Crosspost to Inkwell β€” submitted to WordPress.org today πŸŽ‰

Here’s how this plugin came together over the past two weeks:

02/27/26, 1:02 AM EST β€” Started with a simple idea: I wanted my WordPress posts to automatically show up in my Inkwell journal without copy-pasting. Asked Claude to build the initial plugin. First version had auto-crosspost on publish, a manual crosspost button in the editor sidebar, featured image upload, tags, privacy settings, and per-post overrides.

03/01/26, 12:55 AM EST β€” Pulled in the actual Inkwell API docs from inkwell.social/developers and rebuilt the API layer to match the real endpoints. Discovered a double-posting bug almost immediately β€” WordPress fires transition_post_status multiple times on a single save, so entries were being sent twice. Fixed it with a static lock + transient guard + post meta check. Also sorted out the plugin naming.

03/05/26, 9:12 AM EST β€” Hit some errors with a version of the double-post fix, rolled back, sorted it out.

03/06/26, 12:39 AM EST β€” Mapped out the full checklist for submitting to the WordPress.org plugin directory.

03/06/26, 06:00 PM EST β€” Had planned on adding the finishing touches and submitting to WordPress this weekend, but got hit with the covid. Man down. πŸ§πŸΎβ€β™€οΈπŸ›ŒπŸΎπŸ˜­

03/09/26, 8:00 AM EST β€” Recovered. πŸ’ͺ🏾

03/09/26, 4:02 PM EST β€” Submission prep day. Wrote the readme.txt, hit a validator note about the readme format, added a donate link. Looked up the WP.org plugin naming guidelines and renamed the plugin from “WP Inkwell Crosspost” to “Crosspost to Inkwell” to avoid naming guideline issues. Updated Tested up to: 6.9.

03/09/26, 6:15 PM EST β€” Ran the Plugin Check (PCP) tool and got a batch of errors. Did a full security audit pass against the WordPress escaping, sanitizing, and nonces documentation: fixed every $_POST read, output escape, and nonce call in the file. Added full internationalization β€” ~99 strings. Removed a nested <form> element. Moved all JavaScript out of inline <script> blocks into properly enqueued handles. Set version to 1.0.0.

03/09/26, 10:02 PM EST β€” Final round of fixes: moved script enqueue calls into the proper hook, replaced deprecated current_time('mysql') with wp_date(), fixed a License URI inconsistency between files, added Requires at least and Requires PHP to the PHP header, renamed the plugin slug to crosspost-to-inkwell throughout. Submitted.

Pretty excited because this is the first WordPress plugin I’ve ever created, so if it gets approved, it’ll show up at wordpress.org/plugins/crosspost-to-inkwell.

ΞVΞžπŸ¦‹
ΞVΞžπŸ¦‹

@eve Β· Blogger β€’ Artist β€’ Cellist β€’ Gamer β€’ IT chick β€’ Feminist β€’ πŸ‰πŸ“ NY

← Feed

Marginalia3

Stanton @ Inkwell

I read these backwards. Even cooler, look at all of this! And getting hit while covid in the middle of it, ouch. You literally had me LOL. I’m crossing my fingers for approval too! If there is anything I can do to help, please let me know.

ΞVΞžπŸ¦‹

lol thx. yeah i definitely didn’t have covid on my radar. i’m pretty excited for the plugin too. wordpress has a lot of requirements for plugin submissions so i spent hours debugging for any copyright, or security violations. there are 656 plugins waiting for approval ahead of me, so it said it will be up to 10 days to get a reply. can’t wait!

Stanton @ Inkwell

Oh wow, 656 plugins in 10 days, that is insane. I hope they have Claude to help, hahah. I bet you nailed it and can’t wait either!