Contenidos del curso
Antes de dar de alta nuestras propiedades, vamos a modificar la plantilla de Detalles de propiedad, que en el modo de edición de inmuebles aparece con una serie de campos predefinidos en inglés:
Para modificarla tenemos que editar el archivo functions.php del tema AgentPress Pro que localizamos en la ruta:
/wp-content/themes/agentpress-pro/functions.php
Editamos el archivo functions.php con nuestro editor de textos preferido. En concreto tenemos que localizar la parte del código:
//* Filter the property details array
add_filter( 'agentpress_property_details', 'agentpress_property_details_filter' );
function agentpress_property_details_filter( $details ) {
$details['col1'] = array(
__( 'Price:', 'agentpress' ) => '_listing_price',
__( 'Address:', 'agentpress' ) => '_listing_address',
__( 'City:', 'agentpress' ) => '_listing_city',
__( 'State:', 'agentpress' ) => '_listing_state',
__( 'ZIP:', 'agentpress' ) => '_listing_zip',
);
$details['col2'] = array(
__( 'MLS #:', 'agentpress' ) => '_listing_mls',
__( 'Square Feet:', 'agentpress' ) => '_listing_sqft',
__( 'Bedrooms:', 'agentpress' ) => '_listing_bedrooms',
__( 'Bathrooms:', 'agentpress' ) => '_listing_bathrooms',
__( 'Basement:', 'agentpress' ) => '_listing_basement',
);
return $details;
}
Los arrays «col1» y «col2» representan las dos columnas de Detalles de la Propiedad:
Podemos modificar las etiquetas definidas en inglés y ponerlas en español.
//* Filter the property details array
add_filter( 'agentpress_property_details', 'agentpress_property_details_filter' );
function agentpress_property_details_filter( $details ) {
$details['col1'] = array(
__( 'Precio:', 'agentpress' ) => '_listing_price',
__( 'Dirección:', 'agentpress' ) => '_listing_address',
__( 'Población:', 'agentpress' ) => '_listing_city',
__( 'Provincia:', 'agentpress' ) => '_listing_state',
__( 'Código postal:', 'agentpress' ) => '_listing_zip',
);
$details['col2'] = array(
__( 'Referencia:', 'agentpress' ) => '_listing_mls',
__( 'Tamaño:', 'agentpress' ) => '_listing_sqft',
__( 'Dormitorios:', 'agentpress' ) => '_listing_bedrooms',
__( 'Baños:', 'agentpress' ) => '_listing_bathrooms',
__( 'Garaje:', 'agentpress' ) => '_listing_garaje',
);
return $details;
}
Además podemos modificar el nombre de la variable por un nombre acorde a la etiqueta que hemos definido, por ejemplo:
__( 'Garaje:', 'agentpress' ) => '_listing_garaje',
Si queremos añadir un nuevo campo, basta con copiar una de las filas y modificar tanto la etiqueta como la variable. Por ejemplo si queremos crear un campo para especificar el certificado energético de la vivienda, añadimos:
__( 'Certificado energético:', 'agentpress' ) => '_listing_certificado',
De forma que nuestro archivo functions.php quede así:
Guardamos los cambios y volvemos a la pantalla de edición de inmuebles para comprobar que los campos han cambiado correctamente:
Paola Robayo dice
Hola, muchas gracias por tus videos, han sido de gran ayuda. Estuve hoy configurando las etiquetas y todo bien hasta que entre de nuevo a realizar otro cambio en el archivo functions.php y a partir de ahi no pude volver a entrar a mi pagina web. Me aparece http error 500. Intente volviendo a escribir todas las palabras en ingles pero nada. Algun consejo?
Daniel, Gestionatuweb.net dice
Hola, te comento por aquí también la consulta que hiciste en Youtube:
Al cambiar los campos de detalles de la propiedad a español, solo hay que cambiar la etiqueta, es decir, si tenemos la fila:
__( ‘Price:’, ‘agentpress’ ) => ‘_listing_price’,
Solo hay que cambiar el: __( ‘Precio:’, ‘agentpress’ ) => ‘_listing_price’,
El _listing_price, que es el nombre de la variable donde se guarda el valor del precio, hay que dejarlo como está, ya que luego la plantilla toma esa variable para mostrar el precio en la web. Si lo cambiamos, ya no reconoce esa variable y de ahí a que salga vacío.
Los nombres de variables que si puedes especificar como desees son aquellos que tú agregues a los que ya existen, por ejemplo: __( ‘Garaje:’, ‘agentpress’ ) => ‘_listing_garaje’,
Respecto al error 500, se trata de un error en el código. Seguramente te hayas dejado algo sin cerrar (un paréntesis, una coma…).
Si pegas aquí tu código puedo intentar descubrir qué es lo que falla.
¡Un saludo!