Cómo obtener el ID de un post con la función Add Filter en WordPress
5 may 2012, 09:26:14
Vistas: 14.2K
Votos: 4
Estoy desarrollando un plugin y necesito añadir datos al final de un post basado en meta información personalizada.
Hasta ahora he hecho esto:
add_filter('the_content', 'AppendMeta');
Y aquí está la función "AppendMeta"
AppendMeta($content) {
echo $content; // Mostrar el contenido del post
$PersonName = get_post_meta($post->ID, 'PersonName', true);
echo 'Persona: ' . $PersonName;
}
Este código funciona si reemplazo $post->ID con el ID del post, pero necesito que funcione basado en el post que el usuario está viendo. ¿Cómo puedo pasar el ID del post como parámetro? $post->ID no funciona en este escenario y no entiendo por qué.

Talon
291
Comentarios
Todas las respuestas a la pregunta
2
2
No importa, descubrí que puedo usar get_the_ID();
.
Esta función devolverá el ID de la publicación dentro del filtro the_content
. La función simplemente declara el objeto global $post
y devuelve su ID.
add_filter('the_content', 'wpse51205_content')
wpse51205_content($content) {
echo $content; // Mostrar el contenido de la publicación
$PersonName = get_post_meta(get_the_ID(), 'PersonName', true);
echo 'Persona: ' . $PersonName;
}
Si no deseas usar get_the_ID()
, simplemente necesitas declarar el objeto $post
como global antes de usarlo:
add_filter('the_content', 'wpse51205_content')
wpse51205_content($content) {
global $post;
echo $content; // Mostrar el contenido de la publicación
$PersonName = get_post_meta($post->ID), 'PersonName', true);
echo 'Persona: ' . $PersonName;
}

Talon
291
5 may 2012 09:28:11
Comentarios
Preguntas relacionadas
2
respuestas