✅10 Snippets Útiles para Personalizar HivePress (Vol. 5)

¿Quieres ver todos los temas y addons oficiales de HivePress?

En su web encontrarás todos los recursos para montar un marketplace o directorio profesional en WordPress: plugins, temas y extensiones desarrolladas por el propio equipo.

📥 Ver todo en HivePress.io

Este es un enlace de afiliado. A ti no te costará nada extra, pero HivePress puede pagarme una pequeña comisión por recomendarlos. Esto ayuda a que pluginsweb.es siga creando contenido gratuito y útil. ¡Gracias por tu apoyo!

En este quinto volumen seguimos explorando snippets que te permiten llevar HivePress un paso más allá. Algunos están orientados a mejorar el registro de usuarios, otros refuerzan la seguridad, controlan la estructura visual de los anuncios o te permiten modificar pequeños detalles que marcan la diferencia.

Este bloque es especialmente interesante porque mezcla lógica de negocio con mejoras visuales, y contiene tanto código PHP como CSS.

¿Dónde coloco estos snippets?

En este volumen verás snippets tanto en PHP como en CSS. Es importante colocarlos en el lugar correcto para que funcionen sin problemas:

Snippets PHP

1. En el archivo functions.php de tu tema hijo

Ve a Apariencia > Editor de archivos (o entra por FTP), busca el archivo llamado functions.php dentro de tu tema hijo y pega el código al final del archivo.

Importante: si estás usando el tema padre sin un tema hijo, no lo hagas aquí, porque perderás los cambios al actualizar el tema.

2. Usando el plugin «Code Snippets»

Si no quieres tocar archivos o prefieres tener todos los códigos organizados, instala el plugin gratuito Code Snippets.

Una vez instalado:

  • Ve a Snippets > Añadir nuevo
  • Pega el código
  • Activa la opción «Ejecutar en todas partes»
  • Guarda y activa

Este método es más seguro, más limpio y no depende del tema que estés usando.

Snippets CSS

Debes copiarlos y pegarlos en la sección de CSS adicional de tu tema. Puedes encontrarla en Apariencia > Personalizar > CSS adicional.

Empezamos con el quinto bloque de 10.

1. Restringir dominios de correo en el registro de usuarios [PHP]

add_filter( 'hivepress/v1/forms/user_register/errors', function( $errors, $form ) {
if ( ! $errors ) {
$domain = hivepress()->helper->get_last_array_value( explode( '@', $form->get_value( 'email' ) ) );

if ( ! in_array( $domain, [ 'tudominio.com', 'gmail.com' ] ) ) {
$errors[] = 'Este dominio de correo no está permitido.';
}
}
return $errors;
}, 1000 );

Este snippet impide que los usuarios se registren con correos que no pertenezcan a los dominios permitidos. Puedes personalizar la lista de dominios según tu necesidad.

  • Qué hace:
    Valida el correo introducido en el registro y muestra un error si el dominio no está en la lista permitida.
  • Para qué sirve:
    Ideal para comunidades cerradas, redes privadas o cuando quieres evitar registros con correos basura o temporales.

Puedes añadir o quitar dominios en el array ['tudominio.com', 'gmail.com'] según tus preferencias.

2. Añadir un enlace al perfil del vendedor en el menú de cuenta [PHP]

add_filter( 'hivepress/v1/menus/user_account', function ( $menu ) {
if ( is_user_logged_in() ) {
$vendor_id = HivePress\Models\Vendor::query()->filter([ 'user' => get_current_user_id() ])->get_first_id();
if ( $vendor_id ) {
$menu['vendor_profile'] = [
'label' => 'Mi perfil público',
'url' => get_permalink( $vendor_id ),
'_order' => 5,
];
}
}
return $menu;
} );

Este código añade un acceso directo al perfil público del vendedor dentro del panel de usuario.

  • Qué hace:
    Crea una nueva pestaña en el menú de la cuenta que enlaza directamente al perfil público del vendedor (si existe).
  • Para qué sirve:
    Facilita la navegación y permite que el usuario acceda rápidamente a su página pública, ideal para plataformas de servicios.

Puedes cambiar el texto del label si quieres que diga algo diferente como “Ver mi perfil”.

