web-dev-qa-db-fra.com

Comment afficher le nom du terme de taxonomie dans un widget

J'ai une taxonomie par exemple "pays" et je veux simplement afficher le terme dans la barre latérale, par exemple. Nouvelle-Zélande. Il n'y a qu'une seule taxonomie possible par message, je n'ai donc pas besoin de créer de liste ni quoi que ce soit. Des idées?

1
deadhippo

Vérifiez les propriétés de get_queried_object() .

Exemple de code:

<?php # -*- coding: utf-8 -*-
/**
 * Plugin Name: Current Term Widget
 */

add_action( 'widgets_init', array ( 'Current_Term_Widget', 'register' ) );

class Current_Term_Widget extends WP_Widget
{
    public function __construct()
    {
        parent::__construct( 'current_term', 'Current Term' );
    }
    public function widget( $args, $instance )
    {
        if ( isset ( get_queried_object()->taxonomy )
            && isset( get_queried_object()->name )
        )
        {
            return print $args['before_widget']
                . '<b style="padding:10px;border:3px solid red">'
                . get_queried_object()->name
                . '</b>'
                . $args['after_widget'];
        }
    }
    public static function register()
    {
        register_widget( __CLASS__ );
    }
}

Voici une copie d’écran pour les archives de la catégorie Cat B à partir des données de test :

enter image description here

Pour limiter la sortie du widget à une taxonomie, comparez get_queried_object()->taxonomy avec votre nom de taxonomie enregistré.

1
fuxia