🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1245閲覧

TOPページのコラムの表示を3つにしたい

code_mate

総合スコア4

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/03/12 09:31

編集2021/03/12 09:37

https://test1.veronica9.com/columnlist/
上記の1ページに投稿一覧を6つ表示したかったので、

wordpressの表示設定の1ページに表示する最大投稿数を6にすると、
TOPページのコラムの表示も6つになってしまい、

https://test1.veronica9.com/

TOPページのコラムの投稿一覧の表示を3つにする場合は、
どのようにすればよいか、お分かりになられる方がいらっしゃれば、
ご教授頂けますと幸いです。

よろしくお願い致します。

home.php

PHP

1<section class="column"> 2<?php get_template_part('include/liststyle/post-list-mag'); ?> 3</section>

include/liststyle/post-list-mag.php
⇓ 

PHP

1<?php if( ! get_theme_mod('toppost_list_cat') ) :?> 2<div class="toppost-list-box-simple"> 3 <div class="post-list-mag"> 4 5 <?php 6 $ad_infeed_pc_num = get_option('ad_infeed_pc_num'); 7 $ad_infeed_sp_num = get_option('ad_infeed_sp_num'); 8 ?> 9 <?php if( isset($ad_infeed_pc_num) || isset($ad_infeed_sp_num) ) :?> 10 <?php get_template_part('include/liststyle/parts/post-list-mag-parts-infeed'); ?> 11 <?php else: ?> 12 <?php while (have_posts()) : the_post(); ?> 13 <?php get_template_part('include/liststyle/parts/post-list-mag-parts'); ?> 14 <?php endwhile; ?> 15 <?php endif; ?> 16 17 <section class="pager-top"> 18 <?php if( function_exists('responsive_pagination') ) { responsive_pagination( $wp_query->max_num_pages ); } ?> 19 </section> 20 </div> 21</div> 22<?php else: ?> 23<div class="toppost-list-box"> 24 <div class="column_back"> 25 <h2 class="column_title">コラム 26<!-- <img src="https://test1.veronica9.com/wp-content/uploads/2021/01/column.png" alt="Step to C"> --> 27 </h2></div> 28 <?php 29 $toppost_list_cat = get_theme_mod('toppost_list_cat'); 30 $list_cat_id = explode(",", $toppost_list_cat); 31 $list_cat_num = 0; 32 $list_cat_num2 = 0; 33 ?> 34 <input type="radio" name="switch" id="tab-1" checked> 35 <input type="radio" name="switch" id="tab-2"> 36 <input type="radio" name="switch" id="tab-3"> 37 <input type="radio" name="switch" id="tab-4"> 38 <input type="radio" name="switch" id="tab-5"> 39 40 <ul class="tabBtn-mag"> 41 <li><label for="tab-1"><?php echo get_theme_mod('jin_toppost_list_name','最新記事'); ?></label></li> 42 <?php while( isset($list_cat_id[$list_cat_num2]) ): ?> 43 <?php 44 // カテゴリー情報を取得 45 $category_tab = get_category($list_cat_id[$list_cat_num2]); 46 $cat_name_tab = $category_tab->cat_name; 47 ?> 48 <li><label for="tab-<?php echo $list_cat_num2+2; ?>"><?php echo $cat_name_tab; ?></label></li> 49 <?php $list_cat_num2++; ?> 50 <?php endwhile; ?> 51 </ul> 52 <div class="toppost-list-box-inner"> 53 54 <div class="post-list-mag autoheight"> 55 56 <?php 57 $ad_infeed_pc_num = get_option('ad_infeed_pc_num'); 58 $ad_infeed_sp_num = get_option('ad_infeed_sp_num'); 59 ?> 60 <?php if( isset($ad_infeed_pc_num) || isset($ad_infeed_sp_num) ) :?> 61 <?php get_template_part('include/liststyle/parts/post-list-mag-parts-infeed'); ?> 62 <?php else: ?> 63 <?php while (have_posts()) : the_post(); ?> 64 <?php get_template_part('include/liststyle/parts/post-list-mag-parts'); ?> 65 <?php endwhile; ?> 66 <?php endif; ?> 67 68 <section class="pager-top"> 69 <?php if( function_exists('responsive_pagination') ) { responsive_pagination( $wp_query->max_num_pages ); } ?> 70 </section> 71 </div> 72 73 74 <?php while( isset($list_cat_id[$list_cat_num]) ): ?> 75 76 <div class="post-list-mag autoheight"> 77 78 <?php 79 $child_categories = get_term_children($list_cat_id[$list_cat_num], 'category'); 80 $cat_url = get_category_link($list_cat_id[$list_cat_num]); 81 $cat_url = rtrim($cat_url, '/'); 82 $parent_cat_id = $list_cat_id[$list_cat_num]; 83 84 if( $child_categories ){// 子カテゴリーがあるとき 85 $all_cat_id = $list_cat_id[$list_cat_num]; 86 $child_categories_total = count($child_categories); 87 88 if( get_category($all_cat_id)->parent == 0 ){ 89 foreach ($child_categories as $key => $value) { 90 $all_cat_id .= ','.$value; 91 $child_cat_count[$key] = get_category($value)->count; 92 } 93 $cat_count_child = 0; 94 for( $i = 0 ; $i < $child_categories_total; $i++){ 95 $cat_count_child += $child_cat_count[$i]; 96 } 97 $cat_count = $cat_count_child + get_category($parent_cat_id)->count; 98 }else{ 99 foreach ($child_categories as $key => $value) { 100 $all_cat_id .= ','.$value; 101 $child_cat_count[$key] = get_category($value)->count; 102 } 103 $all_cat_id_each = explode(",", $all_cat_id); 104 $all_cat_id2 = count($all_cat_id_each); 105 $cat_count_child = 0; 106 for( $i = 0 ; $i < $all_cat_id2 - 1; $i++){ 107 $cat_count_child += $child_cat_count[$i]; 108 } 109 $cat_count = $cat_count_child + get_category($parent_cat_id)->count; 110 } 111 } 112 else{// 子カテゴリーがないとき 113 $cat_count = get_category($parent_cat_id)->count; 114 } 115 $args = array( 116 'cat' => array($parent_cat_id), 117 'posts_per_page' => get_option('posts_per_page'), 118 ); 119 $the_query = new WP_Query( $args ); 120 ?> 121 <?php while ( $the_query->have_posts() ) : $the_query->the_post() ?> 122 <?php 123 // カテゴリー情報を取得 124 $category = get_the_category(); 125 $cat_id = $category[0]->cat_ID; 126 $cat_name = $category[0]->cat_name; 127 ?> 128 129 <?php get_template_part('include/liststyle/parts/post-list-mag-parts'); ?> 130 131 <?php endwhile; ?> 132 133 <?php if( isset( $cat_url ) && $cat_count > get_option('posts_per_page') ) :?> 134 135 <?php if( strstr( $cat_url,'/?' ) == false ): ?> 136 <div class="more-cat"> 137 <div class="more-cat-button ef"><a href="<?php echo $cat_url; ?>/page/2/"><span>next</span></a></div> 138 </div> 139 <?php else: ?> 140 <div class="more-cat"> 141 <div class="more-cat-button ef"><a href="<?php echo $cat_url; ?>&paged=2"><span>next</span></a></div> 142 </div> 143 <?php endif; ?> 144 <?php endif; ?> 145 </div> 146 147 <?php $list_cat_num++; ?> 148 <?php endwhile; ?> 149 150 </div> 151 152</div> 153<?php endif; ?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

