Mostrar Heirachy de categorias no WP Download Monitor

Eu tenho o Download Monitor Plugin instalado e funciona de forma linda, eu só tenho uma pergunta sobre as categorias.

Eu tenho uma categoria pai, Edição 0, que terá em qualquer lugar de 3-6 sub categorias nele. Em vez da seção na página da frente que se parece abaixo, onde ele apenas lista todos os downloads na categoria pai independentemente das sub-categorias,

categorias

Como eu poderia fazer isso parecer com a estrutura abaixo, que realmente usa as categorias, onde clicar na sub-categoria leva você a todos os seus downloads:

Edição 0 (7) >>

  • Notícia
  • Diabetes
  • Visão do mundo
  • entrevistas

(Isso precisa permanecer como links, como acima)

Abaixo está o código para o shortcode download_page, existe uma maneira de incorporar as sub-categorias nesta function?

function wp_dlmp_shortcode_download_page( $atts ) { extract(shortcode_atts(array( 'base_heading_level' => '3', 'pop_count' => '4', 'pop_cat_count' => '4', 'show_uncategorized' => '1', 'per_page' => '20', 'format' => '', 'exclude' => '', 'exclude_cat' => '', 'show_tags' => '0', 'default_order' => 'title', 'front_order' => 'hits' ), $atts)); $output = wp_dlmp_output($base_heading_level, $pop_count, $pop_cat_count, $show_uncategorized, $per_page, $format, $exclude, $exclude_cat, $show_tags, $default_order, $front_order); return $output; } add_shortcode('download_page', 'wp_dlmp_shortcode_download_page'); ?> 

Solutions Collecting From Web of "Mostrar Heirachy de categorias no WP Download Monitor"

A partir da documentação e do seu código de exemplo , não consigo ver uma opção para obter a tree de categorias de downloads.

A function get_downloads retorna uma matriz unidimensional . Talvez uma rotina possa ser construída para convertê-la em uma multidimensional array.

Use isso para ver seus conteúdos:

 $dl = get_downloads(); echo '
' . print_r($dl, true ) . '

';

Outra possibilidade é dada por uma variável global do plugin que contém todas as categorias:

 global $download_taxonomies; echo ''; 

E os resultados são:

 Array ( [1] => download_category Object ( [id] => 1 [name] => util [parent] => 0 [decendents] => [direct_decendents] => [size] => 51 ) [2] => download_category Object ( [id] => 2 [name] => sys [parent] => 0 [decendents] => Array ( [0] => 5 [1] => 7 [2] => 8 ) [direct_decendents] => Array ( [0] => 5 [1] => 7 ) [size] => 3 ) [5] => download_category Object ( [id] => 5 [name] => mac [parent] => 2 [decendents] => Array ( [0] => 8 ) [direct_decendents] => Array ( [0] => 8 ) [size] => 4 ) [7] => download_category Object ( [id] => 7 [name] => windows [parent] => 2 [decendents] => [direct_decendents] => [size] => 0 ) [8] => download_category Object ( [id] => 8 [name] => ipad [parent] => 5 [decendents] => [direct_decendents] => [size] => 0 ) ) 

Usando esta matriz, uma lógica pode ser construída para iterar através dos elementos e exibir a hierarquia de categorias.

Demonstração com um shortcode. Observe que digforcats deve ser um valor nulo:

 add_shortcode('download_cats', 'wpse_73425_download_categories'); function wpse_73425_download_categories( $atts ) { global $download_taxonomies; foreach( $atts as $key=>$value ) $query .= '&' . $key . '=' . $value; $the_cats = '

Download Categories:'; foreach( $download_taxonomies->categories as $category ) { if( $category->parent == 0 ) { $the_cats .= '
' . $category->name . '
'; $dl = get_downloads('category='.$category->id.$query.'&digforcats='); foreach($dl as $d) { $the_cats .= '
https://wordpress.stackexchange.com//questions/73425/show-heirachy-of-categories-in-wp-download-monitor/' .$d->title.' ('.$d->hits.')'; } if( isset( $category->direct_decendents ) ) { foreach( $category->direct_decendents as $cat ) { $the_cats .= '
- - ' . $download_taxonomies->categories[$cat]->name . '
'; $dl = get_downloads('category='.$cat.$query.'&digforcats='); foreach($dl as $d) { $the_cats .= '
https://wordpress.stackexchange.com//questions/73425/show-heirachy-of-categories-in-wp-download-monitor/' .$d->title.' ('.$d->hits.')'; } } } } } return $the_cats; }

Capturas de canvas da página de plugin e a saída do shortcode:

configurações do pluginresultado final

Há uma documentação muito boa no WP Download Monitor disponível no site do autor . Para o que você está tentando fazer, você precisa criar um formato personalizado seguindo os exemplos fornecidos.

Depois de criar e salvar o formato, você pode especificar o formato a ser usado no shortcode ou na sua binding php.