lilico
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 記事に属するカテゴリーの記事一覧(ローカルメニュー)試行錯誤で自己解決しました。
<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フォーラム: 使い方全般
返信が含まれるトピック: 記事に属するカテゴリーの記事一覧(ローカルメニュー)ご回答ありがとうございます。
いろいろと試してみたところ、以下のソースで少し前進しました。
ただ、カレント表示できない状態です。。。
よろしければサンプルを拝見できれば嬉しいです。お手数ですが、どうぞよろしくお願いいたします。
<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>
フォーラム: 使い方全般
返信が含まれるトピック: 記事に属するカテゴリーの記事一覧(ローカルメニュー)フォーラム: 使い方全般
返信が含まれるトピック: 1つの記事を2つのページで表示ご回答ありがとうございます。
やはり難しいのですね(T T)
fetch_feedは知らなかったので調べてみます。やはりAブログの記事を手動でコピペしてBブログにも投稿するのが安全なのかもしれません。
フォーラム: 使い方全般
返信が含まれるトピック: 1つの記事を2つのページで表示ありがとうございます。
発想を変えるということですね。すみません、質問の投稿をした後で、
いろいろとサイトを見ていて、ベーシック認証を分けたいので、
マルチサイトを作成し、Aブログ、Bブログとして
Aブログのカスタム投稿タイプで記事を投稿すると、
Bブログにも記事を共有し同じように反映させられたらベストだなーと思ったのですが
やはりそれも難しいのでしょうか…フォーラム: 使い方全般
返信が含まれるトピック: トップページに親子カテゴリの記事一覧を表示投稿の方法を間違えてしまい、すみませんでした。
教えていただいた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.親カテゴリーのループここまで ?>
フォーラム: 使い方全般
返信が含まれるトピック: トップページに親子カテゴリの記事一覧を表示ご回答いただきましてありがとうございます!
教えていただいたコードを元に試行錯誤しながらも実現しつつあるのですが…
(もっとスマートなコードがあるのだとは思いますが…^^;)ただ、とても単純なことだと思われますが
なぜか、記事へのリンクがうまくいかず 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>
フォーラム: 使い方全般
返信が含まれるトピック: トップページに親子カテゴリの記事一覧を表示ありがとうございます!
ロジック処理を教えていただいて、なるほどという感じなのですが、
どうにもこうにも初心者なもので、コードをどう書いていいのかわからない状態です。お手数で恐縮なのですが、コードを教えていただくことはできますでしょうか…