Como adicionar campos personalizados dentro de The_Content?

  • Autor Autor Pulsar
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Status

🔒 Este tópico está fechado para novas respostas.

⏰ Apenas o criador do tópico pode solicitar a reabertura de seus próprios tópicos, mas apenas dentro dos 60 dias anteriores à última atualização.

Pulsar

Pulsar

1
Pi
Verificado
Verificación en dos pasos activada
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:
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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 edição:
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:

Inserir CODE, HTML ou 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)
 
Status

🔒 Este tópico está fechado para novas respostas.

⏰ Apenas o criador do tópico pode solicitar a reabertura de seus próprios tópicos, mas apenas dentro dos 60 dias anteriores à última atualização.

Voltar
Topo