rozanchetta

Wordpress - Taxonomias Drop Down

Oct 25th, 2012
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.46 KB | None | 0 0
  1. <?php
  2. /* DROPDOWN PARA MOSTRAR TAXONOMIAS "MÃES" EM QUALQUER PÁGINA */
  3.                 function get_terms_dropdown_maes($taxonomies, $args) {
  4.                     $myterms = get_terms($taxonomies, $args);
  5.                     $output = '<select name="NOME-DA-TAXONOMIA">';
  6.                     $output .='<option value="#">Filtrar por categoria</option>';
  7.                     foreach ($myterms as $term) {
  8.                         $term_slug = $term->slug;
  9.                         $term_name = $term->name;
  10.                         $link = $term_slug;
  11.                         $output .='<option value="' . $link . '">' . $term_name . '</option>';
  12.                     }
  13.                     $output .='</select>';
  14.                     return $output;
  15.                 }
  16.                 ?>
  17.                 <form action="<?php bloginfo('url'); ?>" method="get">
  18.                     <?php
  19.                     $taxonomies = array('NOME-DA-TAXONOMIA');
  20.                     $args = array('orderby' => 'name', 'hide_empty' => true, 'parent' => 0);
  21.                     $select = get_terms_dropdown_tipo($taxonomies, $args);
  22.                     $select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select);
  23.                     echo $select;
  24.                     ?>
  25.                 </form>
  26. /************************************************************/
  27.  
  28. <?PHP
  29. /* DROPDOWN PARA MOSTRAR APENAS TAXONOMIAS FILHAS NA PÁGINA DA "MÃE"  */
  30.  
  31. function get_terms_dropdown_filhas($taxonomies, $args) {
  32.                     $current_term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy'));
  33.                     $output = '<select name="NOME-DA-TAXONOMIA">';
  34.                     $output .='<option value="#">Sub-categorias</option>';
  35.                     $termID = $current_term->term_id;
  36.                     $taxonomyName = "tipo";
  37.                     $termchildren = get_term_children($termID, $taxonomyName);
  38.                     foreach ($termchildren as $child) {
  39.                         $term = get_term_by('id', $child, $taxonomyName);
  40.                         $slug = $term->slug;
  41.                         $term_name = $term->name;
  42.                         $output .='<option value="' . $slug . '">' . $term_name . '</option>';
  43.                     }
  44.                     $output .='</select>';
  45.                     return $output;
  46.                 }
  47.                 $term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy'));
  48.                 if ($term->parent == 0) { /* se for uma página "mãe" */
  49.                     ?>
  50.                     <form action="<?php bloginfo('url'); ?>" method="get">
  51.                         <?php
  52.                         $taxonomyName = "NOME-DA-TAXONOMIA";
  53.                         $select = get_terms_dropdown_tipo_terms($termID, $taxonomyName);
  54.                         $select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select);
  55.                         echo $select;
  56.                         ?>
  57.                     </form>
  58.                 <?php } else { /* se for uma página de taxonomia filha */?>
  59.                 <form action="<?php bloginfo('url'); ?>" method="get">
  60.                     <select name="NOME-DA-TAXONOMIA">
  61.                         <option value="#">Sub-categorias</option>
  62.                         <option value="#">Não há sub-categorias</option>
  63.                     </select>
  64.                 </form>
  65.                 <?php } ?>
Advertisement
Add Comment
Please, Sign In to add comment