Como añadir los datos de custom fields en los resultados de la busqueda.

Inicio Foros WordPress Instalación / Actualización Como añadir los datos de custom fields en los resultados de la busqueda.

Este debate contiene 7 respuestas, tiene 3 mensajes y lo actualizó  LGrusin hace 7 años, 7 meses.

  • Autor
    Publicaciones
  • #20687

    Lisard
    Participante

    <p>buenas. </p>
    <p>Hace una semana que intento añadir sin éxito, los datos que se han introducido en cada post como "custom fields". el problema que la web no genera content, pero se estructura por custom fields. Y cuando se utiliza el search, solo me encuentra datos del titulo. </p>
    <p>Quizás es tan fácil que se me ha pasado por alto, pero no consigo salirme. </p>
    <p>la web es http://www.toppinscher.com, si necesitáis algún dato más ya sabéis.
    </p>

  • #50594

    hugorg2010
    Participante

    Agrega este codigo en tu functions.php y en la parte donde dice: contact_name, price , etc, esta marcado con REEMPLAZAR PALABRAS. Cambia esas palabras por los custom field que vos estes usando asi cuando realizes la busqueda va a buscar en el valor del custom field que vos asignaste..

  • #50595

    Lisard
    Participante

    Voy a probar a ver que tal… muchas gracias.

  • #50599

    Lisard
    Participante

    No se que hecho mal pero me ha petado toda la web. no hay una manera más simple?

  • #50614

    hugorg2010
    Participante

    disculpa que quieres decir con ” me ha petado toda la web” ,que causo algun problema??
    te comendo algo sobre este codigo..Cuando realizas un busqueda en wordpress este revisa solo el titulo, contenido o excerpt ya sea en post o paginas…ese codigo lo que hace es que cuando vos realizes una busqueda le dice a wordpress que ademas busque coincidencias en el valor de un custom field que vos definas…por ejemplo: tenes un custom field llamado “ciudad” y en el valor de este custom field le colocas “Buenos Aires”.. Entonces cuando vos realizes una busqueda wordpress se va a fijar tambien si existe alguna coincidencia con el valor del custom field ( Buenos Aires )..eso es toda la funcion que cumple no tiene por que provocar algun problema ni nada por el estilo, te doy algunos puntos para que revises por las dudas si no tienes mucha experiencia modificando archivos de tu theme manualmente.

    [b]Puntos a Revisar:

    1 – Copiar y Pegar el codigo en functions.php
    2 – El codigo debe quedar dentro de las tag usadas en Php.
    Ejemplo:


    3 – Siempre al Copiar y Pegar codigo Php revisa que estas tag y condicionales esten de la manera correcta, por que a veces aparecen espacios entre estos que pueden provocar que tengas algun error.[b]

    Cualquier problema consulta nuevamente, un saludo.

  • #50615

    hugorg2010
    Participante

    [/b]LAS TAGS DE PHP NO TIENEN ESPACIOS

    PARA INICIAR : <?php //ACA VA TODO EL CONTENIDO
    PARA FINALIZAR: ?> //ACA TERMINA EL CONTENIDO
    [/b]

  • #50644

    LGrusin
    Miembro

    Existe un plugin por ahí que permite realizar búsquedas de las palabras contenidas en los artículos y también en los valores definidos en los Custom Fields.

    La idea es utilizar un campo oculto en el formulario para que una función personalizada pueda realizar otra consulta a la base de datos. Al final se muestran los posts que contengan esa palabra tanto en el contenido como en los valores de los Custom Fields.

    En la página del autor explica todo esto con detalle [url=http://guff.szub.net/2006/04/21/search-custom-fields/]search-custom-fields[/url]

    Otra idea sería crear una especie de nube de etiquetas o Tags con los valores de los Custom Fields, o una simple lista con los valores como si fuera cualquier otro enlace. Habría que crear una función que realice una consulta de los posts que contengan esos valores de los Custom Fields. Después se puede añadir como Widget. No creo que esto sea dificil de hacer.

    De lo que se trata es de conseguir mostrar los posts que tengan un Custom Fields.

    La verdad es que me han venido algunas ideas de cómo hacer esto sin plugin. Si lo consigo lo comento aquí.

    Por cierto, pongan los códigos entre comillas invertidas, la tecla que está a la derecha de la P. Si no es imposible que se muestren bien.

    Un saludo

  • #50679

    LGrusin
    Miembro

    Pues nada de lo que he dicho es necesario, todavía es más fácil.

    En el archivo search.php hay que añadir lo siguiente antes del bucle while.

    Lo que hacemos es lo siguiente:
    1 – Se crea otra consulta guardando la anterior.
    2 – Se le pasa el valor del campo de búsqueda a la nueva consulta para que busque en los Custom Fields los artículos que coincidan con la palabra buscada. 'meta_value='.get_search_query())
    3 – Si existe, se muestran los resultados.
    4 – Se sigue con la consulta anterior para mostrar los resultados de la búsqueda como se haría normalmente.

    Quedan algunas cosas que retocar pero lo principal está en el código anterior.

    Un saludo

El foro ‘Instalación / Actualización’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest