• 解決済 nico nico

    (@nico-nico)


    1つ解決したと思ったら、またまたわからないことがおきてしまいました(泣)すみません・・。

    <?php if(get_adjacent_post(true, '', true)) {?>
    <?php previous_post_link('%link', '&laquo; 前の記事へ', TRUE); ?>
    <?php }else{ ?>
    	&laquo; 前の記事へ
    <?php } ?>
    
    <?php if(get_adjacent_post(true, '', false)) {?>
    <?php next_post_link('%link ', '次の記事へ &raquo;', TRUE); ?>
    <?php }else{  ?>
        次の記事へ &raquo; 
    <?php } ?>

    これによって前のページ、次のページが無いときはリンクの無い単なる黒文字を表示させることに
    成功したのですが、気が付いたことがありまして・・

    すべての投稿に同じカテゴリが当てられている場合は問題なくページ送りが出来るのですが、
    異なるカテゴリー間へのページ移動が出来ないことに気が付きました。

    ページ送りをするときにカテゴリーに関係なく 投稿日付順 古い←→新しい とページ移動を
    したいのですが。

    <?php previous_post_link(); ?>
    にはパラメータを挿入できるということで、
    <?php previous_post_link('%link ','&laquo; 前の記事へ',FALSE ) ;  ?>
     *falseはカテゴリーに関係なくリンク(デフォルト)

    としましたが、だめなようです。

    よろしくおねがいいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • カテゴリーに関係なく、なら

    get_adjacent_post(false, …

    トピック投稿者 nico nico

    (@nico-nico)

    お返事ありがとうございます。

    多分私の記述方法が間違っているのか、どうしてもうまくいきません。

    いろいろ調べたところ、カテゴリーアーカイヴページからパーマリンクで単一ページに入ったとき、nextボタンで全投稿の日付がソートされたページに入ってしまう・・というケースあったのですが、私の場合は逆です。

    これらのテンプレートタグはパラメータ挿入ができます。
    
    <?php previous_post_link(’①’,'②’,'③’,④); ?>
    
        ①表示形式全体の文字列
         デフォルト 「« %link」
         ※「%link」はリンク部分
    
        ②リンク部分の文字列
         デフォルト 「%title(記事タイトル)」
    
        ③同じカテゴリーの記事にリンク
         TRUE  ・・・ 同じカテゴリーの記事へリンク
         FALSE ・・・ カテゴリーに関係なくリンク(デフォルト)
    
        ④リンクから除外する記事(id)を指定
         idの数値(例 1 and 2 and 3)

    というのを公開されていた方がいらしたので参考にしたのですが・・・
    うーん・・・うまくいきません。

    根本的に私が記述するに当たって<がない、とか’,がないよ、というミスかもしれませんが・・。
    もう一度じっくり考えて見ます。

    「カテゴリーに関係なく投稿日付順に 古い←→新しい とページ移動し
    前のページ、次のページが無いときはリンクの無い単なる黒文字を表示させる」なら

    <?php if(get_adjacent_post(false, '', true)) {?>
    <?php previous_post_link('%link', '&laquo; 前の記事へ', false); ?>
    <?php }else{ ?>
    	&laquo; 前の記事へ
    <?php } ?>
    
    <?php if(get_adjacent_post(false, '', false)) {?>
    <?php next_post_link('%link ', '次の記事へ &raquo;', false); ?>
    <?php }else{  ?>
        次の記事へ &raquo; 
    <?php } ?>

    でOKです。

    トピック投稿者 nico nico

    (@nico-nico)

    お返事遅くなりましてすみません。
    自分で調べたりもしてなんとかなっていたのですが、その頃作っていたのはたまたカテゴリーが1つしかないサイトでしたので気が付かなかったのですが、次に複数のカテゴリーがあるケースのHPを製作していて「次の記事へ>>」の挙動がおかしいことに気が付いたのです。

    次の記事へ>>部分

    <?php if(get_adjacent_post(false, '', false)) {?>
    <?php next_post_link('%link ', '次の記事へ &raquo;', false); ?>
    <?php }else{  ?>
        次の記事へ &raquo; 
    <?php } ?>

    の一行目(false, ”, false)を
    <?php if(get_adjacent_post(true, '', false)) {?>
    と書いていたのが原因でした。

    このtrue falseに気が付かないまま(ページ送り用の独立したモジュールテンプレートにしたので)記述が間違ったままのテンプレートとして使い続けてしまうところでした。

    kzさんありがとうございます!!!!!!!!!!!!!!!!!!!!!!!!!!!!

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「次の記事がないときは文字を表示させたい-続き」には新たに返信することはできません。