3. Mostrar la imagen del anuncio en lugar de la del vendedor [PHP]

add_filter( 'hivepress/v1/templates/listing_view_block/blocks', function( $blocks ) {
return hivepress()->helper->merge_trees( [ 'blocks' => $blocks ], [
'blocks' => [
'listing_image' => [
'path' => 'listing/view/block/listing-image',
],
],
] );
} );

Este snippet cambia la imagen que se muestra en la tarjeta del anuncio para que sea la del anuncio, no la del proveedor.

  • Qué hace:
    Sobrescribe el bloque de imagen del listado en la vista en bloque (como el grid o tarjetas).
  • Para qué sirve:
    Mucho más visual si tus anuncios tienen imágenes relevantes y no quieres depender del avatar del proveedor.

Asegúrate de que los anuncios tengan imágenes destacadas para que el cambio tenga sentido.

4. Hacer que el enlace de la ubicación no sea clicable [CSS]

.hp-listing--view-block .hp-listing__location a,
.hp-listing--view-page .hp-listing__location a {
pointer-events: none;
}

En muchas plantillas, la ubicación del anuncio aparece como un enlace. Este CSS lo desactiva sin eliminar el texto.

  • Qué hace:
    Evita que el usuario pueda hacer clic en la ubicación del anuncio, manteniendo el estilo pero sin función.
  • Para qué sirve:
    Muy útil si no estás usando búsquedas por ubicación o si prefieres evitar que los usuarios naveguen a listados filtrados por zonas.

Una solución rápida para controlar el flujo de navegación sin modificar la plantilla.

5. Ocultar los campos “booking_offset” y “booking_window” [PHP]

add_filter( 'hivepress/v1/forms/listing_update', function( $form ) {
unset( $form['fields']['booking_offset'] );
unset( $form['fields']['booking_window'] );
return $form;
}, 1000 );

Cuando usas reservas, HivePress muestra dos campos avanzados para ajustar cómo y cuándo se puede reservar. Este snippet los elimina.

  • Qué hace:
    Oculta del formulario de edición del anuncio los campos para definir con cuánta antelación y durante cuánto tiempo se pueden hacer reservas.
  • Para qué sirve:
    Simplifica el proceso de creación del anuncio para usuarios que no necesitan estos niveles de control.

Ideal si quieres que todos los anuncios se comporten igual en cuanto a reservas.

6. Ocultar los anuncios a usuarios no registrados [PHP]

add_action( 'template_redirect', function() {
if ( ! is_user_logged_in() && in_array( hivepress()->router->get_current_route_name(), [ 'listing_view_page', 'listings_view_page' ] ) ) {
wp_safe_redirect( hivepress()->router->get_return_url( 'user_login_page' ) );
exit;
}
} );

Este fragmento protege todo el contenido de anuncios: tanto los listados como las páginas individuales.

  • Qué hace:
    Redirige a la página de login si un visitante no registrado intenta acceder a los anuncios.
  • Para qué sirve:
    Perfecto para webs privadas, catálogos internos o sitios donde los anuncios solo se muestran a miembros registrados.

Un escudo simple pero eficaz si necesitas restringir contenido.

7. Hacer opcional el campo de descripción en los anuncios [PHP]

add_filter( 'hivepress/v1/models/listing', function( $form ) {
$form['fields']['description']['required'] = false;
return $form;
}, 1000 );

Por defecto, HivePress obliga a añadir una descripción en los anuncios. Con este snippet puedes eliminar esa obligación.

  • Qué hace:
    Desactiva la validación que hace obligatorio completar el campo “descripción” al publicar un anuncio.
  • Para qué sirve:
    Ideal para webs donde se publican anuncios muy breves o cuando el título ya es suficientemente descriptivo.

Eso sí, asegúrate de que el contenido no pierda valor si no se incluye ese texto.

8. Obligar a subir al menos una imagen en solicitudes [PHP]

add_filter( 'hivepress/v1/forms/request_update/errors', function( $errors, $form ) {
$request = $form->get_model();

if ( $request && ! $request->get_images__id() ) {
$errors[] = 'Por favor, sube al menos una imagen.';
}

return $errors;
}, 1000 );

