wordpressの記事で「続きを読む」を自動で追加する

wp-content

the_content

これを

the_excerpt();

に書き換える。

function.php

// 「続きを読む」をカスタマイズするためのコード
function my_excerpt_more($post) {
    return  '... <a href="'. get_permalink($post->ID) . '">' . ' 続きを読む' . '</a>';
}
 
// 抜粋(the_excerpt())を適当な文字数でカットして表示するコード
function my_trim_all_excerpt( $text = '' , $cut = 40 ) {
    $raw_excerpt = $text;
    if ( '' == $text ) {
        $text = get_the_content('');
        $text = strip_shortcodes( $text );
        $text = apply_filters('the_content', $text);
        $text = str_replace(']]>', ']]>', $text);
        $text = strip_tags($text);
 
    }
    $excerpt_mblength = apply_filters('excerpt_mblength', $cut );
    $excerpt_more = my_excerpt_more( $post );
    $text = wp_trim_words( $text, $excerpt_mblength, $excerpt_more );
 
    return apply_filters('wp_trim_excerpt', $text, $raw_excerpt);
}
 
// the_excerpt()にフィルターをかけるコード
remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'my_trim_all_excerpt' );


だけどこれだと記事一覧ページでも、個別ページでも続きを読む状態になってしまう!ので、ふたつのページを分岐させます。

<div class="entry-content">
 <?php
   //シングルページの表示
   if ( is_single() ) :
	/* translators: %s: Name of current post */
	the_content( sprintf(
	__( 'Continue reading %s', 'twentyfifteen' ),
		the_title( '<span class="screen-reader-text">', '</span>', false )
			
 ) );

	wp_link_pages( array(
			'before'      => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfifteen' ) . '</span>',
			'after'       => '</div>',
			'link_before' => '<span>',
			'link_after'  => '</span>',
			'pagelink'    => '<span class="screen-reader-text">' . __( 'Page', 'twentyfifteen' ) . ' </span>%',
			'separator'   => '<span class="screen-reader-text">, </span>',
			) );
	//一覧ページの表示
	else :
	// Post thumbnail.
		twentyfifteen_post_thumbnail();
		the_excerpt();
		wp_link_pages( array(
			'before'      => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfifteen' ) . '</span>',
			'after'       => '</div>',
			'link_before' => '<span>',
			'link_after'  => '</span>',
			'pagelink'    => '<span class="screen-reader-text">' . __( 'Page', 'twentyfifteen' ) . ' </span>%',
			'separator'   => '<span class="screen-reader-text">, </span>',
			) );
		   endif;
		?>
		
	</div><!-- .entry-content -->

参考にさせていただきました
https://sole-color-blog.com/blog/51/