追記 セルフ解決の速さを見るに、ご自身で組まれたものでしょうか。
カウンセラーよりもエンジニアをされることをおすすめしたいんですがっ
気合い入れて書いた下の文章が無駄になりましたよっと。しくしく。
レスポンシブ気にした方が良いですよ~とだけ負け惜しみをしておきますw

自力で解決されてしまったようなので、以下駄文です。

ちょっと拝見させていただきましたが、これだけがっつり書いてあると、
質問者さんが組まれたならご自身で分かるかなと思いますので、
駆け出しのフリーランスさんにでも依頼された感じでしょうか?

レスポンシブの対応をどうしようかと思い確認したんですが、
リキッドデザイン(どんな幅でもOK)になっていないのは仕方ないとしても、
スマホにもタブレットにも対応されていないようなので、
記事数がどうのこうのよりもまずそちらを解消された方が良いかと存じます。

スピリチュアル系や人生相談系、お悩み解決系、きらきら生活系…etc
スマホに対応していないとターゲット的にスルーされちゃいますし、
見た目やフィーリングが極めて重要になってきますので、
基本的にスキルが無い場合はご自身で組まれることをおすすめしません。

無料で解消するとかなりマズそうな質問だと感じましたので、
CSSだけで誤魔化す方法で我慢してください。
「トップページの記事の4つ目からは隠れていてね」という意味になります。※厳密には違いますが。

