Foro aNieto2k » Wordpress

Busqueda por multicategorias

(3 posts)

No tags yet.

  • Started 10 months ago by danatky
  • Latest reply from danatky
  1. danatky
    Member

    Hola! ¿Conocen algún plugin que permita buscar todos los post de determinadas cateogrías que puedan elejirse por medio de un casilla (por ejemplo)?

    La idea es para un blog inmobiliario en que cada post es una propiedad categorizado según sea una casa, local, terreno... tenga 1, 2 o 3 habitaciones, etc... y en el cual a través de la selección de las categorías que desee, el usuario pueda encontrar una propiedad (post del blog!)

    Les agradecería enormemente si conocen un plugin de búsqueda de este estilo! ¡Desde ya gracias!

    Posted 10 months ago #
  2. Admin
    Key Master

    He encontrado esto a ver si te sirve:
    http://wordpress.org/support/topic/223854

    <?php
    function wpmm_load_category() {
    	if (!empty($_POST['wpmm'])){
    		$cats = $_POST['wpmm'];
    		$count = 0;
    		$sql = array();
    		foreach ($cats as $cat) {
    			if ($cat == 0)
    				unset($cats[$count]);
    			else
    				array_push($sql, $cat);
    			$count++;
    		}
    	query_posts(array('category__'.$_POST['mmctype'] => $sql));
    	}
    }
    
    function widget_wpmm($args) {
    	extract($args);
    	global $wpdb;
    	$children = $wpdb->get_results('SELECT tx.term_id, tx.parent, t.name
    																	FROM '.$wpdb->term_taxonomy.' as tx, '.$wpdb->terms.' as t WHERE tx.taxonomy = "category"
    																	AND t.term_id = tx.term_id AND tx.parent != 0
    																	ORDER BY tx.parent, t.name ASC', ARRAY_A);
    	$parents = $wpdb->get_results('SELECT tx.term_id, t.name
    																 FROM '.$wpdb->term_taxonomy.' as tx, '.$wpdb->terms.' as t WHERE tx.taxonomy = "category"
    																 AND t.term_id = tx.term_id AND tx.parent = 0 AND t.name != "Uncategorized"
    																 ORDER BY t.name ASC', ARRAY_A);
    	echo $before_widget;
    	echo $before_title . '<center> Search by Item and Location </center>' . $after_title .'
    	<center><form action="" method="post" id="wpmm">';
    	foreach ($parents as $p){
    	echo '<select name="wpmm[]"><option value="0">'.apply_filters('single_cat_title', stripslashes(str_replace('"', '', $p['name']))).'</option>';
    	foreach ($children as $c){
    	$selected = '';
    	if (!empty($_POST['wpmm'])){
    		foreach ($_POST['wpmm'] as $cat){
    			if ($cat == $c['term_id'])
    				$selected = 'selected="selected"';
    		}
    	}
    	if ($p['term_id'] == $c['parent'])
    		echo '<option '.$selected.' value="'.$c['term_id'].'"> '.apply_filters('single_cat_title', stripslashes(str_replace('"', '', $c['name']))).'</option>';
    	}
    	echo '</select>';
    	}
    	$checked1 = '';
    	$checked2 = '';
    	if ($_POST['mmctype'] == 'and')
    		$checked2 = 'checked="checked"';
    	else if ($_POST['mmctype'] == 'in')
    		$checked1 = 'checked="checked"';
    	else
    		$checked2 = 'checked="checked"';
    
    	echo 'Any <input type="radio" name="mmctype" value="in" '.$checked1.'> All <input type="radio" name="mmctype" value="and" '.$checked2.'><input type="submit" value="GO"></form></center>'.$after_widget;
    }
    
    function wpmm_widgets(){
    	register_sidebar_widget('Multi-Category', 'widget_wpmm');
    }
    
    add_action('init','wpmm_load_category');
    add_action('plugins_loaded', 'wpmm_widgets');
    ?>

    Es para hacer un Widget, pero quizás puedas sacar algo que te sirva.

    Saludos

    Posted 10 months ago #
  3. danatky
    Member

    Bueno, al final encontré un plugin que sirve para lo que necesitaba! se llama Advance Search y este es el link por si alguien más lo quiere: http://www.zirona.com/software/wordpress-advanced-search/

    Gracias igual por el aporte!

    Posted 9 months ago #

RSS feed for this topic

Reply

You must log in to post.