Pregunta

Esta es una pregunta interesante.

Recientemente he dado cuenta de que si utiliza el código

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

En realidad se está incapaces de modificar la babosa cuando se hace clic en la babosa url bajo el título de la página.

Para aclarar, cuando se utiliza para la remove_meta_box slugdiv, la METABOX y las opciones de la pantalla se eliminan sin embargo, todavía son capaces de hacer clic en el URL bajo el título de la entrada para editarla ... Sin embargo, cuando se va a actualizar / publicar el publicar cualquier modificación que hizo no tomar.

Mi objetivo es eliminar la misma METABOX desde la pantalla posterior edición y sacarlo de la página de opciones de la pantalla pero quiero asegurar que cuando se edita la babosa bajo el título de la entrada que esto todavía funciona.

Puede cualquier persona proporcionar una solución a este problema? Gracias de antemano.

¿Fue útil?

Solución 2

Acabé añadiendo el siguiente CSS en un archivo css que estaba llamando en mi archivo functions.php para el área de administración:

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

#slugdiv { 
    display: none; 
    }

Esto eliminó tanto las opciones de la pantalla y la METABOX mientras que todavía me permite editar la dirección URL con el título.

ACTUALIZADO

Sobre la base de la respuesta proporcionada por FXFUTURE que modificó su código ampliándola e incluyendo los valores CSS para las opciones de pantalla y la babosa METABOX al tiempo que garantiza que el código sólo se incluye en la página posterior a la new.php y 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'  );

Otros consejos

La caja que permite edición babosa bajo el título mensaje es en realidad ligada a la METABOX babosa. Se necesita para el trabajo. Por lo tanto, la eliminación de la METABOX lo romperá.

La única solución, creo, sería el uso de JavaScript o CSS para ocultarlo. Algo como esto funcionará:

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'  );

Se debe llamar remove_meta_box en el gancho add_meta_boxes para conseguir que funcione. Se ensayó en 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' );
}

En lugar de editar su archivo CSS se puede utilizar esto en su 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'  );
Licenciado bajo: CC-BY-SA con atribución
scroll top