Позбавляємося зайвих звернень до даних
ВАЖЛИВО!
Статтю писав давно та ще погано розумів деякі моменти. Все, що написано в цій статті працює, але все це дрібниці і не варто цим займатися.
Не треба реалізовувати поради із цієї статті!
Просто ознайомтеся, можливо з’являться якісь свої ідеї щодо оптимізації.
1. Позбавляємося зайвих звернень до даних
Усюди, де є можливість замінити динамічні дані на статичні, їх потрібно замінити. Наприклад, замінюємо:
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
на
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
За аналогією бажано замінити все: <?php language_attributes(); ?> , <?php bloginfo(‘rss2_url’); ?> і т.д. і т.п.
Там де викликана змінна зустрічається кілька разів , бажано викликати її один раз. Швидше, це можна віднести до <?php bloginfo(‘template_url’); ?> . Для наочності наведу код.
Такий запис:
... <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/scripts/prototype.lite.js"></script> <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/scripts/moo.fx.js"></script> <script type="text/javascript" src="<?php bloginfo('template_url'); ?>/scripts/moo.fx.pack.js"></script> ...
Можна записати так:
... $templateurl = get_bloginfo('template_url'); <script type="text/javascript" src="<?php echo $templateurl ?>/scripts/prototype.lite.js"></script> <script type="text/javascript" src="<?php echo $templateurl ?>/scripts/moo.fx.js"></script> <script type="text/javascript" src="<?php echo $templateurl ?>/scripts/moo.fx.pack.js"></script> ...
Поясню: ми заздалегідь визначаємо шлях до шаблону і поміщаємо його змінну $templateurl, а потім скрізь, де потрібно написати шлях до шаблону пишемо <?php echo $templateurl ?> . Якщо sidebar і footer викликати через require або include ( require (‘sidebar.php’); ), замість стандартної функції WP – get_header(); , то один раз визначивши змінну $templateurl (десь у header), її можна буде використовувати і у файлах sidebar.php, footer.php.
2. Невелика оптимізація у коментарях
#1. Правимо код, пов’язаний з висновком дати:
<?php printf('%1$s at %2$s', get_comment_date(), get_comment_time()) ?>
Змінюємо його на:
<?php printf('%1$s у %2$s', get_comment_date('dmY'), get_comment_time('H:i')); ?> //Або можна записати так:<?php echo date( 'dmY в H:i', strtotime($comment->comment_date) ); ?>
Такою зміною ми заздалегідь визначаємо формат дати, і функції get_comment_date() або get_comment_time() вже не вимагають формату дати з налаштувань сайту. Інформацію про формати дати, щоб далеко не ходити, можна переглянути в налаштуваннях WP (налаштування->загальні).
Економія: 2 звернення до даних із кожного коментаря.
#2. Замінюємо посилання на коментар у даті коментарю
Дата коментаря анкор посилання, якщо вона у вас є звичайно, зазвичай вона є. Замість функції, яка отримує адресу посилання ( get_comment_link() ) пишемо так: <a href=’#comment-<?php echo $comment->comment_ID ?>’>Тут дата</a>.
Економія: мінус ще за одним зверненням до даних із кожного коментаря.
Для наочності вище написаного
// так виглядає шматок коду коментарів у WordPress (за дефолтом): <a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><?php printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time( )) ?></a> // я пропоную щоб він виглядав так: <a href="#comment-<?php echo $comment->comment_ID ?>"><?php echo date( 'dmY в H:i', strtotime($comment->comment_date) ); ?></a>
Така нескладна зміна і якщо у статті, наприклад, 20 коментарів економія становитиме 60 звернень до даних.