Posts Panel

The posts panel (admin/posts.php) is where you manage every article on your site — drafts, scheduled posts, published content, and the trash. This page covers every feature in the panel in the order you'll encounter them.

Filter bar

Along the top:

  • Status tabs: All · Published · Draft · Scheduled · Trash with live counts
  • Search: Full-text across title and content
  • Category filter: Dropdown of every category
  • Date range: From / To date picker
  • Author filter: Appears only if your site has multiple authors

Every filter combines — search for "protein" + status Draft + category Nutrition narrows the list accordingly. Filters preserve across pagination and reloads via URL query params.

Bulk actions

Check the box in the table header to select every row on the current page, or individual boxes for a custom selection. The bulk action dropdown supports:

  • Move to Trash — Soft delete (recoverable)
  • Restore — Only visible when viewing the Trash tab
  • Delete Permanently — Only visible in Trash; cannot be undone
  • Publish — Mass-publish drafts
  • Move to Draft — Unpublish

Bulk actions always require CSRF validation — if you see "Security validation failed", refresh the page and try again.

Row actions

Hover over any row to reveal:

  • Edit — Opens the post editor
  • View — Opens the live post (published only)
  • Trash / Restore — Soft delete or recover
  • Delete Permanently — Hard delete, only in Trash tab

All row actions are form POSTs with CSRF tokens (never GET) so they can't be triggered by malicious links pasted into chat or email.

Quick edit

Click the post title once to open inline quick-edit — lets you change title, slug, status, and categories without opening the full editor. Useful for batch renaming or reorganizing.

Common tasks

Publishing a batch of drafts at once

Filter by Status = Draft → select all → Bulk action = Publish → Apply. All selected posts go live with the current timestamp.

Finding posts linking to a specific URL

Use the Search box with the URL (or a unique fragment of it). The search matches post content, so internal link audits are fast.

Rescheduling a missed post

If a scheduled post's date passed but it didn't publish (cron wasn't running), filter by Status = Scheduled → Bulk action = Publish to push them live immediately.

Cleaning up old drafts

Date filter "To" = 6 months ago + Status = Draft → Bulk action = Move to Trash → then empty trash under Settings.

Be the first to know

New features, release notes & CMS guides — a couple of emails a month, no spam.