Widget para exibir nuvem de tag de taxonomia personalizada

Como alterar o widget padrão para exibir uma nuvem de tags de uma taxonomia personalizada?

Solutions Collecting From Web of "Widget para exibir nuvem de tag de taxonomia personalizada"

Não conhece nenhum, mas você pode facilmente criar o seu próprio:

< ?php add_action("widgets_init", array('Widget_Custom_tax_tag_cloud', 'register')); class Widget_Custom_tax_tag_cloud { function control(){ echo 'No control panel'; } function widget($args){ echo $args['before_widget']; echo $args['before_title'] . 'Your widget title' . $args['after_title']; $cloud_args = array('taxonomy' => 'Your taxonomy here'); wp_tag_cloud( $cloud_args ); echo $args['after_widget']; } function register(){ register_sidebar_widget('Widget name', array('Widget_Custom_tax_tag_cloud', 'widget')); register_widget_control('Widget name', array('Widget_Custom_tax_tag_cloud', 'control')); } } ?> 

basta alterar: ‘Your widget title’ com seu título e Your ‘taxonomy here’ com o nome de sua taxonomia.

você pode mudar a aparência passando mais argumentos nos $ cloud_args da lista grande no códice

Espero que isto ajude.

A resposta existente aqui é excelente, mas, infelizmente, devido à idade da resposta, ela não funciona para versões mais recentes do WordPress.

O código abaixo melhora de duas maneiras:

1 – É o método recomendado / melhor prática para versões mais recentes do WordPress, a partir da versão 2.8

2 – Permite que você selecione a taxonomia através da interface do widget do painel, em vez de ter uma codificação rígida.

 add_action( 'widgets_init', 'custom_register_plugin_widget' ); function custom_register_plugin_widget() { register_widget( 'Widget_Custom_Tax_Tag_Cloud' ); } /** * New "best practice" is to extend the built-in WP_Widget class * * Class Widget_Custom_tax_tag_cloud */ class Widget_Custom_Tax_Tag_Cloud extends WP_Widget { function __construct() { parent::__construct( 'custom_tax_tag_cloud', 'Custom Taxonomy Tag Cloud', array( 'description' => 'Display a tag cloud for a custom taxonomy.' ) ); } /** * Allows for manipulation, calculation, etc. when saving the widget instance in the dashboard. * * @param array $new_instance * @param array $old_instance * * @return array */ function update( $new_instance, $old_instance ) { return $new_instance; } /** * Echos the widget contents in a sidebar * * @param array $args - the general widget arguments * @param array $instance - the settings for this specific widget */ function widget( $args, $instance ) { echo $args['before_widget']; echo $args['before_title'] . 'Your widget title' . $args['after_title']; $cloud_args = array( 'taxonomy' => 'catalogtag' ); wp_tag_cloud( $cloud_args ); echo $args['after_widget']; } /** * Render the "Controls" in the dashboard menu under Appearance => Widgets * * @param array $instance - the settings for this instance of the widget * * @return null */ function form( $instance ) { $instance = wp_parse_args( (array) $instance, array( 'title' => '', 'taxonomy' => 'post_tag' ) ); // Load the list of taxonomies available $taxonomies = get_taxonomies( array( 'public' => TRUE , 'show_tagcloud' => TRUE), 'objects' ); echo '

'; echo '

'; } }

Embora tecnicamente você possa apenas adicionar isso ao arquivo de funções do seu tema, tende a preferir colocá-lo em um arquivo de tema separado (como widgets.php e incluindo esse arquivo no arquivo de funções.