Статьи

10 фрагментов кода WP разработчики темы должны иметь на быстрый набор

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


Сочетания клавиш, запускаемые с помощью Coda
Хотите поднять скорость кодирования на новый уровень?

Как человек, который создает много тем WordPress с нуля 5 и более дней в неделю, все, что я могу сделать, чтобы сделать свою работу менее трудоемкой или однообразной, — это хорошо! Повторяющиеся задачи вскоре становятся непреодолимыми, и они могут легко стать причиной потери энтузиазма в проекте или даже целой работы.

Сочетания клавиш, запускаемые с помощью табуляции, представляют собой просто последовательность пользовательских клавиш, сопровождаемых нажатием клавиши TAB. Когда вы нажимаете клавишу табуляции, текст, введенный вами до нажатия клавиши табуляции, заменяется любым текстом / кодом, указанным при настройке ярлыка. Ярлыки, запускаемые с помощью табуляции, привлекли мое внимание благодаря использованию Coda . Тем не менее, эта функциональность ярлыка не является эксклюзивной для Coda.

Многие приложения для редактирования текста позволяют указывать последовательность нажатий клавиш для запуска ярлыка. Некоторые примеры включают TextMate , E-TextEditor и Sublime Text . Фактически, многие из этих приложений позволяют вам загружать и добавлять пакеты фрагментов кода, которые были созданы для аналогичной цели другими разработчиками, что экономит вам еще больше времени! Вы также можете добиться аналогичного эффекта, используя что-то вроде TextExpander (Mac) или ActiveWords (ПК), которое является фоновым приложением, которое позволяет вам нажимать несколько клавиш на что угодно — в любом приложении.

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

Примечание. Очевидно, что вы можете использовать любой «ярлык» текста, который вы предпочитаете. Я поделюсь своим собственным, но не стесняйтесь использовать другой текст в соответствии с вашим собственным рабочим процессом.


Ярлык: 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>

Ярлык: 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;

Ярлык: 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>

Ярлык: link[tab]

Этот фрагмент используется внутри цикла для возврата абсолютного URL-адреса к элементам, которые обрабатывает ваш цикл — обычно к сообщениям или страницам. Ссылка, которая выводится на страницу, зависит от вашей структуры постоянных ссылок, но если структура постоянных ссылок изменится, вам не нужно будет менять этот код.

1
<?php the_permalink();
1
<a href=»<?php the_permalink(); ?>»><?php the_title();

Ярлык: 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>

Ярлык: menu[tab]

WordPress 3.0 представил фантастическую новую систему меню, которая отвлекла всех нас от использования «wp_list_pages» и громоздкого плагина «исключать страницы из списков». Это простой вызов функции, но я использую его по крайней мере один раз для каждого веб-сайта, поэтому я превратил его в ярлык, запускаемый с помощью вкладок.

1
<?php wp_nav_menu( array( ‘menu’ => ‘Navigation’, ‘sort_column’ => ‘menu_order’ ) );

Если вы создаете тему, чтобы предлагать ее для загрузки, вы, вероятно, будете использовать параметр theme_location, чтобы пользователи могли указать свое собственное меню / несколько меню. Мои шаблоны обычно создаются для клиентов, и по умолчанию я склоняюсь к названию меню «Навигация», поэтому за пять нажатий клавиш я сделал все, что необходимо, чтобы перейти на страницу. Остальное обрабатывается с помощью CSS.


Ярлык: wpinc[tab]

Синтаксис для включения файла в WordPress немного отличается от стандартного PHP include. Я часто использую WordPress в темах, когда работаю с пользовательскими типами постов и таксономиями. Мне нравится хранить каждый тип поста и таксономию в отдельном файле, и это ни для чего иного, как для поддержания чистоты и удобства чтения. Однако, делая это таким образом, файлы должны быть включены в файл functions.php темы.

1
<?php include (TEMPLATEPATH . ‘/filename.php’);
1
<?php include (TEMPLATEPATH . ‘/taxonomy_manufacturers.php’);

Ярлык: 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>’,
    ))
;
?>

Ярлык: 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>

Ярлык: gh[tab], gs[tab], gf[tab]

Это три в одном, но эти фрагменты кода используются в каждом шаблоне WordPress несколько раз. Представьте, сколько секунд вы могли бы сэкономить, не печатая их каждый раз, когда вы их использовали! Да, да, вы можете копировать и вставлять тоже — я знаю! Посмотрите, сможете ли вы угадать, какой ярлык выводит какой код …

1
2
3
<?php get_header();
<?php get_footer();
<?php get_sidebar();

Как многие из вас, без сомнения, знают, кодекс WordPress очень большой. Я думаю, что ключевая вещь, которую нужно здесь сохранить, состоит в том, что только самые полезные, самые длинные и / или наиболее часто используемые фрагменты кода должны быть превращены в ярлыки, запускаемые с помощью табуляции. В противном случае мы просто переходим от попыток запоминания частей кода к попыткам запоминания настроенных нами последовательностей нажатий клавиш, что может быть еще более неприятным … плюс, если вы попали на компьютер, отличный от основной рабочей лошадки, это может быть хитрым, чтобы запомнить оригинальный код. Эмпирическое правило заключается в том, что это должно экономить время, а не костыли;)

Я надеюсь, что вы поделитесь в комментариях любыми фрагментами, которые вы делаете / будете использовать таким образом!