Mientras miraba a través de la entrada de referencia de función para wp_insert_post () , noté que no hay ningún parámetro en la matriz que requiera que me permita establecer la 'Imagen destacada' para una publicación, que se muestra como la miniatura de la publicación en mi tema.
He examinado funciones como set_post_thumbnail () , como lo sugirió el Sr. Bennett, pero esta parece ser una adición relativamente nueva a WordPress en sí y al códice de WordPress. Como tal, no hay ninguna fuente que pueda encontrar que explique cómo se debe adquirir y suministrar el parámetro $ thumbnail_id. Si esta es realmente la función a utilizar, ¿de qué manera podría proporcionarle un parámetro válido $ thumbnail_id cuando todo lo que tengo es una URL de imagen?
¡Gracias por adelantado!
Intenta usarlo
set_post_thumbnail()
.Editar por Otto: Usted aclaró su pregunta, así que aclararé la respuesta que dio Chip.
Básicamente, también debes hacer el 'archivo adjunto' para la publicación. Cuando se carga una imagen en la biblioteca de medios de WordPress, se realiza una entrada de publicación especial con un tipo de archivo adjunto. Este archivo adjunto está vinculado a alguna publicación específica a través del identificador post_parent.
Entonces, si conoce la ID del archivo adjunto, llame a set_post_thumbnail con el objeto de publicación o ID y la ID del archivo adjunto simplemente establecerá el indicador de miniatura de la publicación.
Si aún no ha creado el archivo adjunto, deberá hacerlo primero. La forma más fácil de hacerlo es con
wp_insert_attachment()
. Esta función toma una matriz de algunos parámetros, el nombre de archivo (el archivo ya debe estar en el directorio de carga adecuado) y la ID de la publicación principal a la que desea adjuntar el archivo adjunto.Simplemente cargar un archivo y adjuntarlo a una publicación no hace nada automáticamente. Esto es simplemente una especie de mecanismo de categorización. El mecanismo de la galería, por ejemplo, usa las imágenes adjuntas de una publicación para construir la [galería] para esa publicación. Una miniatura para una publicación es solo una de las imágenes adjuntas que se ha configurado para ser la miniatura.
Puede encontrar más información sobre cómo usar wp_insert_attachment en el códice (vinculado anteriormente).
fuente
Me gustaría mejorar la respuesta de Robs utilizando las funciones principales de WP
download_url
ymedia_handle_sideload
fuente
set_post_thumbnail()
Es la mejor función para este requisito.Creo que encuentras la identificación de un archivo adjunto a través de
get_children()
oget_posts()
. El resultado tiene una matriz y dentro de esta matriz está la ID. El siguiente ejemplo para probar; espero que funcione; escribir sin pruebas, solo desde cero.Para su requerimiento es importante que cambie
get_the_ID()
con supost-ID
; devuelva la identificación del archivo adjunto y esto puede usar para fothset_post_thumbnail()
.fuente
Acabo de encontrar esto y lo hice mucho más simple, funciona pero no soy un depurador de seguridad
simple o que? Después de obtener los archivos correctos, WordPress manejará los medios y los cargará, luego los configurará como una miniatura.
fuente