フォーラムへの返信

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

    (@sososo)

    ASCとDESCを入れ替えたところちゃんと動いてくれました!降順と昇順が逆だったため、Aから逆のCに行こうとしまうということだったのでしょうか。
    ありがとうございました!

    トピック投稿者 sososo

    (@sososo)

    すみません、訂正です。
    投稿A,B,C(投稿日時順)をページ送りするとき、A→B→CではなくA→Cと、最新→最古投稿(逆も同じ)へと飛んでしまいます。なので$post_timeのあたりにもう一捻り何かいると思うのですが、現状知識が追いつかず、質問する他ありません。もし何かお知りでしたら教えていただきたいです。

    トピック投稿者 sososo

    (@sososo)

    完璧に実現できました!丁寧にお付き合いいただき大変ありがとうございます。
    フィルターフックなど僕の現在の知識にでは少しややこしい技術ですが、繰り返して使いこなせるようになろうと思います。

    トピック投稿者 sososo

    (@sososo)

    おっしゃること理解しました。確かにあまり使われないかもしれませんが、今後の制作にも多々応用できそうなので、フィルターフックを用いて実装できる方法があるのであれば、教えていただきたいです。
    アーカイブページに当たるcategory.phpはこんな感じですが、the_permalink();の部分をいじる形でしょうか。

    
    <section <?php post_class(); ?>>
      <div>
          <h3 class="category-name"><?php single_cat_title( '', true ); ?></h3> 
                    
            <?php if ( have_posts() ) :
                while ( have_posts() ) : the_post(); ?>
                    
            <a href="<?php the_permalink(); ?>"><?php the_content(); ?></a>
                        
              <?php endwhile;
            endif; ?>    
         </div>
    </section>
    
    トピック投稿者 sososo

    (@sososo)

    上記のコードはそういう意味合いなのですね。でしたら僕の認識違いでした。
    そして、上のおっしゃる意味はつまり、カテゴリーAとCを持つ投稿からAのリンクかCのリンクか振り分けを設定することはとても複雑な作業ということでしょうか。

    WordPress制作が初なもので、何が最適解なのかよくわからない状態なのですが、
    例えば、ある投稿が「緑色」と「カエル」というカテゴリーグループに属していて、他の投稿は「緑色」と「キュウリ」だったりして、(カテゴリーはクライアントの方でこれから任意に増えていくとした上で、)「緑色」の投稿だけを集めて一枚ずつ観覧したかったり、「カエル」の投稿だけを集めて一枚ずつ観覧したかったりすることはよくあることだと思いますし、複雑な話ではないはずです。ですので、一つの投稿が並列のカテゴリーに複数属するという認識自体が間違っているということでしょうか。
    タクソノミーを使ったり、親子関係をつけたり、カスタムフィールドやタグでそれらが簡単に実装できるのならその構成にしたいのですが、一体何が一般なのかわからず、もし最適な実装方法があればご教示願いたいです。よろしくお願いします。

    トピック投稿者 sososo

    (@sososo)

    丁寧にありがとうございます、ページ送りの機能は無事組み込むことができました。
    しかし、まだ正常に動きません。どこに問題があるのかも見当がつきません。

    上の例を利用して、
    カテゴリーリンク一覧:・A ・B ・C ・Dが表示、AorBorCorDをクリック
    カテゴリーアーカイブページ:ページAに投稿1,2が表示、1or2をクリック
                  ページBに投稿3,4が表示、3or4をクリック
                  ページCに投稿1,3が表示、1or3をクリック
                  ページDに投稿2,4が表示、2or4をクリック
        個別投稿ページ:ページAからのリンクの場合、投稿1or2を表示、投稿1,2をページ送り
                ページBからのリンクの場合、投稿3or4を表示、投稿3,4をページ送り
                ページCからのリンクの場合、投稿1or3を表示、投稿1,3をページ送り
                ページDからのリンクの場合、投稿2or4を表示、投稿2,4をページ送り

    という構造で実装したいのです。現在は個別投稿ページのページ送りで、関係のないカテゴリーへも不規則にリンクされてしまい、最終的に最新投稿と最古投稿で行ったり来たりになったりしてしまいます。何が原因でしょうか?

    トピック投稿者 sososo

    (@sososo)

    「いずれか」の方で正しいです。
    PHPの知識が追いつかず申し訳ないのですが、メインループ内にどのように組み込めばいいでしょうか。
    間違い箇所を指摘していただけるとありがたいです。現在は表示されません。

    
    <div class="leftcol">
                        
    <?php 
      $categories = get_the_category();
      $cat_ids = array();
      foreach ( $categories as $category ) {
      $cat_ids[] = $category->term_id;
      }
    
      $post_time = get_the_date('U');
                        
      $prev_query = new WP_Query(array(
      'posts_per_page' => 1,
      'category__in' => $cat_ids,
      'date_query' => array(
      'before' => $post_time,
      ),
      'order' => 'DESC',
      ));
    
      if( $prev_query->have_posts() ) :
        while($prev_query->have_posts()):
          $prev_query->the_post();
          $prev_post_link = get_permalink();
    ?>
                        
    <a href="<?php $prev_post_link; ?>">← prev</a>
                        
    <?php 
        endwhile; 
      endif;
      wp_reset_postdata();
    ?>
                        
    </div>
    
7件の返信を表示中 - 1 - 7件目 (全7件中)