web-dev-qa-db-fra.com

Désactiver le bouton "prévisualiser les modifications"

Comment masquer le bouton "Aperçu des modifications" dans le panneau d'administration?

Quelqu'un peut-il aider?

1
Alex

Veuillez remplacer $ post_type par votre post_type en question, par exemple. post, page, cpt_slug,…

La fonction faisant écho à la méta-boîte avec le bouton de prévisualisation s'appelle post_submit_meta_box . La condition d'affichage du bouton est définie avec la fonction is_post_type_viewable . Suite à cela: Si les {$ post_type} s flags publicly_queryable ou _builtin et public sont définis sur true, le bouton de prévisualisation sera affiché. Cela signifie que tous les types de publication intégrés pouvant être interrogés publiquement auront ce bouton de toute façon. Pour les CPT, vous pouvez adapter les indicateurs si vous n'avez pas besoin de les interroger publiquement.

Que se passe-t-il si je souhaite interroger publiquement mon $ post_type, mais ne souhaite pas de bouton de prévisualisation?

Vous n'avez pas de chance pour une solution facile. Mais il y a toujours une solution de contournement:

  1. Cachez le bouton avec le CSS personnalisé que vous chargez à condition que les écrans post.php/post-new.php et votre $ post_type.
  2. Masquer le bouton avec JS à la même condition.
  3. Retirez la boîte méta et remplacez-la par la vôtre. Voici du code pour vous aider à démarrer.

    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