Cómo agregar publicaciones adhesivas en los archivos de tipos de publicaciones personalizadas de WordPress

¿Desea agregar publicaciones fijas a las páginas de archivo de tipo de publicación personalizada?

Colocar tus publicaciones personalizadas más importantes en la parte superior de la página ayudará a tus visitantes a encontrarlas más fácilmente. Pero de forma predeterminada, WordPress hace que la funcionalidad adhesiva esté disponible para las publicaciones, pero no para otros tipos de publicaciones.

En este artículo, veremos cómo agregar publicaciones fijas en los archivos de tipos de publicaciones personalizadas de WordPress.

Cómo agregar publicaciones adhesivas en los archivos de tipos de publicaciones personalizadas de WordPress

¿Por qué hacer que las publicaciones personalizadas de WordPress sean pegajosas?

Si crea contenido para su sitio web de WordPress con un formato diferente al de una publicación o página estándar, probablemente ya esté utilizando un tipo de publicación personalizada. Por ejemplo, si ejecuta un sitio web de reseñas de libros, es posible que haya creado un tipo de publicación de reseñas de libros.

Es posible que desee colocar su contenido más importante en la parte superior del archivo de tipo de publicación personalizada. Es una de las mejores formas de presentar contenido detallado y urgente, así como tus publicaciones personalizadas más populares.

Pero si bien WordPress ofrece una función de publicaciones fijas, esta no está disponible para los tipos de publicaciones personalizadas.

Echemos un vistazo a cómo agregar una función adhesiva a sus páginas de archivo de tipo de publicación personalizada.

Agregar publicaciones fijas en tipos de publicaciones personalizadas

Primero deberá instalar y activar el Publicaciones fijas – Cambiar enchufar. Para obtener más detalles, consulte nuestra guía paso a paso sobre cómo instalar un complemento de WordPress.

En la activación, debe visitar el Ajustes » Publicaciones fijas – Cambiar página para configurar el complemento. Simplemente marque la casilla junto a los tipos de publicaciones personalizadas que desea poder hacer pegajosas. Para este tutorial, verificaremos el tipo de publicación ‘Reseñas de libros’.

Visite la Configuración » Publicaciones fijas - Cambiar página para configurar el complemento

Después de eso, debe hacer clic en el botón ‘Guardar cambios’ en la parte inferior de la pantalla.

Ahora, cuando visite la página de administración para ese tipo de publicación personalizada, notará una nueva columna donde puede hacer que las publicaciones sean fijas. Todo lo que necesita hacer es hacer clic en la estrella junto a las publicaciones que desea destacar.

Haz clic en la estrella junto a las publicaciones que deseas que sean fijas

Ahora has hecho que la publicación sea fija. El problema es que WordPress solo muestra publicaciones adhesivas en la página de inicio. A continuación, veremos cómo mostrar publicaciones fijas en las páginas de archivo.

Visualización de publicaciones fijas en archivos de tipos de publicaciones personalizadas

Para mostrar sus publicaciones fijas en la parte superior de su página de archivo de publicaciones personalizadas, debe crear una nueva plantilla.

Para hacer esto, deberá usar un cliente FTP o la opción de administrador de archivos en su panel de control de alojamiento de WordPress. Si no ha usado FTP antes, puede consultar nuestra guía sobre cómo usar FTP para cargar archivos en WordPress.

Debe acceder a su sitio usando su cliente FTP o administrador de archivos, y luego ir a la /wp-content/themes/YOURTHEME/ carpeta. Por ejemplo, si usa el tema Twenty Twenty-One, debe navegar hasta /wp-content/themes/twentytwentyone/.

A continuación, debe crear un nuevo archivo en esa carpeta con un nombre como archive-POSTTYPE.php. Por ejemplo, si su slug de tipo de publicación personalizado es ‘reseñas de libros’, debe crear un nuevo archivo llamado archive-bookreviews.php.

Visite su carpeta de temas usando un cliente FTP

Después de eso, debe encontrar el archivo archive.php en la misma carpeta. Simplemente copie el contenido de archive.php y péguelo en el nuevo archivo que creó.

El siguiente paso requiere que agregue código a sus archivos de tema. Si necesita ayuda para agregar código a su sitio, consulte nuestra guía sobre cómo agregar código personalizado en WordPress.

Cuando esté listo, debe agregar el siguiente código en el archivo functions.php de su tema o en un complemento específico del sitio.

function wpb_cpt_sticky_at_top( $posts ) {
  
    // apply it on the archives only
    if ( is_main_query() && is_post_type_archive() ) {
        global $wp_query;
  
        $sticky_posts = get_option( 'sticky_posts' );
        $num_posts = count( $posts );
        $sticky_offset = 0;
  
        // Find the sticky posts
        for ($i = 0; $i < $num_posts; $i++) {
  
            // Put sticky posts at the top of the posts array
            if ( in_array( $posts[$i]->ID, $sticky_posts ) ) {
                $sticky_post = $posts[$i];
  
                // Remove sticky from current position
                array_splice( $posts, $i, 1 );
  
                // Move to front, after other stickies
                array_splice( $posts, $sticky_offset, 0, array($sticky_post) );
                $sticky_offset++;
  
                // Remove post from sticky posts array
                $offset = array_search($sticky_post->ID, $sticky_posts);
                unset( $sticky_posts[$offset] );
            }
        }
  
        // Look for more sticky posts if needed
        if ( !empty( $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 as $sticky_post ) {
                array_splice( $posts, $sticky_offset, 0, array( $sticky_post ) );
                $sticky_offset++;
            }
        }
  
    }
  
    return $posts;
}
  
add_filter( 'the_posts', 'wpb_cpt_sticky_at_top' );
 
// Add sticky class in article title to style sticky posts differently
 
function cpt_sticky_class($classes) {
            if ( is_sticky() ) : 
            $classes[] = 'sticky';
            return $classes;
        endif; 
        return $classes;
                }
    add_filter('post_class', 'cpt_sticky_class');

Fuente: Tarek Hasan

Este código mueve tus publicaciones fijas a la parte superior. Si su tema está utilizando el post_class() función, luego también agrega una clase ‘adherente’ para que pueda diseñar sus publicaciones adhesivas usando CSS.

Así es como se ve el archivo de tipos de publicaciones personalizadas de Reseñas de libros en nuestro sitio de demostración. Antes de agregar el código, la publicación adhesiva ocupaba el segundo lugar en la lista.

Vista previa de la publicación fija en el archivo de tipo de publicación personalizada

Ahora puede diseñar sus publicaciones adhesivas usando .sticky clase en tu tema style.css hoja de estilo Aquí hay un ejemplo.

.sticky { 
background-color:#ededed;
background-image:url('http://example.com/wp-content/uploads/featured.png');
background-repeat:no-repeat;
background-position:right top;
}

Aquí hay una captura de pantalla actualizada de nuestro sitio web de demostración.

Vista previa del estilo CSS de Sticky Post

Esperamos que este tutorial lo haya ayudado a aprender cómo agregar publicaciones fijas en los archivos de tipo de publicación personalizados de WordPress. También puede querer aprender cómo acelerar su sitio web de WordPress, o consultar la lista de 27 consejos para aumentar el tráfico de su blog.

.

Deja un comentario