Référence Post (J'ai même été voté ici.)
Mon code abrégé ne fonctionnait pas sur mon thème personnalisé, mais le même code abrégé, lorsqu'il était utilisé dans vingt-quinze, fonctionnait.
J'ai effectué des recherches sur Google et découvert qu'il s'agissait d'un problème lié à une utilisation incorrecte de the_content.
J'ai appliqué la solution suggérée dans le Yoast →
cela signifie que j'ai changé de
<?php the_content(); ?>
À
<?php echo apply_filters( 'the_content', $post->post_content ); ?>
Mais quand même, les codes courts ne fonctionnent pas.
quelle est la solution de travail?
J'ai ce code dans single.php →
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php $post_id = get_the_ID(); ?>
<?php get_template_part('content',get_post_format()); ?>
<?php endwhile; ?>
<?php endif; ?>
et dans content.php →
<?php the_content(); ?>
Code court complet →
function simplisto_the_image($atts) {
$atts = shortcode_atts( array(
'to' => 'https://pics.wikifeet.com/Melania-Trump-Feet-720891.jpg'
), $atts);
$output = '<div class="lazyimg">';
$output .= '<img class="lazyimg-popup" src="'.$atts['to'].'" alt="The First Caption" width="100%" height="auto">';
$output .= '<i class="fa fa-expand" aria-hidden="true"></i>';
$output .= '</div>';
return $output;
}
function register_shortcodes(){
add_shortcode('simage', 'simplisto_the_image');
}
add_action( 'init', 'register_shortcodes');
Excuse une brève réponse (écriture sur train dans un iPhone), mais j’essaierais de remplacer get_template_part()
par son équivalent non-WordPress include()
car, de mémoire, les variables déclarées hors de votre content.php
ne seront pas disponibles autrement.