Cum să elimini câmpul de descriere pentru categorii/taxonomii în WordPress
Când nu există un hook disponibil, poți recurge mereu la vechile trucuri cu jQuery...
add_action( 'admin_footer-edit-tags.php', 'wpse_56569_remove_cat_tag_description' );
function wpse_56569_remove_cat_tag_description(){
global $current_screen;
switch ( $current_screen->id )
{
case 'edit-category':
// SUNTEM LA /wp-admin/edit-tags.php?taxonomy=category
// SAU LA /wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=1&post_type=post
break;
case 'edit-post_tag':
// SUNTEM LA /wp-admin/edit-tags.php?taxonomy=post_tag
// SAU LA /wp-admin/edit-tags.php?action=edit&taxonomy=post_tag&tag_ID=3&post_type=post
break;
}
?>
<script type="text/javascript">
jQuery(document).ready( function($) {
$('#tag-description').parent().remove();
});
</script>
<?php
}

Mulțumesc. Acest lucru funcționează, deși a trebuit să adaug #description pentru a elimina și câmpul din pagina de editare a categoriei/taxonomiei. Totuși, pare puțin nesigur, deoarece orice element cu ID-ul description va fi eliminat. Pot fi mai specific în țintire? Nu sunt sigur cum să fac asta.

Scriptul este afișat doar pe paginile edit-tags.php
. Tocmai am verificat și, așa cum mă așteptam, există doar un div cu acele ID-uri pe fiecare pagină. Dar voi adăuga un cod suplimentar în răspunsul meu pentru a te asigura că ești pe pagina corectă, fie de etichete, fie de categorii.

Cea mai eficientă metodă de a-l 'elimina' este aplicarea CSS în zona de administrare, folosind hook-ul de acțiune 'admin_head'.
add_action('admin_head', 'my_admin_area_custom_css');
function my_admin_area_custom_css() {
echo '<style>
body.taxonomy-name .term-description-wrap {
display:none;
}
</style>';
}
Notă: Actualizați body.taxonomy-name
cu numele taxonomiei pentru care doriți să ascundeți câmpul de descriere.
Nu există un hook pentru a elimina markup-ul din document, de aceea îl ascundem cu CSS.

Pe pagina de Editare Categorie/Taxonomie, .parent()
nu elimină eticheta câmpului de formular. Iată codul jQuery pentru eliminarea completă pe ambele pagini:
$('#tag-description').closest('.form-field').remove();
$('#description').closest('.form-field').remove();
