PHP code example of williamundqvist / scheduled-page-reviews
1. Go to this page and download the library: Download williamundqvist/scheduled-page-reviews library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
williamundqvist / scheduled-page-reviews example snippets
add_action('scheduled_page_reviews/cron/run_completed', function (array $state, array $grouped): void {
foreach ($grouped as $key => $items) {
if (!str_starts_with($key, 'user:')) continue;
$userId = (int) substr($key, 5);
$hook = get_user_meta($userId, 'slack_webhook', true);
if (!$hook) continue;
wp_remote_post($hook, [
'body' => wp_json_encode([
'text' => sprintf('%d page(s) need review', count($items)),
]),
]);
}
}, 5, 2);
// And opt those same users out of email digests:
add_filter('scheduled_page_reviews/owner/should_notify', function (bool $should, int $userId): bool {
return $should && !get_user_meta($userId, 'slack_webhook', true);
}, 10, 2);
add_filter('scheduled_page_reviews/selectable_roles', function (array $slugs): array {
$defaults = ['administrator', 'editor', 'author', 'contributor', 'subscriber'];
return array_values(array_diff($slugs, $defaults));
});
add_filter('scheduled_page_reviews/cron/should_process_page', function (bool $should, int $pageId): bool {
return $should && get_post_status($pageId) !== 'auto-draft';
}, 10, 2);