https://github.com/tarosky/taro-clockwork-post
A WordPress plugin to expire post with specified date.
https://github.com/tarosky/taro-clockwork-post
posts wordpress wordpress-plugin wordpress-plugin-published
Last synced: 3 months ago
JSON representation
A WordPress plugin to expire post with specified date.
- Host: GitHub
- URL: https://github.com/tarosky/taro-clockwork-post
- Owner: tarosky
- License: gpl-3.0
- Created: 2017-06-02T04:03:04.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2025-05-20T07:14:54.000Z (about 1 year ago)
- Last Synced: 2025-05-20T08:25:51.846Z (about 1 year ago)
- Topics: posts, wordpress, wordpress-plugin, wordpress-plugin-published
- Language: PHP
- Homepage: https://wordpress.org/plugins/taro-clockwork-post/
- Size: 87.9 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Taro Clockwork Post
===============================================
Contributors: tarosky,Takahashi_Fumiki
Tags: post, media, expiration
Tested up to: 6.9
Stable tag: nightly
License: GPLv3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.txt
A WordPress plugin to expire post with specified date.
## Description
You can enter expiration date on edit screen.
This plugin runs cron every minute to search expired posts and make them `private`.
## Installation
1. Upload the plugin files to the `/wp-content/plugins/taro-clockwork-post` directory, or install the plugin through the WordPress plugins screen directly.
1. Activate the plugin through the 'Plugins' screen in WordPress.
1. Go to `Setting > Reading` and choose post type to expiration ready.
## Frequently Asked Questions
### How to avoid post status to be private
Private is the default post status but if you want another case, use filter hook for that.
// Filter status if post type is `product`
add_filter( 'tscp_expired_status', function( $status, $post ) {
if ( 'product' == $post->post_type ) {
$status = 'no-stock';
}
return $status;
}, 10, 2 );
If status is `false`, this plugin doesn't change post status.
In such situation, you might need adding any custom field to post.
Use another action which will occur just after `tscp_expired_status`.
// do something just after post status is/isn't changed.
add_action( 'tscp_post_expired', function( $post ) {
// Post is still publish,
// But add some custom fields
update_post_meta( $post->ID, '_not_in_front_page', true );
} );
### Change frequency of expiration check
If you are low-resource environment, you might need low frequency.
For example, assume that your site allows posts to be expired within 10 min.
Use hook to delay interval.
add_filter( 'tscp_cron_interval', function() {
// Change interval from 60 sec to 600 sec.
return 600;
} );
## Changelog
### 1.2.6
* Fix month string error in Clasic editor's meta box. This happened on Any 31st day in a month.
### 1.2.2
* Fix deploy script to avoid incorrect versioning.
### 1.2.1
* Available post type are expanded to all post types with show_ui = true.
* Remove withState from editor script.
### 1.2.0
* Bump required PHP version.
* Fix editor UI.
### 1.1.0
* Support block editor.
### 1.0.1
* Fix broken link on edit screen.
* Add unit test for expiration process.
### 1.0.0
* Initial release.