Разработка на вордпресс. Нюансы коммерческой разработки на WordPress. Кто разрабатывает WordPress

Обязательным параметром для этой функции является pathname, где задается путь к создаваемой директории.

mkdir("newfolder" );

При таком указании папки, она будет создана в той же директории, из которой был запущен php-скрипт. Если нужно создать каталог в другом месте, можно задать относительный путь к создаваемой папке или указать полный путь от корневой директории сайта.

mkdir("../newfolder" ); // на уровень ниже

mkdir("/folder1/folder2/newfolder" ); // полный путь

В последнем примере обязательным условием будет существование подкаталогов "folder1" и "folder2". Если их не будет, функция, в таком виде не сможет выполнить создание папки и вернет ошибку:

Warning: mkdir() : No such file or directory in …

В случае удачного выполнения, функция возвращает значение True. Если пака не была создана, возвращается значение False.

if (mkdir("newfolder" ))
echo "Папка успешно создана" ;
else
echo "Папка не создана" ;

Но не стоит использовать эту функцию без проверки на наличие папки, так как ошибку о том, что не удалось создать папку, сервер все равно будет выводить.

Назначение прав при создании папки

За назначение прав на создаваемую папку отвечает второй необязательный параметр функции mkdir . По умолчанию, назначаются максимальные привилегии – 0777.

Права назначаются восьмеричным значением с обязательным нулем на первом месте. Не считая первого нуля, числа означают уровни доступа для владельца, для группы владельца, для всех остальных.

0 – доступ закрыт;

1 – доступ для чтения;

2 – доступ на запись;

4 – доступ на выполнение.

Чаще всего права задаются составной суммой, например:

7 – полный доступ (1+2+4);

5 – чтение и выполнение (1+4).

mkdir("newfolder" , 0777); // полный доступ для всех

Создание нескольких вложенных поддиректорий

Создать несколько вложенных папок сразу можно, просто задав еще один необязательный логический параметр – recursive.

mkdir("folder1/folder2/newfolder" , 0777, True ); // полный доступ для всех

В этом случае, если папок "folder1" и "folder2" нет, функция создаст и их, и папку "newfolder". Сообщений об ошибках, если других проблем не возникнет, выведено не будет и функция вернет значение True.

Удаление папки

Пустую папку в PHP можно удалить функцией rmdir . В параметре dirname для нее так же задается полный или относительный путь к удаляемому каталогу:

rmdir("myfolder" );

rmdir("folder1/folder2/myfolder" );

В каждом из указанных случаев удаляется только папка "myfolder". Если папки нет или путь задан некорректно, будет выведена ошибка:

Warning: rmdir(myfolder) : No such file or directory in …

Удаление непустой папки

Удаления непустого каталога выполняется путем последовательного удаления вложенных файлов в папке функцией unlink , а затем удаление пустой папки функцией rmdir . Для этого можно использовать подобную функцию:

function my_delete_dir($mypath){
$dir = opendir($mypath);
while (($file = readdir($dir))){
if (is_file($mypath."/" .$file))
unlink ($mypath."/" .$file);
elseif (is_dir($mypath."/" .$file) && ($file != "." ) && ($file != ".." ))
my_delete_dir ($mypath."/" .$file);
}
closedir ($dir);
rmdir ($mypath);
}

my_delete_dir("myfolder" ); // вызов функции

Проверка существования каталога

Перед большинством операций с каталогами стоит проверять, существуют ли они. Для этого применяется функция file_exists .

Помимо этого нужно убедиться, что указанный объект именно папка, а не файл - функция is_dir . Проверяемая папка задается относительным или полным путем.

if (file_exists("myfolder" ))
echo "Указанная папка существует" ;
else
echo "Указанной папки нет" ;

if (is_dir("myfolder" ))
echo "Указанный объект папка" ;
else
echo "Указанный объект не папка" ;

Широкое применение баз данных не лишило обычную файловую систему значения. Запись и чтение файлов по-прежнему занимают значимое место в программировании.

Алгоритмы проверки наличия файла позволяют избежать ошибок при исполнении кода. Функция PHP file_exists предлагает простое решение для проверки существования файла или каталога.

Синтаксис и использование функции file_exists

