質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

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

PHP

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

Q&A

3回答

5336閲覧

wordpress 記事全部表示ページ

ShibaNDD

総合スコア15

WordPress

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

PHP

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

0グッド

0クリップ

投稿2017/08/11 17:25

編集2017/08/12 05:53

Wordpressでテーマを自作しています。

縦長系のデザインをしたテーマを作っています。
Index.phpには最新5件のお知らせを(Post)を表示されるようにしました。

<?php query_posts('posts_per_page=5'); ?> ```を使用しました。 投稿が5件以上言った場合、(過去の記事はこちら)というリンクを表示させて、 Index.phpとは別に記事全部が表示されるページを作成したいと思っています。 Index.phpにnext_posts_link()を利用すると縦長デザインのため非常に見づらくなってしまいます。 質問です。 1 記事全部を表示さるページはアーカイブページとして作成すればいいのでしょうか? アーカイブの場合、Indexからアーカイブに飛ぶにはリンクには何て書けばいいのでしょうか?(プログラム) (もしかしたら私がアーカイブページの意味を誤認識してる場合もあります。) 2 投稿が5件以上の場合のみ、(過去の記事はこちら)のリンクを表示させるにはどのような条件分岐を使えばいいでしょうか? ※記事全部が表示されるページにはnext_posts_link()を使用しようと思っています。 以上です。説明がわかりづらくてすみません。 もし解る方いましたら解答宜しくお願い致します。 説明不足がありましたら返信しますので解答にお願いします。 追記 イメージはこのような形です。 [参考にしたサイト](http://web.tuat.ac.jp/~sugiura/index.html) Indexにはニュースが5件、See All で全てのページに飛ばす。

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

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

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

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

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

8-0_nyan5

2017/08/12 00:36

「記事全部のページ」と「最新5件のお知らせを(Post)を表示」どちらもページ分けするのなら、その違いがよくわからないのですが?
guest

回答3

0

【2, トップページで5件以上ならばmoreボタン】

私はこういったコードで書きます。

php

1<?php if ( get_next_posts_link() ): ?> 2 <a href="<?php echo home_url(); ?>/news-list/">過去の記事はこちら</a> 3<?php endif; ?>

「5件以上なら...」ではなく、「次のページがあれば...」という意味のコードになります。
つまり結果的に「5件以上ならば」と同じ意味になります。

【query_postsについて】
トップページでの件数制御に「query_posts」を使われているとのことですが、query_postsはメインクエリを変更してしまう上、パフォーマンスも悪く、WordPressも公式に非推奨としていますので削除して下さい。

代わりに、pre_gets_postで制御しましょう。

pre_gets_postはfunctions.phpのどこかに記述して下さい。

php

1//トップ新着記事のループ制御 2function pre_get_posts_top($query) { 3 if( is_admin() || ! $query->is_main_query() ){ 4 return; 5 } 6 7 if ( $query->is_home() ) { //トップページのみ 8 $query->set( 'posts_per_page', '5' ); //件数制御 9 return; 10 } 11} 12add_action( 'pre_get_posts', 'pre_get_posts_top' );

投稿2017/08/31 14:45

lenlen

総合スコア44

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

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

0

《アーカイブの作り方その②》

1, 固定ページを作成(URLのスラッグは例として「news-list」とします)

2, page-news-list.php というファイルを作成
page-news-list.phpの中身はこんな感じにします。

php

1<?php get_header(); ?> 2 3<?php 4$paged = (get_query_var('paged'))?get_query_var('paged'):1; 5$news_query = new WP_Query(array( 6 'post_type' => 'post', 7 'posts_per_page' => -1, 8 'paged' => $paged 9)); 10?> 11 12<?php if ($news_query->have_posts()): ?> 13<?php while($news_query->have_posts()): $news_query->the_post(); ?> 14 15<!-- ここはテンプレートに合わせてください。 --> 16<article> 17<?php the_post_thumbnail(); ?> 18<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3> 19</article> 20 21<?php endwhile; wp_reset_postdata(); ?> 22<?php else: ?> 23<p>記事がありません。</p> 24<?php endif; ?> 25 26<?php next_posts_link(); ?> 27 28<?php get_footer(); ?> 29 30

投稿2017/08/31 14:28

lenlen

総合スコア44

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

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

0

【1,アーカイブページの作成】
2通りの方法があります。

《その①》

1, 下記をfunctions.phpのどこかへ記述

php

1function post_archive( $args, $post_type ) { 2 if ( 'post' == $post_type ) { 3 $args['rewrite'] = true; 4 $args['has_archive'] = 'news-list'; 5 } 6 return $args; 7} 8add_filter( 'register_post_type_args', 'post_archive', 10, 2 );

2, 設定>パーマリンク>何も変更せずに保存をクリック
http://〇〇/news-list/ へアクセス。ここがアーカイブページになります。

3, archive.phpというファイルを作成

archive.phpの中身はこのような感じで。

php

1<?php get_header(); ?> 2 3<?php if(have_posts()): ?> 4<?php while(have_posts()): the_post(); ?> 5 6<!-- ここはテンプレートに合わせてください。 --> 7<article> 8<?php the_post_thumbnail(); ?> 9<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3> 10</article> 11 12<?php endwhile; ?> 13<?php else: ?> 14<p>記事がありません。</p> 15<?php endif; ?> 16 17<?php next_posts_link(); ?> 18 19<?php get_footer(); ?>

続きは分けて書きます。。

投稿2017/08/31 14:18

lenlen

総合スコア44

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問