SANGOテーマの固定ページにシェアーボタン/コメント欄/前へ次へナビの追加

固定ページとしてポートフォリオを作成したため、固定ページにシェアーボタン/コメント欄/前へ次へのナビゲーションの追加カスタマイズをしています。
また、問い合わせページ等では、シェアーの表示も必要ないと考えていますので、テンプレートを追加しています。

“注意”
2017/12/16 固定ページをメニューに入れると前/次のナビゲーションが正しく動きません

シェア表示も必要ない固定ページテンプレート作成

コピー元:/sango-theme/page.php
コピー先:/sango-theme-child/page-noshare.php
親テーマからpage.phpを子テーマにコピーして、ファイル名をpage-noshare.phpに変更して修正します。

先頭部分にテンプレート名を追加します。
<?php
/**
* Template Name: Page(SHARE無し)
* Template Post Type: page
*/
get_header(); ?>
シェアー表示するinsert_social_buttons()の行を以下のように修正します。
                            <?php //insert_social_buttons();?>

これで、固定ページでシェアー表示の必要無い場合は、テンプレートを「Page(SHARE無し)」に指定すれば表示が消えます。

シェアーボタン/コメント欄/前へ次へのナビゲーションの追加

コピー元:/sango-theme/page.php
コピー先:/sango-theme-child/page.php
私は、デフォルトで追加したいため、親テーマからpage.phpを子テーマにコピーして修正しています。

シェアーボタンの追加

シェアーボタンを表示するコードが必要になりますので、
親テーマ/sango-theme/parts/single/entry-header.phpの17行あたりから以下の範囲をコピーします。

  <?php //FABボタン

  〜〜内容は省略してます。〜〜

  <?php endif; //END FABボタン?>

コピーしてきた内容を、子テーマのpage.php 21行あたりの以下の場所に貼り付けます。

                 <?php endif; ?>

                 〜〜ここに貼り付けます。〜〜

            </header>

コメント欄の追加

子テーマpage.phpにて、</footer>を探して以下のようにコメントテンプレートの呼び出しを追加します。

                      </footer>

                      <?php comments_template(); //コメントテンプレート ?>

                  <?php insert_json_ld();//構造化データ ?>
                 </article>

各固定ページのディスカッションでコメントの投稿を許可すれば、コメント欄が表示されます。

前へ次へのナビゲーション追加

以下のサイトのコードをまるっと使わせていただいています。
SANGOテーマに合わせるための修正をしています。また、前へ次へのナビゲーションは同じ階層のみとなります。

参考

WordPress の固定ページで「次のページ」「前のページ」ナビゲーションを表示するdaily memorandum 3.0.0

考慮してない項目
  • タイトル文字数の制限
  • サムネイルの表示

コメント欄を追加した時の</article>の下に以下を追加します。

<div class="prnx_box cf">
<?php 
// 親ページを取得
$parent = $post->post_parent;

if ( $parent ) {
    // 現在表示しているページの順番を取得
    $menu_order = $post->menu_order;

    // 前のページ
    $prev_post = $wpdb->get_row("SELECT * FROM wp_posts
        WHERE post_parent = $parent
            AND post_status = 'publish'
            AND menu_order < $menu_order
        ORDER BY menu_order DESC");
    if( $prev_post ): ?>
    <a href="<?php echo get_page_link($prev_post->ID); ?>" class="prnx pr">
      <p><i class="fa fa-angle-left"></i> 前の記事</p>
      <div class="prnx_tb">
      <span class="prev-next__text"><?php echo $prev_post->post_title; ?></span>
      </div>
    </a>
    <?php 
endif;
    ?>
    <?php
    // 次のページ
    $next_post = $wpdb->get_row("SELECT * FROM wp_posts
        WHERE post_parent = $parent
            AND post_status = 'publish'
            AND menu_order > $menu_order
        ORDER BY menu_order");
    if( $next_post && $next_post->post_title ): ?>
    <a href="<?php echo get_page_link($next_post->ID); ?>" class="prnx nx">
      <p>次の記事 <i class="fa fa-angle-right"></i></p>
      <div class="prnx_tb">
      <span class="prev-next__text"><?php echo $next_post->post_title; ?></span>
      </div>
    </a>
    <?php 
endif; 
}
?> 
</div>
<!-- /post navigation -->

各固定ページの属性の順番を適切に指定すれば、前へ次へのナビゲーションが表示されます。

Monappy: MBDQ39VHypMQwfyR8SshuHvfPNUz321F6B

Monacoinを投げる
モナゲ(tipmona)ってなに?
そもそもMonacoinってなに?

コメントを残す

必須項目は設定していません。また、メールアドレスは公開されませんのでご安心ください。