Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Excluir categorias

Estas en el tema de Excluir categorias en el foro de WordPress en Foros del Web. Buenas tardes. He creado un SELECT BOX para elegir en que categoria se desea publicar un post. Como podria hacer para excluir todas las subcategorias ...
  #1 (permalink)  
Antiguo 18/04/2012, 10:49
(Desactivado)
 
Fecha de Ingreso: enero-2004
Mensajes: 136
Antigüedad: 20 años, 3 meses
Puntos: 0
Excluir categorias

Buenas tardes.

He creado un SELECT BOX para elegir en que categoria se desea publicar un post.

Como podria hacer para excluir todas las subcategorias de las categorias principales?

Tengo una funcion que es $excludecat en la que puedo introducir los ID de las categorias para excluirlas, el problema es que debo de excluir mas de 800. Habria alguna manera de crear un rango de numeros para no tener que escribir 800 numeros?

Un saludo.
Código PHP:
Ver original
  1. <div class="create_post_row clearfix"> <label><?php _e(SELECT_CAT_TEXT);?> : <span class="indicates">*</span> </label>
  2. <select name="main_cat"  id="main_cat" class="select">
  3.      <option value=""><?php _e(SELECT_CAT_DL_TEXT);?></option>
  4.      <?php
  5.         $blogcatids = $General->get_blog_catid();
  6.         $excludecat = '1, 96, 98, 58, 59, 6'.$General->get_feature_catid();
  7.         if($blogcatids)
  8.         {
  9.             $excludecat .= ','.$blogcatids;
  10.         }
  11.        
  12.         echo  $General->get_category_dropdown_options($data['main_cat'],$excludecat);
  13.      ?>
  14.      </select>
  15. </div>
  #2 (permalink)  
Antiguo 18/04/2012, 11:14
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 1 mes
Puntos: 656
Respuesta: Excluir categorias

Mirá, acabo de encontrar esta solución que es genial

http://wordpress.stackexchange.com/q...gory-drop-down

colocás en tu functions.php el siguiente código:
Código PHP:
Ver original
  1. function parent_child_cat_select() { ?>
  2.         <script type="text/javascript">
  3.         /* <![CDATA[ */
  4.             jQuery(document).ready(function() {    
  5.                 jQuery('#parent_cat').change(function(){
  6.                     var parentCat=jQuery('#parent_cat').val();
  7.                     // call ajax
  8.                     jQuery.ajax({
  9.                         url:"/wp-admin/admin-ajax.php",
  10.                         type:'POST',
  11.                         data:'action=category_select_action&parent_cat_ID=' + parentCat,
  12.                         success:function(results)
  13.                         {
  14.                         jQuery("#sub_cat_div").html(results);
  15.                         }
  16.                      });
  17.                 });        
  18.             });    
  19.         /* ]]> */
  20.         </script>
  21.  
  22.         <form action="<?php bloginfo('url'); ?>/" method="get">
  23.  
  24.         <div id="parent_cat_div"><?php wp_dropdown_categories("show_option_none=Select parent category&orderby=name&depth=1&hierarchical=1&id=parent_cat"); ?></div>
  25.  
  26.         <div id="sub_cat_div"><select name="sub_cat_disabled" id="sub_cat_disabled" disabled="disabled"><option>Select parent category first!</option></select></div>
  27.  
  28.         <div id="submit_div"><input type="submit" value="View" /></div>
  29.  
  30.         </form>
  31. <?php }
  32.  
  33. function implement_ajax() {
  34.     $parent_cat_ID = $_POST['parent_cat_ID'];
  35.     if ( isset($parent_cat_ID) )
  36.     {
  37.         $has_children = get_categories("parent=$parent_cat_ID");
  38.         if ( $has_children ) {
  39.             wp_dropdown_categories("orderby=name&parent=$parent_cat_ID");
  40.         } else {
  41.             ?><select name="sub_cat_disabled" id="sub_cat_disabled" disabled="disabled"><option>No child categories!</option></select><?php
  42.         }
  43.         die();
  44.     } // end if
  45. }
  46. add_action('wp_ajax_category_select_action', 'implement_ajax');
  47. add_action('wp_ajax_nopriv_category_select_action', 'implement_ajax');//for users that are not logged in.

Y luego desde cualquier plantilla invocás la función de la siguiente manera:
Código PHP:
Ver original
  1. <?php parent_child_cat_select(); ?>
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP

Etiquetas: blog, categorias, excluir, php, post
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:58.