Tabla de contenidos
Introducción #
La página de búsqueda de inmuebles permite a los usuarios explorar propiedades mediante una interfaz clara, que incluye:
- Formulario lateral de filtros activado con el botón “Filtros”
- Listado en forma de tarjetas que muestra resultados dinámicos
- Pestañas para visualizar inmuebles en modo lista o en mapa
- Paginación y manejo de errores
Este archivo base está compuesto por varios componentes que se cargan mediante visualinmu_load_template()
, permitiendo una estructura modular y fácil de sobrescribir en el tema hijo.
Vista del componente #


Codigo de la pagina #
<div class="visualinmueble-search">
<div class="offcanvas offcanvas-start" data-bs-scroll="true" tabindex="-1" id="offcanvasWithBothOptions"
aria-labelledby="offcanvasWithBothOptionsLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasWithBothOptionsLabel">Filtros</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<?php visualinmu_load_template("inmuebles/componentes/search/search-form-sidebar.php", get_defined_vars()); ?>
</div>
</div>
<div class="container-fluid contenedor-visual-inmueble">
<?php if (isset($error)): ?>
<div class="row">
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<strong>Información: </strong> <?php echo $error; ?>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
</div>
<?php endif; ?>
<div class="d-flex flex-column">
<?php visualinmu_load_template("inmuebles/componentes/search/search-header.php", ["paginador" => $paginador]); ?>
<div class="tab-content">
<div class="tab-pane show active " id="listtab" role="tabpanel" aria-labelledby="list-tab">
<div class="cuerpo-grilla-inmuebles">
<?php if (isset($inmuebles)): ?>
<div>
<?php if (count($inmuebles) > 0) {
/** CARDS **/
visualinmu_load_template("inmuebles/componentes/search/cards.php", ["inmuebles" => $inmuebles]);
} else { ?>
<div class="row">
<div class="col-12 text-center">
<h3> No existen resultados para esta búsqueda.</h3>
<?php visualinmu_load_template("inmuebles/componentes/search/search-widgets.php"); ?>
</div>
</div>
<?php } ?>
</div>
<?php endif; ?>
<?php if (isset($paginador)) {
/** PAGINADOR */
visualinmu_load_template("inmuebles/componentes/search/paginator-form.php", ["paginador" => $paginador]);
} ?>
</div>
</div>
<div class="tab-pane" id="mapa-tab" role="tabpanel" aria-labelledby="mapa-tab">
<?php if (count($inmuebles) > 0) { ?>
<?php visualinmu_load_template("inmuebles/componentes/search/mapa.php", ["inmuebles" => $inmueblesJson]); ?>
<?php if (isset($paginador)) {
/** PAGINADOR */
visualinmu_load_template("inmuebles/componentes/search/paginator-form.php", ["paginador" => $paginador]);
} ?>
<?php } else {
?>
<div class="row">
<div class="col-12 text-center">
<h3> No existen resultados para esta búsqueda.</h3>
<?php visualinmu_load_template("inmuebles/componentes/search/search-widgets.php"); ?>
</div>
</div>
<?php
} ?>
</div>
</div>
</div>
</div>
</div>
Ruta del archivo #
El archivo principal es search.php
, ubicado en:
/wp-content/plugins/visualinmueble/inmuebles/search.php
Puedes sobrescribirlo en tu tema hijo creando la siguiente ruta:
tu-tema-hijo/visualinmueble/templates/inmuebles/search.php
Personalizar #
Esto te permite personalizar:
- El diseño del formulario de filtros (
search-form-sidebar.php
) - El encabezado con resultados y pestañas (
search-header.php
) - La presentación de las tarjetas de inmuebles (
cards.php
) - El mapa con resultados (
mapa.php
) - El paginador (
paginator-form.php
) - El mensaje y herramientas cuando no hay resultados (
search-widgets.php
)