Est-il possible d’obtenir l’ID de la publication en cours sans passer en paramètre shortcode? Comme [related-post], je souhaite connaître l'identifiant de la publication dans laquelle sera utilisé ce shortcode.
add_shortcode( 'related-article', 'related_article_title' );
function related_article_title( $atts ) {
$post_id = get_the_ID();
echo $post_id;
ob_start();
$query = new WP_Query( array(
'post_type' => 'post',
'posts_per_page' => 1,
'order' => 'DESC',
)
);
if ( $query->have_posts() ) { ?>
<div class="menu-row">
<?php while ( $query->have_posts() ) : $query->the_post(); ?>
Leggi anche: <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php endwhile; wp_reset_postdata(); ?>
</div>
<?php $myvariable = ob_get_clean();
return $myvariable;
}
}
add_shortcode( 'related-article', 'related_article_title' );
function related_article_title( $atts ) {
global $post;
echo $post->ID; // currently viewing post id
ob_start();
$query = new WP_Query( array(
'post_type' => 'post',
'posts_per_page' => 1,
'order' => 'DESC',
)
);
if ( $query->have_posts() ) { ?>
<div class="menu-row">
<?php while ( $query->have_posts() ) : $query->the_post(); ?>
Leggi anche: <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<?php endwhile; wp_reset_postdata(); ?>
</div>
<?php $myvariable = ob_get_clean();
return $myvariable;
}
}
Tout comme @ gorakh-shrestha essayait, utiliser global $post
puis $post->ID
est un bon moyen de procéder, même à l'intérieur d'un shortcode