No puedo obtener la ID del autor de la publicación fuera del bucle para hacer que get_the_author_meta funcione. Hasta ahora he probado diferentes enfoques:
1)
$author_id=$post->post_author;
2)
global $post;
$author_id=$post->post_author;
3)
$post_tmp = get_post($post_id);
$author_id = $post_tmp->post_author;
4)
$author_id = $posts[0]->post_author;
Necesito la identificación del autor para pasarlo a:
$address = get_the_author_meta('user_email', $author_id);
¿Alguna sugerencia?
Respuestas:
La forma más sencilla y directa de obtener la ID del autor de la publicación fuera del ciclo, si conoce la ID de la publicación, es utilizar la función principal de WordPress
get_post_field()
.Si aún no conoce el ID de publicación de la página en la que se encuentra, desde WP 3.1 lo más fácil es usar la función
get_queried_object_id()
(búsquela en la lista de Métodos) que funciona incluso fuera del ciclo.Si esto no funciona para usted, brinde una explicación más detallada de dónde está tratando de ejecutar su código y podemos ver si podemos ayudarlo más.
fuente
Aquí le mostramos cómo obtener y obtener la identificación del autor fuera del ciclo de WordPress:
Entonces es posible para nosotros
the_author_meta
:fuente
Depende de donde estes. Si está en una página singular (p. Ej., Solo muestra un solo {{Insertar tipo de publicación aquí}}), puede usar
get_queried_object
, lo que buscará el objeto de publicación.Si está en otro lugar, puede usar el
$wp_query
objeto global y verificar su$posts
propiedad. Esto también debería funcionar en páginas singulares.También puede simplemente "iniciar en falso" el bucle y rebobinarlo para obtener la identificación del autor. Esto no generará ningún impacto adicional en la base de datos o similares. WordPress recupera todas las publicaciones a la vez (en el momento de la escritura).
rewind_posts
simplemente restablece el objeto de publicación actual (el global$post
) al comienzo de la matriz. La desventaja es que esto puede hacer que laloop_start
acción se dispare mucho antes de lo que quieres, no es un gran problema, solo algo a tener en cuenta.fuente
Parece que funciona fuera del ciclo, tal vez esto ayude.
También puede establecer manualmente la ID de la publicación y tomarla de esta manera:
Cambie la identificación para publicar la identificación manualmente para acceso fuera del bucle.
No son buenas soluciones, pero espero que ayude.
fuente
Tuve el mismo problema aquí cuando intentaba hacer un widget que mostrara publicaciones destacadas con información del autor.
Usé algunas de las pistas de @chrisguitarguy 2nd tip.
Mi código se veía así:
fuente
Para obtener y obtener la identificación del autor fuera del ciclo:
Luego usa
recuerde que si está recuperando la identificación de las publicaciones en el bucle y accediendo al autor fuera del bucle, solo proporcionará datos de la última identificación de la publicación en el bucle
fuente
Esperemos que esto ayude:
fuente
¿Por qué no usas the_author_meta?
Esto se puede usar dentro del bucle
fuente