フォーラムへの返信

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

    (@meiico)

    試行錯誤で自己解決しました。

    <nav class="local-navimain">
    <h2><?php $cat = get_the_category(); $cat = $cat[1]; { echo $cat->cat_name; } ?></h2>
    <?php
    $cat_info = get_the_category();
    $cat_term = $cat_info[0] -> category_parent;
    $cat_info = get_categories('child_of='.$cat_term.'&orderby=order');
    $post_id = $post->ID;
    foreach ($cat_info as $category) { if($category->count != 0) : ?>
    <h3><?php echo $category->cat_name; ?></h3>
    <ul>
    <?php query_posts('posts_per_page=-1&order=ASC&category__in='.$category->term_id);
    if (have_posts()) : while (have_posts()) : the_post();
    ?>
    <?php
    $class = '';
    if ($post_id == $post->ID){ $class = 'class="current" '; }
    ?>
    <li <?php echo $class ?>><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endwhile;wp_reset_query();endif;endif; ?>
    </ul>
    <?php }; ?>
    	</nav>

    こちらのサイトを参考にしました
    https://wordpress.org/support/topic/query_posts-add-class-current-page-child?replies=5

    トピック投稿者 lilico

    (@meiico)

    ご回答ありがとうございます。
    いろいろと試してみたところ、以下のソースで少し前進しました。
    ただ、カレント表示できない状態です。。。
    よろしければサンプルを拝見できれば嬉しいです。

    お手数ですが、どうぞよろしくお願いいたします。

    <nav class="local-navimain">
    <h2><?php $cat = get_the_category(); $cat = $cat[1]; { echo $cat->cat_name; } ?></h2>
    <?php $cat_info = get_the_category();
    $cat_term = $cat_info[0] -> category_parent;
    $cat_info = get_categories('child_of='.$cat_term.'&orderby=order');
    foreach ($cat_info as $category) { if($category->count != 0) : ?>
    <h3><?php echo $category->cat_name; ?></h3>
    <ul>
    <?php query_posts('posts_per_page=-1&order=ASC&category__in='.$category->term_id);
    if (have_posts()) : while (have_posts()) : the_post();
    ?>
    <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    <?php endwhile;wp_reset_query();endif;endif; ?>
    </ul>
    <?php }; ?>
    	</nav>
    トピック投稿者 lilico

    (@meiico)

    はい、その通りです。
    家電カテゴリーに属す記事の場合は家電カテゴリーの記事一覧を表示したいです。

    フォーラム: 使い方全般
    返信が含まれるトピック: 1つの記事を2つのページで表示
    トピック投稿者 lilico

    (@meiico)

    ご回答ありがとうございます。
    やはり難しいのですね(T T)
    fetch_feedは知らなかったので調べてみます。

    やはりAブログの記事を手動でコピペしてBブログにも投稿するのが安全なのかもしれません。

    フォーラム: 使い方全般
    返信が含まれるトピック: 1つの記事を2つのページで表示
    トピック投稿者 lilico

    (@meiico)

    ありがとうございます。
    発想を変えるということですね。

    すみません、質問の投稿をした後で、
    いろいろとサイトを見ていて、ベーシック認証を分けたいので、
    マルチサイトを作成し、Aブログ、Bブログとして
    Aブログのカスタム投稿タイプで記事を投稿すると、
    Bブログにも記事を共有し同じように反映させられたらベストだなーと思ったのですが
    やはりそれも難しいのでしょうか…

    フォーラム: 使い方全般
    返信が含まれるトピック: トップページに親子カテゴリの記事一覧を表示
    トピック投稿者 lilico

    (@meiico)

    投稿の方法を間違えてしまい、すみませんでした。

    教えていただいたget_permalinkに変更することで、前回投稿した不具合は解消されました!
    ありがとうございます!!
    ただ、query_postsではなく、get_postsを使うと思ったような表示ができなくなってしまいます。(query_postsだと表示されるのですが…)
    単純にget_postsに変更するだけではダメなんでしょうか…。
    何度もすみません、、、以下コードを投稿します。
    アドバイスいただけたら嬉しいです。よろしくお願いします。

    <?php
    $args = array(
      'parent' => 0
      );
    $topcategories = get_categories( $args ); // 1. 親カテゴリーを取得する
    foreach ( $topcategories as $topcategory ) { //2. 親カテゴリーのループ処理開始
    	$childcategories = get_categories(  array( 'child_of' => $topcategory->term_id ) ); // 3. 子カテゴリーを取得する
    	if ( ! empty( $childcategories ) ) { // 4. 子カテゴリーがあったら、
            echo '<h3> 親カテゴリタイトル:'. $topcategory->cat_name . '</h3>';
              foreach ( $childcategories as $childcategory ) { //4. 子カテゴリーのループ処理開始
              echo '<h4> 子カテゴリタイトル:'. $childcategory->cat_name . '</h4><ul class="ptbtn">';
              //記事
    
         if (have_posts()) : query_posts('cat=' . $childcategory->cat_ID);
            while(have_posts()) :
            the_post();
            echo '<li><a href="'. get_permalink() .'">'. get_the_title() . '</a></li>';
            endwhile;
            wp_reset_query();
            echo '</ul>';
         endif;
            //ここまで
    // 5. 子カテゴリーに属する記事を取得し、ループ処理で表示
    		} // 6. 子カテゴリーのループ終了
    	} else { // 4. 子カテゴリーがなければ
    	echo '<h3> 親カテゴリタイトル:'. $topcategory->cat_name . '</h3><ul class="ptbtn">';
      if (have_posts()) : query_posts('cat=' . $topcategory->cat_ID);
      while(have_posts()) :
      the_post();
      echo '<li><a href="' . get_permalink() . '">'. get_the_title() . '</a></li>';
      endwhile;
      wp_reset_query();
      echo '</ul>';
      endif;
    
            // 4. 親カテゴリーに属する記事を取得し、ループ処理で表示
    	}
    } // 7.親カテゴリーのループここまで
    ?>
    フォーラム: 使い方全般
    返信が含まれるトピック: トップページに親子カテゴリの記事一覧を表示
    トピック投稿者 lilico

    (@meiico)

    ご回答いただきましてありがとうございます!

    教えていただいたコードを元に試行錯誤しながらも実現しつつあるのですが…
    (もっとスマートなコードがあるのだとは思いますが…^^;)

    ただ、とても単純なことだと思われますが
    なぜか、記事へのリンクがうまくいかず a hrefの外にリンク先が表示されてしまいます。

    このような状態→http://リンク先〜<li><a href=””>記事タイトル
    リンク先をきちんとaの配下に表示するにはどうしたらよいか教えていただけますか。。
    たびたびすみません、どうぞよろしくお願いします。

    <?php
    $args = array(
      'parent' => 0
      );
    $topcategories = get_categories( $args ); // 1. 親カテゴリーを取得する
    foreach ( $topcategories as $topcategory ) { //2. 親カテゴリーのループ処理開始
    	$childcategories = get_categories(  array( 'child_of' => $topcategory->term_id ) ); // 3. 子カテゴリーを取得する
    	if ( ! empty( $childcategories ) ) { // 4. 子カテゴリーがあったら、
            echo '<h3> 親カテゴリタイトル:'. $topcategory->cat_name . '</h3>';
              foreach ( $childcategories as $childcategory ) { //4. 子カテゴリーのループ処理開始
              echo '<h4> 子カテゴリタイトル:'. $childcategory->cat_name . '</h4><ul class="ptbtn">';
              //記事
    
         if (have_posts()) : query_posts('cat=' . $childcategory->cat_ID);
            while(have_posts()) :
            the_post();
            echo '
    <li><a href="' . the_permalink() . '">'. get_the_title() . '</a>';
            endwhile;
            wp_reset_query();
            echo '';
         endif;
            //ここまで
    // 5. 子カテゴリーに属する記事を取得し、ループ処理で表示
    		} // 6. 子カテゴリーのループ終了
    	} else { // 4. 子カテゴリーがなければ
    	echo '<h3> 親カテゴリタイトル:'. $topcategory->cat_name . '</h3><ul class="ptbtn">';
      if (have_posts()) : query_posts('cat=' . $topcategory->cat_ID);
      while(have_posts()) :
      the_post();
      echo '</li>
    <li><a href="' . the_permalink() . '">'. get_the_title() . '</a>';
      endwhile;
      echo '';
      endif;
    
            // 4. 親カテゴリーに属する記事を取得し、ループ処理で表示
    	}
    } // 7.親カテゴリーのループここまで
    ?>
    </li>
    フォーラム: 使い方全般
    返信が含まれるトピック: トップページに親子カテゴリの記事一覧を表示
    トピック投稿者 lilico

    (@meiico)

    ありがとうございます!

    ロジック処理を教えていただいて、なるほどという感じなのですが、
    どうにもこうにも初心者なもので、コードをどう書いていいのかわからない状態です。

    お手数で恐縮なのですが、コードを教えていただくことはできますでしょうか…

8件の返信を表示中 - 1 - 8件目 (全8件中)