css

1.toppost-list-box .post-list-item:nth-child(n+4) { 2 display: none; 3}

以下蛇足です。

コーチングやカウンセリングで集客をされるのであれば、
サービスには対価が必要だということを十分に理解されておられると思いますので、
出来そうな人に有償にて依頼してあげてくださると助かります。

PHPで何かをするのではなくて、
デザインを司るCSSの方で制御してあげるという方法を取ると、
フロントエンドの方でも修正対応が可能になりますので、
報酬もバックエンドの方に依頼されるよりも多少お得になるかなぁ?と思います。

直接的な解決方法だけでなく、こういった変わり種の対処方法も経験しておくと、
人生をより豊かにできるかもしれません。

投稿2021/03/12 10:19

編集2021/03/12 10:33
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

code_mate

2021/03/12 11:41

ご回答、アドバイス頂き、どうもありがとうございます。 とても参考になりました。CSSでも消せるんですね。 すみません。 自分で調べてコードをコピーして張ったら 偶然解決してしまったので、自己解決になってしましましたが、 気持ち的には、amiya-seさまにベストアンサーにしたいぐらいです。 また何かございましたら、よろしくお願い致します。
退会済みユーザー

退会済みユーザー

2021/03/12 11:51

偶然ですかっ!? 何たる強運!持ってますね~ PHP側で記事を絞るのが正解ですよっ CSSで見えなくしても記事は出ている為、多少速度に違い出ますから。 あとはSEO上、あまり隠さない方が良いらしいので、元から変更できるならその方がベストです!! ご自身のサイトを制作されているのかな? 僕不要そうですが、また見かけたときにお手伝いできそうなら挑戦させていただきます! 頑張ってくださいね~ ではではっ
m.ts10806

2021/03/12 12:25 編集

大団円ぽい雰囲気の中、空気読んでなかったら申し訳ないのですが、 >質問者さん 質問、回答が編集できるのはご存知の通りですが、 「解決済み」とした質問を「受付中」に戻すこともできます。 つまり「ベストアンサーを付け直す」ことも可能です。 自己解決は自身の理解と今後同じような問題を抱えた人のためになるので残しておいて然るべきですが、 「ベストアンサー」はそれとは別と考えることもできます。 一応、参考まで。
退会済みユーザー

退会済みユーザー

2021/03/13 06:22

> m.ts10806様 わざわざありがとうございます! 僕も付け直せますよーと言おうかと思ったんですが、 PHPが分かるのであればPHP側で処理するのがベストかなぁと。 CSSでの処理はトリッキーな方法であり、 フロントエンジニアさんの守備範囲が増えたらいいなぁぐらいの話なので、 僕自身はこのままでも大丈夫ですっ 以下蛇足です 自分で言うとかなりカッコ悪い気がするので、 空気は読んでいただいてるかと思いますっ ありがとうございます!
guest

0

自己解決

functions.phpに下記のコードを記述したら解決しました。

PHP

1function change_posts_per_page($query) { 2 if ( is_admin() || ! $query->is_main_query() ) 3 return; 4 5 if ( $query->is_home() ) { /* アーカイブページの時に表示件数を3件にセット */ 6 $query->set( 'posts_per_page', '3' ); 7 } 8} 9add_action( 'pre_get_posts', 'change_posts_per_page' );

投稿2021/03/12 10:04

code_mate

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問