
Одним из способов повышения производительности при создании шаблонов WordPress является очень быстрый доступ к фрагментам кода с помощью ярлыков, запускаемых с помощью вкладок. В этой статье я поделюсь с вами 10 моими наиболее часто используемыми фрагментами, которые, по моему мнению, должны быть у каждого разработчика под рукой.

Хотите поднять скорость кодирования на новый уровень?
Как человек, который создает много тем WordPress с нуля 5 и более дней в неделю, все, что я могу сделать, чтобы сделать свою работу менее трудоемкой или однообразной, — это хорошо! Повторяющиеся задачи вскоре становятся непреодолимыми, и они могут легко стать причиной потери энтузиазма в проекте или даже целой работы.
Сочетания клавиш, запускаемые с помощью табуляции, представляют собой просто последовательность пользовательских клавиш, сопровождаемых нажатием клавиши TAB. Когда вы нажимаете клавишу табуляции, текст, введенный вами до нажатия клавиши табуляции, заменяется любым текстом / кодом, указанным при настройке ярлыка. Ярлыки, запускаемые с помощью табуляции, привлекли мое внимание благодаря использованию Coda . Тем не менее, эта функциональность ярлыка не является эксклюзивной для Coda.
Многие приложения для редактирования текста позволяют указывать последовательность нажатий клавиш для запуска ярлыка. Некоторые примеры включают TextMate , E-TextEditor и Sublime Text . Фактически, многие из этих приложений позволяют вам загружать и добавлять пакеты фрагментов кода, которые были созданы для аналогичной цели другими разработчиками, что экономит вам еще больше времени! Вы также можете добиться аналогичного эффекта, используя что-то вроде TextExpander (Mac) или ActiveWords (ПК), которое является фоновым приложением, которое позволяет вам нажимать несколько клавиш на что угодно — в любом приложении.
Итак, без дальнейших колебаний позвольте мне представить вам 10 фрагментов кода, которые, как я считаю, должны быть у всех разработчиков тем WordPress для быстрого набора:
Примечание. Очевидно, что вы можете использовать любой «ярлык» текста, который вы предпочитаете. Я поделюсь своим собственным, но не стесняйтесь использовать другой текст в соответствии с вашим собственным рабочим процессом.
1. Шаблон каталога
Ярлык: tp[tab]
Этот фрагмент кода используется для возврата абсолютного URL в каталог текущей темы. Это полезно для встраивания изображений и вызова сценариев, и его следует использовать вместо ввода относительного URL.
Код
|
1
|
<?php bloginfo(‘template_directory’);
|
пример
|
1
2
|
<img src=»<?php bloginfo(‘template_directory’); ?>/images/header.jpg» alt=»Header» />
<script src=»<?php bloginfo(‘template_directory’); ?>/js/jquery.js» type=»text/javascript»></script>
|
2. Пользовательский запрос
Ярлык: query[tab]
Этот фрагмент кода размещает пользовательский запрос WordPress на вашей странице. Это отлично подходит для шаблонов с несколькими запросами. Вы можете использовать это для запроса избранных постов для отображения слайд-шоу изображений или просто для отображения списка постов новостей на странице или на боковой панели, в качестве альтернативы функциональности виджетов (поскольку она более гибкая).
Код
|
1
2
3
4
|
<?php $query = new WP_Query(»);
<?php if($query->have_posts()) : ?><?php while($query->have_posts()) : $query->the_post();
<?php the_content();
<?php endwhile;
|
пример
|
1
2
3
4
5
6
7
8
|
<?php $featured = new WP_Query(‘showposts=3&tag=featured’);
<?php if($featured->have_posts()) : ?>
<ul id=»featured»>
<?php while($featured->have_posts()) : $featured->the_post();
<li><a href=»<?php the_permalink(); ?>» title=»<?php the_title(); ?>»><?php the_post_thumbnail(‘full’);
<?php endwhile;
</ul>
<?php endif;
|
3. Если есть посты, а есть посты, пост
Ярлык: hp[tab]
Этот фрагмент кода используется во всех файлах шаблонов WordPress. Это начало цикла ( http://codex.wordpress.org/The_Loop ), которое необходимо для извлечения контента из базы данных WordPress.
Код
|
1
|
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
|
пример
|
1
2
3
4
5
6
7
8
|
<div class=»content»>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
<h1><?php the_title();
<?php the_content();
<?php endwhile;
<p>Sorry, no posts found.</p>
<?php endif;
</div>
|
4. Постоянная ссылка
Ярлык: link[tab]
Этот фрагмент используется внутри цикла для возврата абсолютного URL-адреса к элементам, которые обрабатывает ваш цикл — обычно к сообщениям или страницам. Ссылка, которая выводится на страницу, зависит от вашей структуры постоянных ссылок, но если структура постоянных ссылок изменится, вам не нужно будет менять этот код.
Код
|
1
|
<?php the_permalink();
|
пример
|
1
|
<a href=»<?php the_permalink(); ?>»><?php the_title();
|
5. Значение пользовательского поля
Ярлык: cf[tab]
Пользовательские поля обеспечивают большую гибкость шаблона. Ограничение на самом деле является либо вашим воображением, либо самоопределенной линией, в которой вы считаете, что функциональность слишком глубока для настраиваемых полей, и вместо этого ее следует реализовывать с помощью плагина или пользовательского типа публикации.
Код
|
1
|
<?php echo get_post_meta($post->ID, ‘custom-field-key’, true);
|
Одно из моих недавних применений пользовательских полей было на веб-сайте клиента, на котором была библиотека информации о педалях гитарных эффектов. Владелец указанного веб-сайта, связанный с несколькими различными интернет-магазинами, получает комиссию, если одна из этих педалей эффектов продается, если клиент купит одну после перехода по ссылке на своем веб-сайте. Реферальные ссылки работали так, что мой клиент мог напрямую ссылаться на продукт на одном из партнерских веб-сайтов и просто размещать некоторую информацию о реферере в конце URL-адреса.
Я настроил пользовательский тип записи для педалей эффектов, поэтому использование настраиваемого поля казалось простым шагом вперед, чтобы клиент мог легко управлять этими данными. Ключ настраиваемого поля был «affiliate», и они добавили ссылку в поле значения. В шаблоне настраиваемое поле использовалось для вывода «Купить сейчас!» кнопка.
пример
|
1
|
<a class=»button_buynow» href=»<?php echo get_post_meta($post->ID, ‘affiliate’, true); ?>» title=»Buy <?php the_title(); ?>»>Buy Now!</a>
|
6. Пользовательское меню
Ярлык: menu[tab]
WordPress 3.0 представил фантастическую новую систему меню, которая отвлекла всех нас от использования «wp_list_pages» и громоздкого плагина «исключать страницы из списков». Это простой вызов функции, но я использую его по крайней мере один раз для каждого веб-сайта, поэтому я превратил его в ярлык, запускаемый с помощью вкладок.
Код
|
1
|
<?php wp_nav_menu( array( ‘menu’ => ‘Navigation’, ‘sort_column’ => ‘menu_order’ ) );
|
Если вы создаете тему, чтобы предлагать ее для загрузки, вы, вероятно, будете использовать параметр theme_location, чтобы пользователи могли указать свое собственное меню / несколько меню. Мои шаблоны обычно создаются для клиентов, и по умолчанию я склоняюсь к названию меню «Навигация», поэтому за пять нажатий клавиш я сделал все, что необходимо, чтобы перейти на страницу. Остальное обрабатывается с помощью CSS.
7. WordPress Включить
Ярлык: wpinc[tab]
Синтаксис для включения файла в WordPress немного отличается от стандартного PHP include. Я часто использую WordPress в темах, когда работаю с пользовательскими типами постов и таксономиями. Мне нравится хранить каждый тип поста и таксономию в отдельном файле, и это ни для чего иного, как для поддержания чистоты и удобства чтения. Однако, делая это таким образом, файлы должны быть включены в файл functions.php темы.
Код
|
1
|
<?php include (TEMPLATEPATH . ‘/filename.php’);
|
пример
|
1
|
<?php include (TEMPLATEPATH . ‘/taxonomy_manufacturers.php’);
|
8. Динамическая боковая панель
Ярлык: side[tab]
Я никогда не смогу точно вспомнить код для отображения динамической боковой панели, и хотя я не использую его так часто, вводить его вручную довольно долго.
Код
|
1
|
<?php if(!function_exists(‘dynamic_sidebar’) || !dynamic_sidebar(‘Sidebar’) ) : ?><?php endif;
|
Это, конечно, зависит от другой части кода, которая включает динамические боковые панели в теме, находящиеся в файле functions.php
|
01
02
03
04
05
06
07
08
09
10
|
<?php
if (function_exists(‘register_sidebar’) )
register_sidebar(array(
‘before_widget’ => ‘<div class=»widget»>’,
‘after_widget’ => ‘</div>’,
‘before_title’ => ‘<h2>’,
‘after_title’ => ‘</h2>’,
))
;
?>
|
9. Код верхнего и нижнего колонтитула
Ярлык: start[tab]
Когда я начинаю создавать шаблон WordPress, я помещаю все в файл index.php. Я перенесу все в отдельные файлы header.php, footer.php и sidebar.php, как только у меня будет index.php, как я хочу — это именно то, как мне нравится работать. Все мои проекты начинаются с одного и того же кода.
Код
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Strict//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd»>
<html xmlns=»http://www.w3.org/1999/xhtml»>
<head profile=»http://gmpg.org/xfn/11″>
<meta http-equiv=»Content-Type» content=»<?php bloginfo(‘html_type’); ?>; charset=<?php bloginfo(‘charset’); ?>» />
<title><?php wp_title(»);
<meta name=»generator» content=»WordPress <?php bloginfo(‘version’); ?>» /> <!— leave this for stats —>
<link rel=»stylesheet» href=»<?php bloginfo(‘stylesheet_url’); ?>» type=»text/css» media=»screen» />
<link rel=»alternate» type=»application/rss+xml» title=»RSS 2.0″ href=»<?php bloginfo(‘rss2_url’); ?>» />
<link rel=»alternate» type=»text/xml» title=»RSS .92″ href=»<?php bloginfo(‘rss_url’); ?>» />
<link rel=»alternate» type=»application/atom+xml» title=»Atom 0.3″ href=»<?php bloginfo(‘atom_url’); ?>» />
<link rel=»pingback» href=»<?php bloginfo(‘pingback_url’); ?>» />
<?php wp_enqueue_script(‘jquery’);
<?php wp_head();
</head>
<body <?php body_class();
<?php wp_footer();
</body>
</html>
|
10. Получить верхний / нижний колонтитул / боковую панель
Ярлык: gh[tab], gs[tab], gf[tab]
Это три в одном, но эти фрагменты кода используются в каждом шаблоне WordPress несколько раз. Представьте, сколько секунд вы могли бы сэкономить, не печатая их каждый раз, когда вы их использовали! Да, да, вы можете копировать и вставлять тоже — я знаю! Посмотрите, сможете ли вы угадать, какой ярлык выводит какой код …
Код
|
1
2
3
|
<?php get_header();
<?php get_footer();
<?php get_sidebar();
|
Вывод: поделитесь своими сниппетами!
Как многие из вас, без сомнения, знают, кодекс WordPress очень большой. Я думаю, что ключевая вещь, которую нужно здесь сохранить, состоит в том, что только самые полезные, самые длинные и / или наиболее часто используемые фрагменты кода должны быть превращены в ярлыки, запускаемые с помощью табуляции. В противном случае мы просто переходим от попыток запоминания частей кода к попыткам запоминания настроенных нами последовательностей нажатий клавиш, что может быть еще более неприятным … плюс, если вы попали на компьютер, отличный от основной рабочей лошадки, это может быть хитрым, чтобы запомнить оригинальный код. Эмпирическое правило заключается в том, что это должно экономить время, а не костыли;)
Я надеюсь, что вы поделитесь в комментариях любыми фрагментами, которые вы делаете / будете использовать таким образом!