Kirby 3 plugin to schedule the automatic publishing of pages (drafts) / unpublishing of pages (listed) on a certain date+time. It is built to work with enabled cache.
- unzip master.zip as folder
site/plugins/kirby-autopublish
or git submodule add https://github.com/bvdputte/kirby-autopublish.git site/plugins/kirby-autopublish
orcomposer require bvdputte/kirby-autopublish
- autopublish changes the status of a given page to
listed
on a given time - autounpublish changes the status of a given page to
draft
on a given time
Add the worker file site/plugins/kirby-autopublish/worker.php
to cron or similar at the desired interval (.e.g. each minute).
💡 This is the preferred method for setting up kirby-autopublish.
When cron is not installed on your server, you can fake cron by enabling this in config.php
.
autopublish:
label: Autopublish on
type: date
time: true
default: now
autounpublish:
label: Automatically unpublish on
type: date
time: true
Set in config.php
:
Autopublish searches for a date-field. By default the name is autopublish
and autounpublish
, but can be changed:
'fieldName' => 'myautopublishfieldname',
'fieldNameUnpublish' => 'myAutoUnpublishFieldName'
By default, this is disabled. Enable:
// Enable poor man's cron
'bvdputte.kirbyAutopublish.poormanscron' => true
The default interval for poor man's cron to check is each minute. Change this to e.g. quarterly:
'bvdputte.kirbyAutopublish.poormanscron.interval' => 15
You can also configure autopublish to run via a webhook:
'bvdputte.kirbyAutopublish.webhookToken' => 'my-secret-token'
Now you can trigger the autopublish check via https://mydomain.com/kirby-autopublish/my-secret-token
.
This plugin is provided "as is" with no guarantee. Use it at your own risk and always test it yourself before using it in a production environment. If you find any issues, please create a new issue.
It is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or any other form of hate speech.