Результат функции - true или false. Единственный параметр - имя файла и путь к нему. Результат функции кэшируется потому, если PHP file_exists не работает, а файл на самом деле существует, то это ошибка алгоритма.

При использовании функции clearstatcache() можно избежать многих ошибок в исследовании состояния доступной файловой системы. Но следует иметь в виду, что на несуществующем файле PHP file_exists будет выдавать false до тех пор, пока искомый файл не будет создан, а затем будет выдавать true даже когда он был уже удален.

Корректное сочетание функции clearstatcache() и функций, связанных с файловой системой (например, is_writable(), is_readable(), is_executable(), is_file(), is_dir() и других), позволяет избежать «скрытых» ошибок исполнения скриптов.

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

Параметр функции PHP file_exists

PHP может быть установлен на различных вычислительных платформах, а следовательно, именование путей и файлов может быть различным.

Документация декларирует, что при проверке PHP ориентируется на UID/GID, а не на эффективные идентификаторы. Разрабатывая алгоритм использования PHP file_exists, следует обратить внимание не только на правильные слэши (прямой или обратный), кодировку пути к файлу и имя самого файла, но и проверить наличие нужного регистра, правильных символов, прав доступа и других обстоятельств.

На отрицательный результат может повлиять кодировка файла скрипта, может потребоваться преобразование строки символов, полученной из базы данных.

Применение функции на практике

Области применения скриптов PHP существенно отличаются. Нельзя сказать, что PHP file_exists используется исключительно для хранения системной информации, файлов данных, объектов или динамично формируемых изображений.

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

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

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

Целью этого руководства является представить вам набор передовых практик, которые будут полезны как для начинающих, так и для опытных специалистов-разработчиков, которые начинают работать с WordPress .

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

В этой статье мы рассмотрим следующие темы:

  • Стандарты кодирования WordPress ;
  • Как избежать конфликта названий функций;
  • Код комментариев;
  • Советы по безопасности.

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

Обратите внимание, что не все описанное в этой серии обязательно применять при разработке плагинов. Однако если вы уже приступаете к обучению, почему бы научиться делать это правильно?

Я постараюсь, чтобы статьи этой серии были легкими для понимания. Я буду включать в статьи некоторые примеры правильно составленного кода и примеры ошибок. Не все описанное здесь является обязательным при создании плагина, но если вы начинаете работу с WordPress , почему бы не сделать это правильно?

После того, как это войдет у вас в привычку, вы автоматически будете придерживаться стандартов, и вам проще будет уберечься от ошибок.

Стандарты кодирования WordPress

Честно говоря, это один из моих самых серьезных недостатков. Если вы разрабатываете инструменты для WordPress , вы должны просто следовать Стандартам кодирования WordPress . Это помогает повысить читаемость кода и избежать распространенных ошибок.

WordPress является CMS с публичным использованием и поддержкой, что подразумевает такую простую вещь, что все пишут коды, которые просты для чтения, редактирования и поддержки всеми участниками процесса.

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

В Руководстве WordPress стандарты делятся по четырем основным используемым языкам:

  1. Стандарты кодирования CSS
  2. Стандарты кодирования НTML
  3. Стандарты кодирования JavaScript
  4. Стандарты кодирования PHP

Примеры

Ниже я покажу вам несколько простых примеров PHP — кода, чтобы вы получили общее представление, о чем идет речь.

Ошибки:

if(condition) action0($var); if(condition) { action1(); } elseif(condition2) { action2a(); action2b(); }

Примеры правильного кодирования:

if (condition) { action0($var); } if (condition) { action1(); } elseif (condition2) { action2a(); action2b(); }

Второй пример кода намного более читаем, не так ли? В Руководстве по стандартам кодирования много примеров, которые помогут вам сделать код чище. Вы будете поражены тем, как же просто с помощью нескольких пробелов и отступов значительно повысить читаемость кода.

В то время как я занимался написанием этой статьи, я как раз купил тему для одного своего клиента и, когда захотел немного изменить ее код, я был потрясен, как же тяжело это сделать.

Вот то, что я имею в виду:

>
" class="feature-link" title=""> ";} ?> "; foreach($categories as $tag) { $tag_link = get_category_link($tag->term_id); $titleColor = categorys_title_color($tag->term_id, "category", false); echo "".$tag->name.""; } echo ""; } }?>

