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

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

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

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

PHP

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

Q&A

解決済

1回答

566閲覧

bxsliderで記事の画像を呼び出しているが、全記事対象になっているようでページが重たい...

norikoi

総合スコア13

WordPress

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

PHP

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

0グッド

0クリップ

投稿2019/01/18 13:07

編集2019/01/18 14:26

前提・実現したいこと

wordpressでキュレーションサイトを構築しました。
bxslider(js)を使用して、記事のアイキャッチを読み込んでトップページにスライドショーとして表示しております。
サイト制作当時は特に問題がなかったのですが、記事のボリュームが増えるにつれてトップページの表示が遅くなり、読み込みに20秒ほどかかってしまうこともあります。
当初はサイトの表示が遅い理由がわからなかったのですが、トップページに読み込んでいる写真データの数がかなり多いらしい...ということはわかってきました。

表示がものすごく遅い理由はおそらく条件の記述の間違いではないかと考えています。
今までサイトへ投稿したイメージデータを全て読み込んでいるから遅いのかもしれません。
最新記事からスライドに表示するにしても、サイト全体の記事を読み込むのではなく、投稿日の近い記事(20記事ほど)からアイキャッチを表示したいと思っております。

発生している問題・エラーメッセージ

トップページの表示が遅い。読み込みに20秒ほどかかってしまうこともあります。

該当のソースコード

php

1<div class="slider"> 2 <ul> 3<?php 4$num = 0; 5$args = array( 6 'post_type' => array('post'), 7 'post_status' => 'publish', 8 'post-recom' => 'slide', 9 'posts_per_page' => -1 10); 11$postData = get_posts($args); 12$last = count($postData); 13$current = 0; 14foreach ($postData as $post ) : setup_postdata( $post ); 15 ++$current; 16 ++$num; 17 if ($num == 4) { 18 $num = 1; 19 } 20 $thumb_id = get_post_thumbnail_id( $p->id ); 21 if ($thumb_id) { 22 $img = wp_get_attachment_image_src( $thumb_id, 'large' ); 23 } 24 else { 25 26 } 27 $categories = get_the_category(); 28 $cat = $categories[0]; 29?> 30 <?php if ($num == 1) : ?><li class="clearfix"><div class="slide-left"><?php endif; ?> 31 <a class="num<?php echo $num; ?>" href="<?php the_permalink(); ?>"> 32 <strong><?php echo $cat->name;?></strong> 33 <div class="clearfix"> 34 <div class="img" style="background-image:url(<?php echo $img[0]; ?>)"></div> 35 <div class="txt"><p><small><?php the_time( 'Y.m.d' ); ?></small><span><?php the_title(); ?></span></p><?php the_excerpt(); ?></div></div> 36 </a> 37 <?php if ($num == 1) : ?></div><div class="slide-right"><?php endif; ?> 38 <?php if ($num == 3 || $current == $last) : ?></div></li><?php endif; ?> 39<?php endforeach; wp_reset_postdata();?> 40 </ul> 41</div>

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/01/18 14:07

もうちょっと他人が理解できるような文章に変更された方が宜しいかと。あとコードはバッククォート```三つで囲ってください。
kei344

2019/01/18 15:01

「post-recom」は何を指定しているのでしょうか。
guest

回答1

0

ベストアンサー

'post_type' => array('post'),は無意味なので'post_type' => 'post',
'posts_per_page' => -1で全件が対象になるので'posts_per_page' => 20としておけば宜しいかと。

で、日付の新しい順なら

'post_type' => 'post', 'post_status' => 'publish', 'post-recom' => 'slide', 'posts_per_page' => 20, 'orderby' => 'date', 'order' => 'DESC'

このような条件でいいと思われます。

投稿2019/01/18 14:58

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

norikoi

2019/01/18 15:26

早々に、またご丁寧にありがとうございます。平均値まで速度が上がりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問