情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
Content Update Scheduler で更新用に作成した投稿は管理者は見ることができるが、編集者権限では見ることができない。*誰でも見ることができるように設定はできるが、それでは都合が悪いので、編集者権限の担当者が見られるようにしたい。
プラグインファイルを見ると、if(!current_user_can(‘administrator’)){ という箇所があり、ここを書き換えれば変更できるのだが、できればテーマ関数で上書きしたいので、オーバーライドについて調べてみた。
プラグインファイルはclass ContentUpdateScheduler { から始まり、最後にadd_action とadd_filter が並んでいて、ユーザー権限に関する部分はadd_filter になっているので、これをremove して、新たな関数で上書きすればよい、ということのようだ。
class My_ContentUpdateScheduler extends ContentUpdateScheduler { public static function user_restriction_scheduled_content() { global $post; if(!current_user_can('edit_pages')){ $cus_sc_publish_pubdate = get_post_meta($post->ID, 'cus_sc_publish_pubdate', true); if(!empty($cus_sc_publish_pubdate)){ global $wp_query; $wp_query->set_404(); status_header(404); get_template_part(404); //wp_redirect( esc_url(get_permalink($post->post_parent)) exit(); } } } } remove_filter( 'template_redirect', array( 'ContentUpdateScheduler', 'user_restriction_scheduled_content' ), 1, 3); add_filter( 'template_redirect', array( 'My_ContentUpdateScheduler', 'user_restriction_scheduled_content' ), 10, 1);