Sugerencia rápida Guardar una miniatura de publicación predeterminada

Este tutorial mostrará cómo crear una miniatura de publicación predeterminada desde el núcleo. Muchos tutoriales muestran cómo verificar si existe una imagen en miniatura en una publicación y luego presentar una si no existe una imagen en miniatura. Este tutorial le mostrará cómo evitar guardar una publicación sin una miniatura, en primer lugar.


Manera habitual de obtener la miniatura predeterminada

Como se mencionó anteriormente, algunos tutoriales sugieren hacer una Si ... si no Declaración en el tema para mostrar una miniatura predeterminada. Un ejemplo es el siguiente:

 if (has_post_thumbnail ()) the_post_thumbnail ();  else echo 'miniatura'; 

Esa simple declaración funcionará, pero requeriría la modificación de complementos de terceros que no tengan características predeterminadas de miniaturas. Por eso, este tutorial guardará una miniatura predeterminada en la base de datos.


Paso 1 Obteniendo la ID de miniatura

Lo primero que tienes que hacer es buscar el ID de la miniatura cargada que usarás. Para ello, visite la Biblioteca de medios, seleccione su imagen y recopile la ID..

En la captura de pantalla, uno recopila el número entero de ID de la barra de direcciones donde "attachment_id =".


Paso 2 Codificando la Función

Para agregar la característica de miniatura predeterminada, puede agregar el siguiente fragmento de código a su funciones.php archivo en su carpeta de temas.

 add_action ('save_post', 'wptuts_save_thumbnail'); función wptuts_save_thumbnail ($ post_id) // Get Thumbnail $ post_thumbnail = get_post_meta ($ post_id, $ key = '_thumbnail_id', $ single = true); // Verifique que la publicación no sea una revisión si (! Wp_is_post_revision ($ post_id)) // Compruebe si existe Miniatura si (vacía ($ post_thumbnail)) // Agregue la miniatura para publicar update_post_meta ($ post_id, $ meta_key = '_thumbnail_id ', $ meta_value =' 233 '); 

Usamos el save_post gancho para activar nuestra función y obtener la publicación recientemente agregada. Una vez que estamos haciendo referencia a la publicación recientemente agregada, usamos get_post_meta para obtener el valor de la base de datos para la identificación en miniatura donde la identificación de la publicación es la última insertada. A continuación usamos el wp_is_post_revision función para comprobar si la publicación guardada es una revisión o una nueva publicación. Si la publicación es una revisión, anularemos el resto de la función. Usando una Si declaración, verificamos si existe alguna metadatos para la miniatura. Si no existe, entonces usamos el add_post_meta función para agregar la ID de la miniatura predeterminada a la última publicación insertada.

Voila! Durante la operación de guardar en borrador, la miniatura predeterminada se guardará en la base de datos y ahora está disponible para su uso en widgets o complementos que usan miniaturas. Si está creando un tema, puede utilizar este método y reemplazar el $ meta_value con una imagen de su archivo de tema. Feliz codificacion!