Agregar publicaciones relacionadas en páginas AMP de WordPress
Actualizado: 17 de noviembre del 2022
Por: Norfi Carrodeguas
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.

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 como agregar esta sección en las páginas normales de WordPress, 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.En otro artículo se explica con más detales como hacerlo.
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_terms( $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_terms( $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',
'terms' => $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() ) ); ?>" title="<?php the_title_attribute(); ?>"><?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 relacionadasEl 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.
– 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