シングルページの前後の投稿へのリンクを変更し、タイトルを表示

  • PHP
  • BLOGでは、シングルページの最後に、他の記事を読んでもらうため、前後の記事へのリンクを設定しています。今回は、シングルページ前後の投稿へのリンクを変更し、タイトルを表示する方法を紹介します。

    コード

    PHPの表示したい場所に、下記コードを入力します。

    <div class="more-news">
    	<?php
    		$next_post = get_next_post();
    		$prev_post = get_previous_post();
    		if ( $next_post ):
    	?>
            <div class="prev">
               <a class="another-link" href="<?php echo get_permalink( $next_post->ID ); ?>"><?php next_post_link('%link', ' %title'); ?></a>
            </div>
    		<?php
    			endif;
    			if ( $prev_post ):
    		?>
    		<div class="next">
                <a class="another-link" href="<?php echo get_permalink( $prev_post->ID ); ?>"><?php previous_post_link('%link', ' %title '); ?> </a>
             </div>			
    	<?php endif; ?>		
    </div>

    CSSでスタイルを整えます。

    #pg-blogDetail .more-news {
    	display: flex;
    	flex-direction: row;
    	justify-content: space-between;
    	gap: 1em;
    	align-items: center;
    	text-align: left;
    }
    
    #pg-blogDetail .more-news .prev  {
    	position: relative;
    	flex: 1;
    	padding-left: 2em;
    }
    
    #pg-blogDetail .more-news .prev .another-link::before {
    	content:  '≪';	
    	position: absolute;
    	left: 0;
    	-webkit-transform: translateY(-50%);
    	transform: translateY(-50%);
    	top: 50%;
    }
    
    #pg-blogDetail .more-news .next {
    	padding-right: 2em;
    	flex: 1;
    	position: relative;
    }
    
    #pg-blogDetail .more-news .next {
    	display: grid;
    	justify-content: flex-end;
    }
    
    #pg-blogDetail .more-news .next .another-link::after {
    	content:  '≫';
    	position: absolute;
    	right: 0;
    	-webkit-transform: translateY(-50%);
    	transform: translateY(-50%);
    	top: 50%;
    }

    確認

    プレビューを確認します。前後にある場合は、左右に表示されます。最新の投稿は、前の投稿のみ右側に表示されます。最初の投稿は、次の投稿のみ左側に表示されます。

    前後にある場合は、左右に表示

    最新の投稿は、前の投稿のみ右側に表示

    最初の投稿は、次の投稿のみ左側に表示

    タイトルが長くなる場合や、SP幅が狭くなり、改行される場合、矢印上下中央に表示されます。また、前後のタイトルの間1文字分のスペースがあります。行数が前後で違う場合でもタイトル矢印上下中央に表示されます。

    改行される場合、矢印上下中央に表示

    行数が前後で違う場合でもタイトル矢印上下中央に表示

    以上で今回の説明は終了です。NEXTPREVのシンプルなものより、タイトルがあると、記事の内容がわかって便利ですね。

    RECOMMEND

    CONTACT

    Webサイト作成は、是非
    CXG DESIGNへご検討ください。