Сильно ли загружают сервер большое количество if'ов в шаблоне сайта на WP?

12
maks_m
На сайте с 02.07.2013
Offline
101
725

В самих if'ах находятся id категорий, чтобы в определённых категориях выводился определённый дополнительный контент.

JetRX
На сайте с 20.09.2014
Offline
11
#1

if абсолютно никак не загружают сервер

можно использовать хоть сколько их

на загрузку сервера влияет в основном множество запросов к базе данных

— ApsMoney.com (https://apsmoney.com/) - Обмен ПР24, Bitcoin, BTC-E, Payeer, Capitalist, AdvCash.
L
На сайте с 10.02.2015
Offline
260
#2

Шаблоны практически не грузят.

Их можно даже не кешировать.

G2
На сайте с 27.10.2009
Offline
62
#3

На загрузку сервера вообще мало что влияет, кроме огромной жопы в коде.

Но большое число if'ов в шаблоне обычно означает что шаблон следует поправить и это число сделать малым.

КакМаршрутник (http://goo.gl/forms/hMgaH0s9E5) — как маршрутник, но работает.
Gerga
На сайте с 02.08.2015
Offline
94
#4

maks_m, покажите пример использования

S
На сайте с 13.10.2014
Offline
171
#5

ну скажем так, по уровню нагрузки один try catch с эксепшеном обойдется в 20 if Else.

но. если вы меряете категориями вордпресс, то там хоть 1000 if-else. разницы вы не заметите

maks_m
На сайте с 02.07.2013
Offline
101
#6

Gerga,

<?php if( in_category( 32 ) || in_category( 35 ) || in_category( 38 ) || in_category( 42 ) || in_category( 43 ) || in_category( 45 )){ .... } ?>

и таких конструкций несколько.

KrutE
На сайте с 29.04.2006
Offline
239
#7
и таких конструкций несколько.

если их будет несколько тысяч, то, может быть..

Gerga
На сайте с 02.08.2015
Offline
94
#8

maks_m, функция in_category() в качества параметра может получить массив. Так будет правильнее:


if ( in_category( array( 32, 35, 38, 42, 43, 45 ) ) ) {}
maks_m
На сайте с 02.07.2013
Offline
101
#9

Gerga, спасибо)

S
На сайте с 13.10.2014
Offline
171
#10

вот эта конструкция тоже вполне работоспособная замена if-else для большого кол-ва вариантов


switch ($i) {
case 0:
case 1:
case 2: echo "Yes"; break;
default : echo "none";
}
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий