¿Cómo agregar campos personalizados dentro de The_Content?

  • Autor Autor Pulsar
  • Fecha de inicio Fecha de inicio
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

Pulsar

Pulsar

1
Pi
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Suscripción a IA
Hola, tengo un problema. Ando utilizando campos personalizados, y necesiot que dichos campos aparezcan DENTRO de the_content, ya que son del post mismo. Como logro eso sin tener que poner los codigos en cada post que creo? Probe colocandolos abajo de get The_content en la single.php pero no me da resultado ya que salen Abajo del post...

Mi intencion es por ejemplo utilizar el plugin Easy Spoiler, que permite que cunado uno coloca
algo
Lo hace con un spoiler pero el plugin solo afecta al CONTENT, nada mas, por ende si pongo custom fields en spoilers abajo de the content no me los toma y no se hacen spoilers.

Alguno alguna idea? estoy tratanod de hacer un blog donde el contenido de los posts es casi completamente hecho con campos personalizados.

MUCHAS GRACIAS si alguien me ayuda.

Saludos!:encouragement:
 
PHP:
<?php while (have_posts()) : the_post(); ?>
	<article id="contentpost">
		<?php $customField = get_post_custom_values("Nombre del campo");
		if (isset($customField[0])) {
		 echo $customField[0];
		}?>
	</article>
<?php endwhile; ?>
 
Sin aplicas un addfilter a the_content. Puedes poner cualquier cosa en dentro.
 
Ok he utilizado un filter de la siguiente manera:

function add_something($content) {
return "text" . $content;
}

add_filter( 'the_content', 'add_something', 6);

El problema es que si bien esto agrega la palabra TEXT al contenido (al principio), no se como hacer para que en vez de que agregue text, agregue el campo personalizado $texto1

He probado poniendo .$texto1. $content; pero no muestra el campo, y hasta he puesto la metadata para que la variable $texto1 se arme con el campo personalizado, pero no muestra nada, se ve que desde el function no puedo llamar a un campo no es asi? o se puede? Me quede atorado.
 
No entiendo exactamente a lo que quiere llegar, pero si se que deseas poner un campo personalizado dentro del post. con add_filter no creo que sea tan buena idea, mejor sería con shortcodes.

Por ejemplo: Quiero mostrar el campo download_link, entonces sería así en tu post.
PHP:
[download] aquí nada, ya que obtendrá el valor del campo [/download]

Ahora crearás la función que convierta esos shortcodes en Link de descarga de acuerdo a tu campo personalizado.

Sigamos agregamos esto en tus funciones ( Ojo no le he probado, pero esa es la idea)
Función genera link:

PHP:
function creaLink( $atts, $content=null, $code="" ) {
    $link = get_post_meta($post->ID, 'download_link', true);
    if(!empty($link))
        {
            echo '<a title="" href="'.$link.'">Este es el link de descarga</a>';
        }
}

//añadimos el soporte para el shortcode
PHP:
add_shortcode( 'download', 'creaLink' );

En caso de evitar los shortcodes, Con filtros sería similar, crear una función alteraContent()

y luego flitrarlo:

PHP:
add_filter('the_content', 'alteraContent');


Puedes leer sobre filtros:
Function Reference/add filter « WordPress Codex

También sobre shortcodes:
Shortcode API « WordPress Codex

PD:

Hice un ejemplo con filtro, esto de debe funcionar perfecto:

PHP:
function generaContentConCampos($content){   
 $campo_link = get_post_meta(get_the_ID(), 'download_link', true);   
 echo "<b>Este es el campo personalizado link: </b>" . $campo_link."<br>";   
 echo "<b>Y este el content:</b><br/>" . $content;
}

add_filter( 'the_content', 'generaContentConCampos', 99);
 
Última edición:
Todo esto desde el functions nada mas? no tocaria el single?
 
function add_something($content) {
$texto1 = get_post_meta($post->ID, 'Texto', true);
return ".$texto1" . $content;
}

add_filter( 'the_content', 'add_something', 6);

He puesto eso en mi functions, y no me toma el campo $texto1 del custom field y lo despliega al principio del content nose que hare mal... para hacerlo con shortcodes seria lo mismo? que tendria ke cambiar? :S me estoy re mareando jaja lo peor de todo es que si uso custom fields como contenido, en los excerpts se veria el conteido olos codigos?

En algo le estoy errando....
 
Tengo un problema, yo uso:

Insertar CODE, HTML o PHP:
<?php
function mi_filtro($contenido){

$contenido .= 'mi codigo adsense';

return $contenido;
}

add_filter('the_content','mi_filtro',12);
?>

En el functions y me sale bien luego de the_content, el codigo que necesito, pero el problema es que yo necesito que salga ANTES de the content. O sea que salga el codigo y depsues the content, pero dentro del post obviamente.

Como modifico ese codigo?

- - - Actualizado - - -

Cada vez ando mas tonto... por no leer mas arriba, ya estaba la respuesta. Gracias [MENTION=15939]ziney[/MENTION]

Saludos!

Cierro! (Duda aclarada)
 
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

Atrás
Arriba