norfipc.descargarjuegos.org
Últimas publicaciones

Agregar publicaciones relacionadas en páginas AMP de WordPress

Actualizado: 17 de noviembre del 2022
Por: Norfi Carrodeguas
Como insertar una sección de páginas relacionadas, mostrando enlaces a otras entradas similares del blog, agregando el código manualmente, sin usar plugins.
Agregar publicaciones relacionadas en páginas AMP de WordPress
La sección de páginas o publicaciones relacionadas (related post), en una de las que nunca deben faltar en ninguna página de internet.
Ayuda a los lectores a descubrir otras entradas con contenido similar en el sitio y facilita que sigan navegando y explorando el contenido.
En otro post comparto sin instalar plugins y en esta explico como implementarlo en las páginas en formato AMP.
Es todavía más importante puesto que las páginas en este formato no aceptan a gran mayoría de los plugins habituales.


Como insertar las páginas relacionadas en AMP

Este método solo es para las páginas relacionadas en los blog que usan el plugin oficial AMP for WordPress, creado por Automattic, Google y otros desarrolladores.
Para implementarlo es necesario crear un nuevo archivo de texto y agregar unas líneas de código al archivo de configuración del blog llamado “functions.php”, situado en la carpeta de tema activo.
Recomiendo crear previamente una carpeta Child en el tema activo y copiar en su interior un nuevo archivo “functions.php” en el que se agregara el código.
En otro artículo se explica con más detales como hacerlo.
A continuación el código necesario.


Código para mostrar publicaciones relacionadas

En el interior de la carpeta Child mencionada anteriormente, crea una nueva carpeta de nombre “amp” y en su interior crea un nuevo archivo de nombre “p-relacionadas.php”.
Edítalo y pega las siguientes instrucciones en su interior.
<?php
if ( ! is_single() ) {
    return;
} 
global $post;
$taxs = get_object_taxonomies( $post );
if ( ! $taxs ) {
    return;
} 
$count = 4;  
// ignoring post formats
if( ( $key = array_search( 'post_format', $taxs ) ) !== false ) {
    unset( $taxs[$key] );
}  
// try tags first  
if ( ( $tag_key = array_search( 'post_tag', $taxs ) ) !== false ) {  
    $tax = 'post_tag';
    $tax_term_ids = wp_get_object_( $post->ID, $tax, array( 'fields' => 'ids' ) );
}  
// if no tags, then by cat or custom tax  
if ( empty( $tax_term_ids ) ) {
    // remove post_tag to leave only the category or custom tax
    if ( $tag_key !== false ) {
        unset( $taxs[ $tag_key ] );
        $taxs = array_values($taxs);
    }  
    $tax = $taxs[0];
    $tax_term_ids = wp_get_object_( $post->ID, $tax, array('fields' => 'ids') );  
}  
if ( $tax_term_ids ) {
    $args = array(
        'post_type' => $post->post_type,
        'posts_per_page' => $count,
        'orderby' => 'rand',
        'tax_query' => array(
            array(
                'taxonomy' => $tax,
                'field' => 'id',
                '' => $tax_term_ids
            )
        ),
        'post__not_in' => array ($post->ID),
    );
    $related = get_posts( $args );
    if ( $related ) {   ?>
        <div class="amp-wp-article-content">
            <h3>Publicaciones relacionadas</h3> 
<ul>			
            <?php foreach( $related as $post) {
                setup_postdata( $post );
                ?>
                <li><a href="<?php echo esc_url( amp_get_permalink( get_the_id() ) ); "><?php the_title(); ?></a></li>
            <?php } ?> 
</ul>			
        </div>
    <?php
    }
    wp_reset_postdata();
}
?>    
En la línea 10 del código anterior, podemos especificar la cantidad de publicaciones relacionadas que se mostrarán.
En este ejemplo son 4.


Código para al archivo de configuración del tema

En el interior del archivo “functions.php”, situado dentro de la misma carpeta Child, agrega las siguientes instrucciones:
// Agregar publicaciones relacionadas AMP
function my_amp_post_article_footer_meta( $parts ) { 
    $index = 0;     
    array_splice( $parts, $index, 0, array( 'my-related-posts' ) ); 
    return $parts;
}
add_filter( 'amp_post_article_footer_meta', 'my_amp_post_article_footer_meta' );
function my_amp_related_posts_path( $file, $template_type, $post ) { 
    if ( 'my-related-posts' === $template_type ) {
        $file = get_stylesheet_directory() . '/amp/p-relacionadas.php';
    }
    return $file;
}
add_filter( 'amp_post_template_file', 'my_amp_related_posts_path', 10, 3 );    


Lugar de la página donde se mostrarán las publicaciones relacionadas

Podemos especificar en el código anterior, donde deseamos exactamente situar la sección de publicaciones relacionadas
El número en la línea 2 indica donde se debe insertar.
– El valor 0 indica que se mostrará inmediatamente bajo el contenido, antes que las Categorías.
– El valor 1 indica que se mostrará después de las Categorías y Etiquetas, pero antes del botón de Comentar
– El valor 2 indica que se mostrará después que el botón de Comentar.

Otras páginas relacionadas

✓ Como modificar y personalizar mi tema de WordPress
✓ Como usar y configurar WordPress sin plugins
✓ Convertir los enlaces externos en NoFollow en WordPress


Comparte

Facebook
Twitter

Sígueme en las redes sociales

Norfipc en Facebook Norfipc en Twitter Canales RSS con las últimas publicaciones
Sobre mí

NorfiPC, Copyright © 2025 Norfi Carrodeguas