Избавляемся от лишних обращений к данным
ВАЖНО!
Статью писал давно и еще плохо понимал некоторые моменты. Все что написано в этой статье работает, но все это мелочи и не стоит этим заниматься.
Не надо реализовывать советы из этой статьи!
Просто ознакомьтесь, возможно появятся какие-то свои идеи по оптимизации...
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('d.m.Y'), get_comment_time('H:i')); ?> //Или можно записать так:<?php echo date( 'd.m.Y в 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( 'd.m.Y в H:i', strtotime($comment->comment_date) ); ?></a>
Такое несложное изменение и если у статьи, например, 20 комментариев экономия составит 60 обращений к данным.