Даже немного пугающе, не правда ли? После нескольких минут работы с этим кодом я послал автору темы электронное письмо со ссылкой на страницу руководства по стандартам кодирования.

Как избежать конфликтов имен функций

Конфликты имен происходят, когда функция имеет то же имя, что и функция, которая уже была определена ранее. Например, если у вас в теме есть функция get_the_post_terms() , и вы установите плагин, который содержит функцию с тем же именем, вы получите что-то вроде:

Fatal error: Cannot redeclare get_the_post_terms() (previously declared in....

К сожалению, это происходит гораздо чаще, чем следовало бы. Но таких конфликтов легко избежать.

Для этого у нас есть следующие варианты:

1. Префиксы функций

Например, если ваш плагин называется «WordPress Cool Plugin» , вы можете использовать префикс wcc_ для всех его функций.

Таким образом, в приведенном выше примере название нашей функции будет выглядеть, как wcc_get_the_post_terms() .

2. Заключите функции в класс

Возможно, ваш плагин настолько прост, что для него даже не требуется класс, но вы все равно можете его создать, чтобы организовать элементы. Мне особенно нравится использовать одиночный шаблон проектирования, но взгляните на приведенный ниже пример простого класса со статическим методом:

class Wcc_Mailer { static function send($post_ID) { $friends = "[email protected]"; mail($friends,"New post!", "Check my new post in " . get_permalink($post_ID)); return $post_ID; } } add_action("publish_post", array("Wcc_Mailer", "send"));

Как видите, в этом примере я просто использовал префикс для имени класса, но моя функция называется «send» . Это имя метода защищено от изменений через глобальную область имен, сам метод не может вызываться непосредственно. Чтобы вызвать его, мне нужно будет сделать следующее:

Wcc_Mailer::send($post_id);

Код комментариев

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

Кроме того, как я уже говорил, WordPress является CMS с публичным использованием. Многие разработчики будут работать с вашим кодом, и оставленные для них подсказки очень помогут им разобраться, что к чему.

Лично я использую для комментирования функций синтаксис PHPDoc , с применением Sublime + Docblockr это делается очень просто.

Давайте посмотрим, как ребята из WordPress комментируют функцию wp_mail() , расположенную в файле wp-includes/pluggable.php :

/** * Отправляет почтовые сообщения, аналогичные почте PHP * * Возвращаемое значение true не значит автоматически, что пользователь получил * письмо. Это только значит, что использованный метод выполнил * запрос без ошибок. * * Использование обращений "wp_mail_from" и "wp_mail_from_name" позволяет * задавать адрес отправителя в следующем формате "Name ", * если заданы оба обращения. Если использовано только обращение "wp_mail_from", * в адресе отправителя будет указывать только электронная почта. * * Тип контента по умолчанию - "text/plain", что не позволяет использование HTML. * Однако вы можете задать тип контента электронных сообщений, использовав * фильтр "wp_mail_content_type". * * Кодировка по умолчанию соответствует кодировке применяемой в блоге. Другая * кодировка может быть установлена через фильтр "wp_mail_charset". * * @since 1.2.1 * * @uses PHPMailer * * @param string|array $to Массив или разделенный запятыми список e-mail адресов для рассылки писем. * @param string $subject Тема письма * @param string $message Текст сообщения * @param string|array $headers Опционально. Дополнительный заголовок. * @param string|array $attachments Опционально. Прикрепленные файлы. * @return bool Всегда, когда содержимое письма было отправлено успешно. */ function wp_mail($to, $subject, $message, $headers = "", $attachments = array()) { [....] // Отправлено! try { return $phpmailer->Send(); } catch (phpmailerException $e) { return false; } }

Как видите, они описывают то, что делает эта функция, какие параметры ей необходимы и что она возвращает.
Довольно информативно, не правда ли?

Комментарии не предназначены для использования только с PHP . В HTML , я например, люблю использовать в конце больших блоков кода, поэтому мне намного проще потом ориентироваться в коде.

В CSS я использую комментарии, чтобы разделить код на разные разделы.

Например:

/********************* ОБЩИЕ СТИЛИ *********************/ body { font-family: Arial; color: #333; } /****************************************************************** СТИЛИ H1, H2, H3, H4, H5 ******************************************************************/ h1, .h1 { font-size: 2.5em; line-height: 1em; font-family: $vag-bold; } /********************* СТИЛИ МЕНЮ НАВИГАЦИИ *********************/ nav { color:red } [...]

К безопасности нужно относиться очень серьезно! Если ваш плагин или тема становятся популярными, поверьте мне, вы не захотите, чтобы по вашей вине были взломаны тысячи сайтов.

Если вы думаете, что я преувеличиваю, посмотрите на исследования Сheckmarx , проведенные ими в 2013 году среди 50 лучших плагинов WordPress .

Теперь давайте рассмотрим некоторые советы по безопасности разработки для WordPress :

XSS-уязвимости

Для предотвращения XSS мы должны сделать две вещи. Проверять безопасность входящих данных и проверять безопасность исходящих данных .

Существует несколько методов для проверки безопасности в зависимости от данных и контекста, в котором они используются. Общее правило: вы не должны доверять любым вводящим данным, и не должны доверять любым данным, которые выводятся.

Для ввода данных можно использовать, например, sanitize_text_field() , которая проверяет недопустимый текст UTF-8 , конвертирует в объект одиночные символы <, убирает все теги, удаляет разрывы строк, отступы и лишние пробелы, а также убирает октеты. В зависимости от контекста, существуют разные функции, которые помогут вам обезопасить данные.

То же самое происходит, когда вы выводите данные. Взгляните на следующий пример того, как выводится ссылка:

">

  • esc_url отвергает неверные URL-адреса, устраняет недопустимые символы и удаляет опасные символы;
  • esc_html кодирует & «‘при выводе HTML.

Опять же, в зависимости от данных, которые вы имеете, существуют различные функции, которые могут вам помочь. Для JavaScript вы можете использовать esc_js .

Кроме проверки самих данных, не забудьте проверить и дату.

Предотвращение прямого доступа к файлам

Большинство хостов обеспечивают прямой доступ к файлам. Для вашего плагина это означает, что, скорее всего, будут иметь место некоторые ошибки PHP , и эти ошибки станут ценной информацией для злоумышленников.

Чтобы предотвратить это, вы можете разместить в верхней части вашего скрипта очень простой код:

// Выход, если предоставлен прямой доступ if (! defined("ABSPATH")) exit;

Это в целом помешает выполнить скрипт, если доступ к нему получен не через WordPress .

Удалите все предупреждения и уведомления

Злоумышленники могут воспользоваться не только ошибками PHP — извещения и предупреждения также включают в себя много ценной для них информации. Каждый плагин должен быть закодирован с использованием режима DEBUG .

Это также помешает злоумышленникам вычислить устаревшие функции в вашем плагине. Чтобы включить режим DEBUG просто найдите эту строку в файле wp-config.php и установите значение TRUE :

define(WP_DEBUG, true);

Используйте значения Nonce

Nonce -значения — это сокращение от numbers used once (однократно использованные числа) , они используются для защиты от ложных запросов между сайтами, или CSRF .

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

В зависимости от того, где вам нужно применить значение Nonce , вы можете создавать его по-разному.

Для ссылок используйте wp_nonce_url() :

$complete_url = wp_nonce_url($bare_url, "trash-post", "my_nonce");

Для форм — wp_nonce_field() :

wp_nonce_field("trash-post", "my_nonce");

В других местах — wp_create_nonce() :

wp_localize_script("my-script", "my-var-name", array("nonce" => wp_create_nonce("trash-post", "my_nonce"));

Если вы посмотрите на приведенный выше пример, то увидите, как я использую wp_localize_script (о которой речь пойдет в следующей статье ), чтобы включить nonce в блок кода JavaScript . Я делаю это, потому что позже планирую использовать JQuery для выполнения запроса AJAX , и вы тоже всегда должны включать nonce в вызовы AJAX .

После этого в скрипте, просто для проверки nonce, используйте следующий код:

if(! wp_verify_nonce("trash_post" , "my_nonce")) { die("Busted!"); }

Используйте функции и библиотеки WordPress

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

Во-первых, хочу сразу отметить, что для того чтобы стать ведущим разработчиком WordPress потребуется много усилий – это очень тяжелый труд. Он требует значительного количества времени, энергии и решимости. Если вы ищете простую пошаговую инструкцию “Как подняться на самый верх”, читая эту статью вы потратите свое время. Согласно статистике, шансы не на вашей стороне.

Кстати, установка WordPress после прочтения нескольких учебников и настройка нескольких тем не делает кого-либо лидером в разработке. Такие люди могут знать больше, чем средний человек, и вправе называть себя «Экспертами». Ведущие разработчики выходят далеко за пределы основных знаний, они сами расширяют границы возможного. Они привносят инновационный вклад в сообщество, а также демонстрируют мастерство в работе, которую они делают. Поэтому я хочу, чтобы вы были более чем просто “Эксперт”, я хочу, чтобы вы были одним из лучших.

Зачем быть лидером в разрабтке?

А почему нет? Если вы работаете с WordPress, то почему бы просто не согласиться на средний уровень? В жизни итак уже слишком много “среднего” и значение слова “нормальный” слишком переоценено. Есть и другие причины. Вот, например, преимущества ведущих разработчиков WordPress:

  • – Зарабатывают больше денег
    Существует большой спрос на WordPress и клиенты готовы платить больше за разработчиков, являющихся лучшими в своей области.
  • – Получают лучших клиентов
    Когда вы находитесь на вершине, у вас есть возможность сказать “нет” проектам, которые вас не привлекают, и “да” проектам, которые вам интересны.
  • – Имеют большее влияние
    Являясь признанным специалистом вы имеете возможность формировать будущее WordPress, а также экосистем, построенных вокруг него.

Один час чтения в день

Если вы собираетесь стать ведущим специалистом, то вам потребуется потратить не менее одного часа каждый рабочий день на чтение и получение новых знаний о WordPress. Нет короткого пути и нет способа обойти данное требование. Изучение и освоение WordPress займет некоторое время. Если вы смотрите телевизор, перестаньте, в 90% времени это не приносит вам пользы. Если вы геймер, продайте свои игры или выбросите их. Достижение вершин требует обязательности и самопожертвования, и лучше всего начать с исключения из жизни тех вещей, которые не приносят вам пользы.

Начните с выделения одного часа каждого рабочего дня для чтения. Отключите icq, skype и пр., переключите телефон на беззвучный режим и читайте. В процессе чтения делайте заметки о том, что вы узнаете. Обратите внимание, время идет быстрее, чем вы ожидали. Соблюдайте установившийся ритм день за днем, неделя за неделей, месяц за месяцем. И, когда вы почувствуете результаты, выделите еще больше времени для чтения.

Кроме того, определите трехчасовой блок, два-три раза в неделю. Смысл в том, чтобы взять на себя обязательства по обучению и дать себе обещание выделить необходимое время для доведения его до конца.

Поступите в университет WordPress


У вас никогда не было лучшего времени, чтобы узнать и освоить WordPress, чем сейчас. Существует огромное количество прекрасных ресурсов доступных для всех, кто готов найти время и силы на их использование. Перед началом приобретения опыта вам потребуется некоторое образование. Конечно, вы можете просто начать “разбирать” существующие проекты. Но я предлагаю вам подождать, развивать самодисциплину и учиться – скоро будет много времени для экспериментов. Начните обучение с социальных аспектов вашего опыта.

Общайтесь в правильной компании

Мы становимся похожи на тех, с кем взаимодействуем. Если вы хотите быть одним из лучших разработчиков WordPress, начинайте проводить время с теми, кто на самом верху. Читайте их блоги, следите за ними в Twitter, давайте “обратную связь” на их мысли и идеи, побывайте на WordCamps и пообщайтесь с ними. Читайте интервью на CodePoet . Следуйте их примеру, попросите у них совета, следуйте их советам и сообщайте о результатах.

Вот, для начала, небольшой список разработчиков WordPress:

Читайте

Существует большое количество доступного материала о WordPress. Есть тысячи людей говорящих о WordPress, по-этому все труднее становится “фильтровать шум”. Да, есть авторитеты, однако, когда вы приступаете к освоению WordPress, вы должны начать свой путь с поиска самых высококачественных ресурсов, концентрируя усилия именно на них.

Вот несколько ресурсов, чтобы вы поняли о чем я:

  • – WordPress Codex
    WordPress Codex является общественно-редактируемым хранилищем для всего, что касается WordPress. Начните с самых основ и сосредоточитесь на освоении интерфейса WordPress с точки зрения конечного пользователя. Узнайте о семантике WordPress . Читайте о дизайне тем и .
  • – Книги на WordPress
    Доступно более десятка книг о WordPress. Начните с тех, название которых вас привлечет. Подумайте, книга “WordPress для чайников” это слишком просто для вас? Может быть нет? Ваши клиенты могут читать её, вам необходимо иметь представление о ней. Когда вы закончите чтение, скажите спасибо автору и напишите отзыв.
  • – Блоги на WordPress
    Найдите и ознакомьтесь с лучшими блогами о WordPress. Подпишитесь на их рассылки. Читайте их регулярно и общайтесь с авторами. Вот несколько из моих любимых блогов WordPress на Smashing Magazine , WP Tuts + , и WP Candy .

Понимайте технологии

Если вы собираетесь освоить WordPress, как разработчик вы должны понимать те технологии, которые лежат в его основе. Если вы уже являетесь программистом и PHP/MySQL не являются новыми для вас, прекрасно. Убедитесь, что ваши навыки современны. Если вы новичок в программировании, начните обучение.

Вот несколько направлений для начала:

  • – Изучите PHP и MySQL
    Очень важно знать PHP и MySQL, особенно важно знать “лучшие практики”. Устаревшие учебники не помогут вам в этом. И то, что вы узнали несколько лет назад, сейчас может оказаться не актуальным. Не уверены с чего начать? Начните с Lynda.com или Learnable.com . Узнайте о производительности MySQ L.
  • – Исследуйте Codebase
    Найдите время, чтобы изучить код WordPress на Trac и Xref . Прочитайте документацию, чтобы понять, как все устроено. Посмотрите, что вам не понятно и задайте вопросы. Ознакомьтесь с тем, как WordPress структурирована.
  • – Поставьте Nightly build (тестовую версию)
    Настройте локальную среду разработки и запустите Nightly build как средство оставаться осведомленным о пути развития WordPress.
  • – Читайте “Make WordPress”
    Хороший способ понять технологию – следить за развитием дискуссий, происходящих на make.wordpress.org . Вы можете следить за обсуждением ядра , плагинов и тем для начинающих .

Делайте “Домашнее задание”

Выполняйте на практике то, чему вы учитесь. Начните с собственных веб-сайтов на WordPress. После прочтения учебника реализуйте полученные знания. Экспериментируйте. “Разбирайте” существующие проекты. Контролируйте свои знания и записывайте ваши идеи и соображения на будущее. Потратьте столько времени, для собственных проектов и экспериментов, сколько вы можете.

Вот несколько областей для развития:

  • – WordPress API
    Начните ознакомление со списком доступных API-интерфейсов в Codex . Прочитайте информацию, доступную для каждого API и экспериментируйте с каждым из них (некоторые окажутся легче, чем другие). Ищите учебники для каждого из API, для понимания реальных перспектив и того, что можно сделать с каждым.
  • – Ajax в WordPress
    Даже если вы уже знакомы с Ajax, узнайте о его использовании Ajax в WordPress . Затем переходите к использованию Ajax при разработке плагинов. Ищите учебники для развития собственных знаний.
  • – WordPress PHP классы
    Ознакомьтесь со списком классов , созданных разработчиками WordPress. Экспериментируйте с ними в собственных проектах и овладевайте ими. В частности, обратите особое внимание на WP_Query , WP_Theme , и wpdb . Ищите руководства по каждому из классов, а также сторонние сообщества такие как WPAlchemy .

Получите опыт работы с WordPress


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

Найдите клиентов

Работа на клиентов, платно или бесплатно, является одним из лучших способов набраться опыта. Клиенты озадачат вас проблемами с которыми вы никогда не столкнетесь по собственному желанию. Если вы только начинаете, . Цель состоит в том, чтобы не только получить несколько сотен часов работы с WordPress, а несколько тысяч, и работать на клиентов один из лучших способов сделать это.

Создайте тему

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

Разработайте плагин

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

Предложите доработку

Присоеденитесь к WordPress-сообществу


Публикуйте руководства

Я начал в 2006 году с простого урока написанного мной (имейте в виду как давно это было). Я взял то, что я только что понял и оформил это в руководство, для того чтобы помочь другим сохранить время и избежать головной боли. Многие кто прочел сказали спасибо, некоторые даже попросили меня сделать некоторую работу для них. Именно так и создаются руководства – взять лучшее из того, что вы только что узнали, и рассказать об этом другим, чтобы они могли пожинать плоды своих усилий. Оно того стоит.

Внесите вклад в Codex

Изучая Codex вы заметите области, которые нуждаются в улучшении. Узнайте о том как стать добровольцем . Посвятите свое время улучшению качества документации. В то время как документация в Кодексе постоянно улучшается, все еще есть функции и возможности ядра WordPress, которые не документированы. Если вы владеете информацией в данной области, доведите ее до сведения других.

Участвуйте в форумах

Большинство начинающих WordPress разработчиков задают вопросы на официальном форуме поддержки (прим. переводчика: в оригинале ссылка на wordpress.org/support). Отвечайте на их вопросы (даже на глупые, а они основные – мы все с чего-то начинали). Затем, станьте активным членом WordPress Stack Exchange community . Отвечайте на вопросы и изучайте ответы которые дают другие разработчики.

Участвуйте в WordCamps

Посетите предстоящий WordCamps . Верным признаком мастерства является возможность научить кого-то другого тому, чем вы владеете сами. Читайте Diary Of A WordCamp . Желаете усложнить задачу? Станьте организатором и проведите WordCamp рядом с вами.

Заключение

Процесс становления лидером в разработке WordPress требует сообразительности, постоянного совершенствования и готовности делать тяжелую работу. Он начинается с обучения, а затем переходит к реальной работе. Наконец, звание “топ-разработчика” требует преданности сообществу WordPress, а также признание ответственности тех, кто формирует и определяет будущее WordPress.

Опубликовано 30.8.2012

Если вам нужен программист WordPress на удаленную работу или в штат, обратите внимание на исполнителей YouDo. У квалифицированных специалистов есть большое портфолио с личными разработками, поэтому они имеют представление о решении сложных задач.

Помощь программиста по WordPress будет необходима в следующих случаях:

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

Если вы ищете профессионала по разработке сайтов из Москвы, который занимается фрилансом, просмотрите профили зарегистрированных на YouDo специалистов. С любым из программистов WordPress у вас получится обсудить особенности работы, порядок выполнения задания.

Цена на работу исполнителя YouDo

Программист WordPress, который зарегистрирован на YouDo, качественно выполнит доработку проекта. Большинство специалистов имеет опыт работы с такими системами, как в Вордпресс, Joomla, DLE, 1С Bitrix.

Закажите услуги исполнителей YouDo и получите возможность недорого получить следующие веб ресурсы:

  • персональные странички
  • лендинги
  • корпоративные порталы
  • сайты, рассчитанные на использование большого объема информации, например, интернет-магазины

На сайте YouDo у вас получится найти ответственного фрилансера, который по доступной цене выполнит программирование высоконагруженных проектов. Стоимость услуг разработчиков зависит от сложности проекта и ваших требований. В профилях специалистов указаны расценки на основные виды работ. Если ищете опытного фрилансера, который возьмется за разработку модулей и компонентов для CMS Joomla, обратитесь к исполнителям YouDo.

Сколько времени потребуется исполнителю YouDo на выполнение задания

Если срочно требуется специалист, который займется созданием блога на Вордпресс, оставьте заявку на сайте YouDo. В задании вы можете отметить основные пожелания к профессионалам, попросить их прислать вам портфолио. От специалистов вы получите поддержку, которая будет необходима при полномасштабном развертывании веб-проекта в сети интернет.

Удобная система поиска и ранжирования исполнителей YouDo позволит вам за несколько минут найти частных специалистов, занимающихся фрилансом, и представителей веб-студий в Москве или из других городов. Заказывая помощь профессионала, вы получите недорогие решения, касающиеся создания, доработки или повторного программирования сайтов любой тематики.

Вы сделаете правильный выбор, если остановите поиск нового сотрудника на исполнителях YouDo. Специалисты помогут вам при разработке скриптов (JavaScript, PHP, JQuery, AJAX), редактировании уже работающих сайтов. Опытный программист WordPress быстро добавит к сайту системы оплаты и проверит код на ошибки.