web-dev-qa-db-ja.com

適切な日付以降の投稿のコンテンツエディタを非表示にする

私は自分の新しいサイトを調整していて、日付X以降に作成された投稿に対してコンテンツエディタを無効にしますが、その日付より前に作成された投稿に対してはその代わりにします。

2
Beer Brother
function disable_editor_for_old_posts_wpse_101106($post) {
  if (strtotime('-2 months') > strtotime($post->post_date)) {
    remove_post_type_support('post','editor');
  }
}
add_action('add_meta_boxes_post', 'disable_editor_for_old_posts_wpse_101106');

私はこれのためのすばらしいフックを見つけることができませんでした、しかしadd_post_meta_boxes_*は十分早いです、そしてそれはコールバックに$postオブジェクトを渡します。

基本的に、フィルタは投稿編集画面で投稿をチェックし、投稿の年齢に基づいて投稿タイプのサポートを削除します。カットオフとして2ヶ月を使いましたが、それは簡単に変更されます。

フロントエンドの投稿メカニズムがないのであれば、バックエンド以外ではエディタについて心配する必要はありません。

エディタを削除するとページが少し見にくくなりますが、edit_form_after_titleを介してある種のメッセージメタボックスを追加するとそれが解決されると思います - https://wordpress.stackexchange.com/ a/100495/21376

参照

http://codex.wordpress.org/Function_Reference/remove_post_type_support

1
s_ha_dum