Essentials

Filament Admin

Managing blog posts, categories, and tags in the Filament admin panel.

Posts Resource

The PostResource provides a full CRUD interface for blog posts.

Form Fields

FieldTypeNotes
TitleTextInputRequired, max 255
SlugTextInputAuto-generated, unique, frozen on rename
ContentMarkdownEditorRequired, full toolbar
ExcerptTextarea3 rows
StatusToggleHydrates to/from the `Draft
Published AtDateTimePickerFuture value = scheduled
CategorySelectSearchable, create inline
TagsSelectMulti, searchable, create inline — only visible when features.tags is on
AuthorSelectDefaults to current user
Featured ImageFileUploadImage, public disk — auto-swaps to SpatieMediaLibraryFileUpload when features.media_library is on AND the package is installed
SEOSEO ComponentTitle + description (collapsible)

List Tabs

Posts are organized into tabs:

TabFilter
Draftsstatus = draft
Scheduledstatus = published AND published_at > now
Publishedstatus = published AND published_at <= now

Per-row actions

  • View — opens the post URL (published) or signed preview URL (draft) in a new tab
  • Edit — edit form
  • Delete / Force Delete / Restore — soft delete support

Bulk actions

ActionEffect
PublishSets status = Published and published_at to now (or keeps existing if already set)
UnpublishSets status = Draft and clears published_at
ScheduleModal with DateTimePicker (min: now); sets status = Published + that timestamp
Delete / Force Delete / RestoreStandard soft-delete bulk operations

All bulk actions notify on completion and deselect rows.

Categories Resource

Simple CRUD for blog categories: name, slug (auto-generated, unique), posts_count column, soft-delete support, trashed filter.

Tags Resource (opt-in)

Appears in the Blog navigation group when features.tags is enabled. Mirrors the Categories resource shape: name, slug (auto-generated, unique, frozen on rename), posts_count column, soft-delete support, trashed filter.

When the flag is off, the resource class still exists but shouldRegisterNavigation() returns false so it doesn't appear in the sidebar.

See the Tags Taxonomy page for full schema and usage.

Plugin Registration

AppPanelProvider.php
use ManukMinasyan\FilamentBlog\FilamentBlogPlugin;

$panel->plugins([
    FilamentBlogPlugin::make(),
]);

The plugin auto-discovers PostResource, CategoryResource, and TagResource under the "Blog" navigation group. Resources hidden by feature flags don't appear in the sidebar — they're still resolvable for tests and direct URL access.