Одним из способов повышения производительности при создании шаблонов 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 очень большой. Я думаю, что ключевая вещь, которую нужно здесь сохранить, состоит в том, что только самые полезные, самые длинные и / или наиболее часто используемые фрагменты кода должны быть превращены в ярлыки, запускаемые с помощью табуляции. В противном случае мы просто переходим от попыток запоминания частей кода к попыткам запоминания настроенных нами последовательностей нажатий клавиш, что может быть еще более неприятным … плюс, если вы попали на компьютер, отличный от основной рабочей лошадки, это может быть хитрым, чтобы запомнить оригинальный код. Эмпирическое правило заключается в том, что это должно экономить время, а не костыли;)
Я надеюсь, что вы поделитесь в комментариях любыми фрагментами, которые вы делаете / будете использовать таким образом!