doudonn WEB制作やサーバーの話とかいろいろ

ワードプレスの「single.php」にループ処理は不要という話

doudonn 更新日:
ワードプレスの「single.php」にループ処理は不要という話

ワードプレスの「single.php」

長らく常識に騙されていた。
大発見をしてしまったので紹介したい。

1、ループ処理は不要

<?php
if (have_posts()) :
while (have_posts()) : the_post();
?>

<?php
endwhile;
endif;
?>

記事・固定ページには何の意味もない

完全に無駄な処理になっています。
これが必要になる場合とはいったい?
もちろん、何のクエリーも発行しません。

公式のテンプレートでは使われているので、
やはり何かしらは必要になってくるのだとは思います。
しかしそれが何かが全くわからない。

ほとんどの場合は不要だろう。自分は使っていません。

2、ループ処理を無くした場合の処理速度

ループあり ループ無し
処理時間(s) 0.0001602 0
メモリ使用量 10.171875KB 0KB

処理速度は約0.0001秒向上。
メモリは10KB削減。

体感的にはわからないレベルですが、
ループ処理をしない方が明らかに速くなります。

まとめ

記事ページと固定ページはループ処理不要。

速度にこだわる人はループ処理は無くしておこう。
ただ、そう変わらないので心配な人は入れておきたい。

補足

トップぺージでのループはDBにアクセスしてデータを取得しています。

SELECT * FROM wp_posts WHERE ID = 1681 LIMIT 1
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (1681) ORDER BY meta_id ASC

これを1記事ごとにやるので遅いのである。

--

<管理人からの各種招待>
エックスサーバーお友達紹介(最大1万円割引)
ConoHa友達紹介(1000円クーポン)

ワードプレスの関連記事

記事一覧はこちら:ワードプレス

管理人について
doudonn
名前:doudonn(どうどん)
ひたすらWEB制作な人。
一応社長です。音ゲー好き

<Twitterはこちら>
ゲーム垢
WEB制作垢
お知らせ

2022年11月30日に全記事削除しました。
まだ再開に向け作りかけ。


無駄にページ表示速度にこだわってます。

役立ちサイト
wiki
© 2022-2023 doudonn All Rights Reserved.