Question

Voici une question intéressante.

J'ai récemment remarqué que si vous utilisez le code

remove_meta_box('slugdiv', 'post', 'normal'); 

vous êtes réellement incapable de modifier la limace lorsque vous cliquez sur la limace url sous le titre de la page.

Pour clarifier les choses, lorsque vous utilisez remove_meta_box pour le slugdiv, le METABOX et les options d'écran supprimeront mais vous êtes toujours en mesure de cliquer sur l'URL sous le titre de poste pour le modifier ... Cependant, quand vous allez à la mise à jour / publier le poste que vous modification apportée ne prend pas.

Mon objectif est de supprimer le même METABOX de l'écran d'édition de poste et retirer de l'options d'écran page, mais je veux faire en sorte que lorsque vous modifiez la limace sous le titre après que cela fonctionne encore.

Quelqu'un peut-il apporter une solution à ce problème? Merci à l'avance.

Était-ce utile?

La solution 2

J'ai fini juste ajouter le CSS suivant dans un fichier css j'ai appelé dans mon fichier functions.php pour la zone d'administration:

[for="slugdiv-hide"] { 
    display: none; 
    }

#slugdiv { 
    display: none; 
    }

éliminaient les deux options d'écran et le METABOX tout en me permettant de modifier l'URL sous le titre.

MISE À JOUR

D'après la réponse fournie par FXFUTURE I modifié son code par l'extension et y compris les valeurs pour les options de css écran et le METABOX slug tout en assurant que le code ne sera inclus sur la page post-new.php et post.php.

// HIDE THE SLUG METABOX AND SLUG SCREEN OPTIONS
   function hide_slug_options() {
    global $post;
    global $pagenow;
    $hide_slugs = "<style type=\"text/css\">#slugdiv, #edit-slug-box, [for=\"slugdiv-hide\"] { display: none; }</style>\n";
    if (is_admin() && $pagenow=='post-new.php' OR $pagenow=='post.php') print($hide_slugs);
   }
   add_action( 'admin_head', 'hide_slug_options'  );

Autres conseils

La boîte qui permet l'édition de limace sous le titre poste est effectivement lié à la METABOX des limaces. Il a besoin de travailler. Donc, en supprimant le METABOX va le casser.

La seule solution, je pense, serait d'utiliser javascript ou css pour le cacher. Quelque chose comme cela fonctionnera:

function hide_slug_box() {
    global $post;
    global $pagenow;
    if (is_admin() && $pagenow=='post-new.php' OR $pagenow=='post.php') {
        echo "<script type='text/javascript'>
            jQuery(document).ready(function($) {
                jQuery('#edit-slug-box').hide();
            });
            </script>
        ";
    }
}
add_action( 'admin_head', 'hide_slug_box'  );

Vous devriez appeler remove_meta_box dans le crochet de add_meta_boxes pour le faire fonctionner. Il a testé sur 4.0.

add_action( 'add_meta_boxes', 'customize_admin_backend_cpt',0 );

function customize_admin_backend_cpt () {
    remove_meta_box( 'slugdiv', 'your_cpt_goes_here', 'normal' );
}

Plutôt que d'éditer votre fichier CSS que vous pouvez utiliser dans votre functions.php:

function hide_all_slugs() {
global $post;
$hide_slugs = "<style type=\"text/css\"> #slugdiv, #edit-slug-box { display: none; }</style>";
print($hide_slugs);
}
add_action( 'admin_head', 'hide_all_slugs'  );
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top