Cómo agregar publicaciones adhesivas en WordPress Archivos de tipo de publicación personalizados

Cómo agregar publicaciones adhesivas en WordPress Archivos de tipo de publicación personalizados / Tutoriales

Recientemente, uno de nuestros usuarios nos preguntó si era posible agregar publicaciones adhesivas a archivos de tipo de publicación personalizados. De forma predeterminada, WordPress tiene la funcionalidad adhesiva disponible para las publicaciones, pero no para otros tipos de publicaciones. En este artículo, le mostraremos cómo agregar publicaciones adhesivas en los archivos de tipo de publicación personalizados de WordPress. Antes de seguir adelante, probablemente querrá aprender cómo crear tipos de publicaciones personalizadas en WordPress.

Agregar publicaciones adhesivas en los tipos de publicaciones personalizadas

Lo primero que debe hacer es instalar y activar el complemento Sticky Custom Post Types. Después de activar el plugin, vaya a Ajustes »Lectura y desplácese hacia abajo hasta la sección Sticky Custom Post Types. A continuación, debe elegir los tipos de publicaciones personalizadas en las que desea que se pegue esta opción..

Ahora, lo que hemos hecho aquí es que hemos agregado la función de publicaciones adhesivas a nuestros tipos de publicaciones personalizadas. Las publicaciones adhesivas en los tipos de publicaciones personalizadas se mostrarán en la página principal al igual que las publicaciones adhesivas normales.

El problema es que, de forma predeterminada, WordPress solo muestra publicaciones adhesivas en la página de inicio. No muestra mensajes pegajosos en las páginas de archivo..

Visualización de publicaciones adhesivas en archivos de tipo de publicación personalizada

Supongamos que tiene un tipo de publicación personalizada para Movie Reviews con publicaciones adhesivas habilitadas utilizando el complemento que hemos mencionado anteriormente. Ahora desea que sus publicaciones adhesivas en los tipos de publicaciones de reseñas de películas se muestren de manera diferente y sobre las revisiones de películas regulares no adhesivas. Me gusta esto:

Para lograr este objetivo, lo primero que necesita es una plantilla de archivo para su tipo de publicación personalizada como esta: archive-post-type.php. Aprenda a crear una página de archivo de tipo de publicación personalizada. Por ejemplo, si tiene un tipo de mensaje personalizado críticas de cine entonces su plantilla de página de archivo debería ser archivo-película-reviews.php. Si no tiene una plantilla, cree una. Simplemente copie el contenido de archive.php en el directorio de su tema y péguelos en un nuevo archivo archive-your-post-type.php.

El siguiente paso es agregar este código en su tema funciones.php expediente:

 función wpb_cpt_sticky_at_top ($ posts) // aplíquela en los archivos solo si (is_main_query () && is_post_type_archive ()) global $ wp_query; $ sticky_posts = get_option ('sticky_posts'); $ num_posts = count ($ posts); $ sticky_offset = 0; // Encuentra las publicaciones adhesivas para ($ i = 0; $ i ID, $ sticky_posts)) $ sticky_post = $ posts [$ i]; // Eliminar la posición actual array_splice ($ posts, $ i, 1); // Mover al frente, después de otros stickies array_splice ($ posts, $ sticky_offset, 0, array ($ sticky_post)); $ sticky_offset ++; // Eliminar la publicación de la matriz de publicaciones adhesivas $ offset = array_search ($ sticky_post-> ID, $ sticky_posts); unset ($ sticky_posts [$ offset]);  // Busque más publicaciones adhesivas si es necesario si (!! ($ Sticky_posts)) $ stickies = get_posts (array ('post__in' => $ sticky_posts, 'post_type' => $ wp_query-> query_vars ['post_type' ], 'post_status' => 'publish', 'nopaging' => true)); foreach ($ stickies como $ sticky_post) array_splice ($ posts, $ sticky_offset, 0, array ($ sticky_post)); $ sticky_offset ++;  devolver $ posts;  add_filter ('the_posts', 'wpb_cpt_sticky_at_top'); // Agregue una clase pegajosa en el título del artículo para dar estilo a las publicaciones pegajosas función diferente cpt_sticky_class ($ classes) if (is_sticky ()): $ classes [] = 'sticky'; devuelve $ clases; terminara si; devuelve $ clases;  add_filter ('post_class', 'cpt_sticky_class'); 

El código anterior movería tus publicaciones adhesivas a la parte superior, y si tu tema está usando post_class () Función, entonces agregaría pegajoso en la clase de correos.

Puedes estilizar tus publicaciones adhesivas usando .pegajoso clase en su hoja de estilo. Ejemplo:

 .pegajoso color de fondo: # editado; imagen de fondo: url ('http://example.com/wp-content/uploads/featured.png'); repetición de fondo: no repetición; posición de fondo: arriba a la derecha;  

Esperamos que este artículo le haya ayudado a agregar publicaciones adhesivas en archivos de tipo de publicación personalizados. Para preguntas y comentarios por favor deje un comentario a continuación..

Fuente: Tareq Hasan