web-dev-qa-db-ja.com

[プレビューの変更]ボタンを無効にする

管理パネルから[プレビューの変更]ボタンを非表示にする方法

誰も手伝ってくれる?

1
Alex

$ post_typeを問題のあなたのpost_typeに置き換えてください。投稿、ページ、cpt_slug、…

プレビューボタンでメタボックスをエコーする関数は post_submit_meta_box と呼ばれます。ボタンを表示する条件は、関数 is_post_type_viewable で設定されます。その後:{$ post_type}のフラグpublicly_queryableまたは_builtinpublictrueに設定されている場合、プレビューボタンが表示されます。それは、公に問い合わせ可能なすべての組み込み投稿タイプがとにかくそのボタンを持つことを意味します。公に問い合わせ可能である必要がなければ、CPTのためにあなたはフラグを適応させることができます。

$ post_typeを公にクエリしたいが、プレビューボタンを必要としない場合はどうなりますか?

あなたは簡単な解決策のために運が悪いです。しかし、回避策は常にあります。

  1. post.php/post-new.phpとあなたの$ post_typeの条件であなたがロードしたカスタムCSSでボタンを隠します。
  2. 同じ条件でJSでボタンを非表示にします。
  3. メタボックスを取り外して、自分のものと交換してください。ここにあなたが始めるためのいくつかのコード。

    function add_custom_submit_box() {
        $publish_callback_args = null;
        //TODO: Add revisions support if needed, see wp-admin/edit-form-advanced.php Line 219 if needed.
        remove_meta_box( 'submitdiv', $post_type, 'side');
        add_meta_box( 'submitdiv', __( 'Publish' ), 'my_{$post_type}_submit_meta_box', $post_type, 'side', 'core', $publish_callback_args );
    }
    
    add_action('init','add_custom_submit_box');
    
    function my_{$post_type}_submit_meta_box( $post, $args = array() ) {
        //TODO: Copy & paste post_submit_meta_box function and adapt to your needs.
    }
    
3
iantsch