サポート » 使い方全般 » 投稿記事から特定の固定ページへのリンクの仕方

  • 解決済 kzksai

    (@kzksai)


    投稿記事内に
    <<前の記事 投稿一覧 次の記事>>というボタンを作っているのですが
    投稿一覧(固定ページ)へのリンクの仕方がわからないのですがどうしたらいいでしょうか?
    カテゴリは3つほどあって各カテゴリーの投稿から固定ページに飛ばしたいです。

    現在はこのようになっています。

    <div class="postnavi">
    <?php if(get_adjacent_post(true, '', true)) {?>
    <?php previous_post_link('%link', '&laquo; 前の記事へ', TRUE); ?>
    <?php }else{ ?>
          &laquo; 前の記事へ  
    <?php } ?>
    <a href="">一覧表示</a>
    <?php if(get_adjacent_post(true, '', false)) {?>
    <?php next_post_link('%link ', '次の記事へ &raquo;', TRUE); ?>
    <?php }else{  ?>
          次の記事へ &raquo; 
    <?php } ?>
    </div>

    分かりにくい説明で申し訳ないですがよろしくおねがいします。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック投稿者 kzksai

    (@kzksai)

    追記:上記コードはsingle.phpに記述しています。

    カテゴリは3つほどあって各カテゴリーの投稿から固定ページに飛ばしたいです。

    ご質問の内容なのですが、「投稿一覧」のリンク先 というのは 「その投稿記事が属するカテゴリーの一覧が表示される固定ページ」というのが作られていて、その固定ページへ飛ばすという事なのでしょうか?

    トピック投稿者 kzksai

    (@kzksai)

    はい、そういうことになります。

    get_the_category でその記事が所属するカテゴリーを取得

    条件分岐で
    もしカテゴリーAに所属してれば固定ページAAへのリンクを表示
    もしカテゴリーBに所属してれば固定ページBBへのリンクを表示
    もしカテゴリーCに所属してれば固定ページCCへのリンクを表示

    という流れであってますか?

    続きです。

    もし私の認識で合っていれば

    <?php
     $cat = get_the_category();
     $cat = esc_attr( $cat[0]->name );
    ?>
    
    <?php if ($cat==='A'): ?>
    <a href="">固定ページAAへのリンク</a>
    <?php elseif ($cat==='B'): ?>
    <a href="">固定ページBBへのリンク</a>
    <?php elseif ($cat==='C'): ?>
    <a href="">固定ページCCへのリンク</a>
    <?php else: ?>
    <a href="">その他へのリンク</a>
    <?php endif; ?>

    みたいな方法で実現可能ではないかと。

    トピック投稿者 kzksai

    (@kzksai)

    ありがとうございます
    <?php if ($cat==='A'): ?>
    のAにはカテゴリIDを入れればいいのですか?

    <?php if ($cat==='A'): ?>

    のAには自分で決めたカテゴリー名を入れて下さい。

    トピック投稿者 kzksai

    (@kzksai)

    <div class="postnavi">
    
    <?php if(get_adjacent_post(true, '', true)) {?>
    <?php previous_post_link('%link', '&laquo; 前の記事へ', TRUE); ?>
    <?php }else{ ?>
    	&laquo; 前の記事へ  
    
    <?php } ?>
    
    <?php
    
    $page_url_get = get_permalink();
    $page_url_get = ereg_replace("/" . get_the_ID() . "\.html", "/", $page_url_get);
    ?>
    <?php
     $cat = get_the_category();
     $cat = esc_attr( $cat[0]->name );
    ?>
    
    <?php if ($cat==='mailmag'): ?>
    <a href="http://○○○/mailmag">一覧表示</a>
    <?php elseif ($cat==='radio'): ?>
    <a href="http://○○○/radio">一覧表示</a>
    <?php elseif ($cat==='events'): ?>
    <a href="http://○○○/events">一覧表示</a>
    <?php endif; ?>
    
    <?php if(get_adjacent_post(true, '', false)) {?>
    <?php next_post_link('%link ', '次の記事へ &raquo;', TRUE); ?>
    <?php }else{  ?>
          次の記事へ &raquo; 
    <?php } ?>

    これでやってみたところ一覧表示のリンクが消えてしまいました。

    mailmag radio events は「スラッグ」ではないですか?
    (違ってたらごめんなさい)

    スラッグならば name を slug に変えれば表示されると思うのですが。

    トピック投稿者 kzksai

    (@kzksai)

    遅くなりました、無事上記コードで運用できました!
    ありがとうございました。

    ちなみに下記のコードで表示もできました(あまりスマートではないですが)

    <?php
    
    $page_url_get = get_permalink();
    $page_url_get = ereg_replace("/" . get_the_ID() . "\.html", "/", $page_url_get);
    //echo $page_url_get;
    
    ?>
    <a href="<?php echo $page_url_get?>">一覧表示</a>

    *一回パーマリンクを取得して正規表現を使って置き換えています

    taku-kさん本当にありがとうございました!

    トピック投稿者 kzksai

    (@kzksai)

    解決済みにさせて頂きます。

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック「投稿記事から特定の固定ページへのリンクの仕方」には新たに返信することはできません。