Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

[Consulta] Cual funcion modificar para mostrar campos personalizados en entrada

Estas en el tema de [Consulta] Cual funcion modificar para mostrar campos personalizados en entrada en el foro de WordPress en Foros del Web. Hola amigos. Tengo unos campos personalizados. Los obtengo con la siguiente funcion: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original get_field ( "nombre_del_campo" ) ; Hasta aquí ...
  #1 (permalink)  
Antiguo 26/08/2014, 15:57
 
Fecha de Ingreso: agosto-2013
Mensajes: 90
Antigüedad: 8 años
Puntos: 1
[Consulta] Cual funcion modificar para mostrar campos personalizados en entrada

Hola amigos.

Tengo unos campos personalizados.
Los obtengo con la siguiente funcion:
Código PHP:
Ver original
  1. get_field("nombre_del_campo");

Hasta aquí todo bien. Ahora toca agregarlas a la entrada. Buscando he encontrado algo así:
Código PHP:
Ver original
  1. function add_contenido_post($content) {
  2.         $campo = get_field("campo");
  3.         $d = "<p>Esto es un campo que se tiene el valor: $campo</p>";
  4.         $content .= $d;
  5.         return $d;  
  6. }
  7. add_filter ('the_content', 'add_contenido_post');

Si me funciona pero no como yo quiero. Agrega el contenido al final del post, al final del todo, aun después de otras cosas que no están en la etrada, como los enlaces del plugin shareolic.

¿Como puedo modificar a gusto el contenido de la variable $contet?

Muchas Gracias.
  #2 (permalink)  
Antiguo 26/08/2014, 16:56
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.026
Antigüedad: 17 años, 3 meses
Puntos: 832
Respuesta: [Consulta] Cual funcion modificar para mostrar campos personalizados en en

Hola, prueba así:

Código PHP:
Ver original
  1. add_filter ('the_content', 'add_contenido_post');
  2.  
  3. function add_contenido_post( $content ) {
  4.     global $post;
  5.     $campo = get_post_meta($post->ID , 'campo' , true);
  6.     $content .= !empty($campo) ? "<p>Esto es un campo que se tiene el valor: $campo</p>" : '<p>Este campo aún no tiene valor</p>';
  7.     return $content;
  8. }

Cita:
Iniciado por rodo593
¿Como puedo modificar a gusto el contenido de la variable $contet?
Efectivamente adquieres control total sobre el contenido. Te hice un ejemplo rápido, copia/pega esto en tu archivo functions.php y luego mira el resultado en la página:

Código PHP:
Ver original
  1. function algo($content) {
  2.     return str_replace('a' , ' [a] ' , $content);
  3. }
  4.  
  5. add_filter ('the_content', 'algo');

Y revisa este post sobre filtros: http://www.forosdelweb.com/f118/mini...dpress-918980/
  #3 (permalink)  
Antiguo 26/08/2014, 18:38
 
Fecha de Ingreso: agosto-2013
Mensajes: 90
Antigüedad: 8 años
Puntos: 1
Respuesta: [Consulta] Cual funcion modificar para mostrar campos personalizados en en

Muchas gracias Meta por la respuesta. El link que me has colocado me ha resultado de mucho provecho.

En resumen, si yo quiero crear desde 0 mi propio entrada personaliza, tengo que reescribir con funciones, utilizando add_filter.
O sea, recibir el contenido de the_content($content) y empezarlo desde 0.

Estoy mal?

Saludos!
  #4 (permalink)  
Antiguo 26/08/2014, 19:21
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.026
Antigüedad: 17 años, 3 meses
Puntos: 832
Respuesta: [Consulta] Cual funcion modificar para mostrar campos personalizados en en

No entiendo muy bien a qué te refieres con "desde 0", pero el parámetro 'the_content' pasado por filtros equivale a la información alojada en el registro post_content de tu base de datos, más el parseo que el sistema ejecuta a éste. El hook add_filter + la función sirven para realizar las modificaciones que desees sobre los datos ya parseados.
  #5 (permalink)  
Antiguo 26/08/2014, 19:33
 
Fecha de Ingreso: agosto-2013
Mensajes: 90
Antigüedad: 8 años
Puntos: 1
Respuesta: [Consulta] Cual funcion modificar para mostrar campos personalizados en en

Con hacerlo desde 0 me refiero, a que debo de crear la función correspondiente para hacer la concatenación de mis campos personalizados, content .= "< Mas Contenido de los Custom field>";
Ya que mi entrada (el $content) no tiene esos datos de los custom fields, me imagino que tengo que agregarlos, y al agregarlos deben de ir en orden.

Estoy mal?

Saludos!

Etiquetas: campos, entrada, funcion, modificar, personalizados, plugin, post
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:18.