Reference Post (私はここでも投票されました。)
私のショートコードは私のカスタムテーマでは動作していませんでしたが、同じショートコードは15年で使用されたときには動作していました。
Googleで調べたところ、the_contentを正しく使用していないことに関連していることがわかりました。
Yoastで提案されている解決策を適用した→
それは私がから変わったことを意味します
<?php the_content(); ?>
に
<?php echo apply_filters( 'the_content', $post->post_content ); ?>
それでも、ショートコードは機能していません。
修正プログラムは何ですか?
このコードは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; ?>
そしてcontent.phpで→
<?php the_content(); ?>
フルショートコード→
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');
簡潔な答え(iPhoneで電車で書く)は、メモリからcontent.php
の外部で宣言された変数は利用できないので、get_template_part()
をWordPress以外のinclude()
と同等に変更してみます。