[WordPress] 外掛分享: WST Post Expiration

首頁 › 外掛目錄 › WST Post Expiration
全新外掛
安裝啟用
—
尚無評分
15 天前
最後更新
—
問題解決
WordPress 7.0+ PHP 8.2+ v1.0.0 上架:2026-09-29

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.0.0) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「WST Post Expiration」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

WST Post Expiration adds an expiration date and time to your posts. Once that time passes, the post switches from published to draft automatically. It keeps announcements and campaign pages with a fixed run time from staying public after they are over.
The date is set where you already work: the block editor sidebar, the classic editor meta box, or Quick Edit on the post list. An “Expiration” column is added to the post list, so you can see at a glance which posts expire and when.
How it works

Each post with an expiration date gets its own single WP-Cron event, scheduled for exactly that time
An hourly fallback picks up posts whose event was lost (after a site copy, damaged cron data, and the like)
An expiration date that is already in the past is handled on the next cron run
An expired post becomes a draft. The target status can be changed with the wst_post_expiration_new_status filter
Clearing the field removes the scheduled event

Features

One expiration date and time per post
Set it from the block editor sidebar, the classic editor, or Quick Edit
An “Expiration” column on the post list
Choose which post types can have an expiration date (posts, pages, and custom post types)
A “Scheduled events” section on the settings screen shows the posts with an expiration date and the events registered for them, with a “Reschedule” button to repair a mismatch
Times are evaluated in the site timezone (Settings > General)
Developer hooks: wst_post_expiration_new_status (filter), wst_post_expiration_expired (action), wst_post_expiration_settings_capability (filter)

Capabilities

Setting the expiration date of a post requires permission to edit that post
Changing the plugin settings requires administrator permissions (manage_options). Use the wst_post_expiration_settings_capability filter to change this

Before you start

Expiration relies on WP-Cron. On a low traffic site, cron only runs when someone visits, so the change may be applied a little late. Calling wp-cron.php from a server-side cron job makes it exact.
Moving a post to draft is a real status change. To bring it back, publish it again. The expiration date stays on the post, so it fires again while that time is in the past. Clear or update the date as well.
Deactivating the plugin removes every scheduled event. The dates stay on the posts, so activating it again schedules them once more.

延伸相關外掛

文章
Filter
Mastodon