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記事ごとにやるので遅いのである。

ワードプレスの関連記事

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

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

プロフィール
お知らせ

2022年11月30日に全記事削除しました。
無駄にページ表示速度にこだわってます。

役立ちサイト
wiki

プライバシーポリシー・広告について


© 2022-2024 doudonn All Rights Reserved.