Las solicitudes (requests) pueden enviarse sin imagen. Pero en ciertos contextos, es mejor forzar al usuario a añadir al menos una.

  • Qué hace:
    Valida el formulario de solicitud y lanza un error si el usuario no ha subido ninguna imagen.
  • Para qué sirve:
    Mejora la calidad del contenido, sobre todo si necesitas que la solicitud sea visual para que otros puedan entenderla.

Muy útil en webs de diseño, reparaciones, reformas o proyectos visuales.

9. Cambiar la posición del bloque del vendedor en el anuncio [PHP]

add_filter( 'hivepress/v1/templates/listing_view_page', function( $template ) {
return hivepress()->helper->merge_trees( $template, [
'blocks' => [
'listing_vendor' => [ '_order' => 123 ],
],
] );
} );

En la página del anuncio, el bloque del proveedor puede aparecer al final o en medio. Con esto puedes moverlo donde quieras.

  • Qué hace:
    Reordena el bloque que muestra la información del vendedor dentro del anuncio.
  • Para qué sirve:
    Tienes control total sobre el orden visual. Puedes poner la info del proveedor justo al principio, al final o donde prefieras.

Solo necesitas cambiar el número _order para ajustar su prioridad.

10. Ocultar el icono de “Enviar mensaje” en los anuncios [CSS]

.hp-listing--view-block .hp-listing__action--message {
display: none;
}

Si no usas el sistema de mensajería o prefieres evitar contactos directos, puedes ocultar ese icono.

  • Qué hace:
    Elimina el icono de “mensaje” en la vista en bloques de los anuncios, aunque el sistema siga activo.
  • Para qué sirve:
    Evita que los usuarios inicien chats innecesarios o fuerces que se contacten solo por otros medios (teléfono, email externo, etc.).

Ideal para sitios donde el contacto se realiza por canales fuera de la plataforma.

Conclusión

Este volumen te da herramientas clave para controlar quién accede a qué, cómo se ve cada bloque, y qué tipo de interacción quieres permitir. Combina ajustes funcionales con personalizaciones visuales para seguir llevando tu web al siguiente nivel.

Como siempre, recuerda probar cada cambio antes en un entorno seguro y aplicar solo lo que encaje con tu tipo de proyecto. Nos vemos en el Volumen 6 con más snippets útiles y bien explicados.

Nos vemos en el siguiente tutorial. Un saludo.

¿Quieres ver todos los temas y addons oficiales de HivePress?

En su web encontrarás todos los recursos para montar un marketplace o directorio profesional en WordPress: plugins, temas y extensiones desarrolladas por el propio equipo.

📥 Ver todo en HivePress.io

Este es un enlace de afiliado. A ti no te costará nada extra, pero HivePress puede pagarme una pequeña comisión por recomendarlos. Esto ayuda a que pluginsweb.es siga creando contenido gratuito y útil. ¡Gracias por tu apoyo!

5/5 - (2 votos)
Compartir Artículo

Un comentario

  1. Fran Salas Master WP 1 año atrás

    ¿Tienes alguna duda sobre HivePress y sus temas? Déjala en los comentarios.

¿Tienes una duda o sugerencia sobre este artículo?

Puedes dejar un comentario de forma anónima, sin necesidad de registrarte ni proporcionar ningún dato personal. Tu mensaje se publicará como “Usuario Anónimo No Premium”, un perfil que agrupa a todos los visitantes no registrados.

Importante: para evitar el spam automático, todos los comentarios anónimos deben comenzar con el símbolo #. Ejemplo: # Tengo una duda sobre los shortcodes personalizados...

Este espacio está destinado exclusivamente a preguntas concretas, dudas o sugerencias relacionadas con el contenido del artículo. Por respeto a los demás lectores, no se publicarán temas sin relación.

Privacidad y normas:
  • No tienes que agregar tu nombre, correo ni ningún otro dato identificativo.
  • No se permiten enlaces en comentarios anónimos.
  • No se permiten símbolos especiales como < o > (menor y mayor que), ya que se consideran intentos de insertar código y serán bloqueados.
  • Todos los comentarios anónimos pasan por revisión antes de ser publicados y solo se aprobarán si aportan valor al contenido del artículo.
¿Quieres comentar con tu nombre y que tu mensaje se publique al instante? Inicia sesión o regístrate.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

0%