web-dev-qa-db-fra.com

Comment ajouter un style à la page d'édition de taxonomie

Est-il possible de charger un style personnalisé dans des pages de taxonomie spécifiques? par exemple ces deux pages:

wp-admin/edit-tags.php?taxonomy=news-category&post_type=news
wp-admin/term.php?taxonomy=news-category&..

J'ai ajouté un style à admin, mais un autre pageur a été édité également. Comment pouvons-nous charger le style dans ces deux pages de taxonomie de type message personnalisé?

3
Alen

Vous pouvez le faire comme ça:

add_action ('admin_enqueue_scripts', 'wpse_style_tax') ;

function
wpse_style_tax ()
{
    // these 3 globals are set during execution of {edit-tags,term}.php
    global $pagenow, $typenow, $taxnow ;

    if (!in_array ($pagenow, array ('edit-tags.php', 'term.php')) {
        return ;
        }
    if ('news' != $typenow) {
        return ;
        }
    if ('news-category' != $taxnow) {
        return ;
        }

    wp_enqueue_style ('wpse_my_handle', 'path_to_css_file', ...) ;

    return ;
}

Je sais qu'il existe déjà une réponse acceptée, mais voici une autre façon de faire la même chose en utilisant des crochets.

//* Make sure we're on the load edit tags admin page
add_action( 'load-edit-tags.php', 'wpse_262299_edit_tags' );
add_action( 'load-term.php', 'wpse_262299_edit_tags' );

function wpse_262299_edit_tags() {

  //* Return early if not the news post type
  if( 'news' !== get_current_screen()->post_type ) {
    return;
  }

  $taxonomies = [ 'news-category', 'other-taxonomy' ];
  //* Add actions to $taxonomy_pre_add_form and $taxonomy_pre_edit_form
  array_filter( $taxonomies, function( $taxonomy ) {
    add_action( "{$taxonomy}_pre_add_form",  'wpse_262299_enqueue_style' );
    add_action( "{$taxonomy}_pre_edit_form", 'wpse_262299_enqueue_style' );
  });
}

function wpse_262299_enqueue_style( $taxonomy ) {
  //* All the logic has already been done, do enqueue the style
  wp_enqueue_style( 'wpse-262299', plugins_url( 'style.css', __FILE__ ) );
}
2
Nathan Johnson