Примеры написания кода в wp. Полезные вставки (фрагменты) кода для WordPress

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

1. Выводим снимок любого веб сайта

Нужно делать снимки веб сайтов и выводить их в своем блоге? Данный короткий код поможет решить эту задачу. Просто скопируйте следующий код в файл functions.php вашей темы:

Function wpr_snap($atts, $content = null) { extract(shortcode_atts(array("snap" => "http://s.wordpress.com/mshots/v1/", "url" => "http://www.сайт", "alt" => "Изображение", "w" => "400", // ширина "h" => "300" // высота), $atts)); $img = ""; return $img; } add_shortcode("snap", "wpr_snap");

После чего можно использовать короткий код, как показано в примере.!

2. Добавляем ссылку поддержки проекта через PayPal

PayPal открывает работу прием платежей на счета пользователей из России. Теперь можно добавить кнопку поддержки проекта с помощью платежей через PayPal на свой блог. Следующий код выведет такую кнопку на вашем сайте. Просто скопируйте код в файл functions.php вашей темы:

Function cwc_donate_shortcode($atts) { extract(shortcode_atts(array("text" => "Поддержите проект", "account" => "ИНФОРМАЦИЯ_О_СЧЕТЕ", "for" => "",), $atts)); global $post; if (!$for) $for = str_replace(" ","+",$post->post_title); return "".$text.""; } add_shortcode("donate", "cwc_donate_shortcode");

3. Маскируем адрес email

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

Function cwc_mail_shortcode($atts , $content=null) { for ($i = 0; $i < strlen($content); $i++) $encodedmail .= "" . ord($content[$i]) . ";"; return "".$encodedmail.""; } add_shortcode("mailto", "cwc_mail_shortcode");

А использовать его в тексте записи или страницы очень просто:

[email protected]

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

Если нужно создать содержание, которое смогут просматривать только зарегистрированные пользователи, то следующий короткий код поможет решить задачу. Скопируйте код в файл functions.php вашей темы:

Function cwc_member_check_shortcode($atts, $content = null) { if (is_user_logged_in() && !is_null($content) && !is_feed()) return $content; return ""; } add_shortcode("member", "cwc_member_check_shortcode");

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

Данный текст будет выводиться только для зарегистрированных пользователей.

5. Выводим PDF файл во фрейме

Самый простой способ вывода PDF файла на вашем сайте: загрузить PDF файл через Google Docs, а затем вывести его во фрейме на вашей странице. Скопируйте ниже приведенный код в файл functions.php вашей темы:

Function cwc_viewpdf($attr, $url) { return "Ваш браузер должен поддерживать iFrame для просмотра документа PDF"; } add_shortcode("embedpdf", "cwc_viewpdf");

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

Http://infolab.stanford.edu/pub/papers/google.pdf

Данный короткий код предназначен для вывода содержания только в фид RSS. Нужен для передачи важного сообщения читателям вашего фида или для размещения рекламы только в RSS. копируем ниже приведенный код в файл functions.php вашей темы:

Function cwc_feedonly_shortcode($atts, $content = null) { if (!is_feed()) return ""; return $content; } add_shortcode("feedonly", "cwc_feedonly_shortcode");

И используем код в записях и страницах:

7. Кнопка для размещения записи в Twitter через сервис TweetMeme

Twitter является отличным источником трафика для блога. Поэтому данный короткий код является очень полезным инструментом. Скопируйте ниже приведенный код в файл functions.php вашей темы:

Function tweetmeme(){ return ""; } add_shortcode("tweet", "tweetmeme");

Теперь можно использовать кнопку сервиса Tweetmeme “retweet” на страницах и записях вашего сайта:

8. Выводим последнее изображение, привязанное к записи

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

Function cwc_postimage($atts, $content = null) { extract(shortcode_atts(array("size" => "thumbnail", "float" => "none"), $atts)); $images =& get_children("post_type=attachment&post_mime_type=image&post_parent=" . get_the_id()); foreach($images as $imageID => $imagePost) $fullimage = wp_get_attachment_image($imageID, $size, false); $imagedata = wp_get_attachment_image_src($imageID, $size, false); $width = ($imagedata+2); $height = ($imagedata+2); return "".$fullimage.""; } add_shortcode("postimage", "cwc_postimage");

Теперь можно вывести последнее изображение с помощью короткого кода:

9. Размещаем видео Youtube

Если вы часто размещаете видео с канала Youtube в вашем блоге, то данный код поможет сохранить много времени. Создаем код в файле functions.php вашей темы:

Function cwc_youtube($atts) { extract(shortcode_atts(array("value" => "http://", "width" => "475", "height" => "350", "name"=> "movie", "allowFullScreen" => "true", "allowScriptAccess"=>"always",), $atts)); return ""; } add_shortcode("youtube", "cwc_youtube");

И в тексте записи или страницы используем короткий код:

10. Вставляем RSS фид

Данный короткий код позволяет вставлять любой RSS фид в ваши записи или страницы. Отличный способ сослаться на другой блог с вашего сайта! Копируем ниже приведенный код в файл functions.php вашей темы:

Include_once(ABSPATH.WPINC."/rss.php"); function cwc_readRss($atts) { extract(shortcode_atts(array("feed" => "http://", "num" => "1",), $atts)); return wp_rss($feed, $num); } add_shortcode("rss", "cwc_readRss");

А в тексте записи используем короткий код:

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

1. Комментарии и Документация

IDE становятся всё более популярны в мире разработчиков, т.к. они предоставляют удобные инструменты для комментирования и документирования кода.

Вот пример:

Вот ещё пример вызова собственного метода:

В этом примере стиль комментирования основан на PHPDoc , а IDE, которой я пользуюсь, - Aptana .

2. Отступы

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

Function foo() { if ($maybe) { do_it_now(); again(); } else { abort_mission(); } finalize(); }

Function foo() { if ($maybe) { do_it_now(); again(); } else { abort_mission(); } finalize(); }

Function foo() { if ($maybe) { do_it_now(); again(); } else { abort_mission(); } finalize(); }

Лично я чаще всего использую стиль номер #2, но иногда перехожу и на #1. Но это всё конечно же дело вкуса. Скорее всего не существует самого “лучшего” стиля, который подошёл бы абсолютно всем. Этим правилам, в первую очередь, нужно следовать тем, кто работает в команде или участвует в написании открытых проектов.

Также существуют стили, которые объединяют некоторые характеристики. К примеру, стандарты написания кода PEAR , где фигурная скобка "{" в условных операторах остаётся на той же строке, а в функциях переносится.

Стиль PEAR:

Function foo() { // на новой строке if ($maybe) { // на той же строке do_it_now(); again(); } else { abort_mission(); } finalize(); }

Также следует отметить, что в этом стиле вместо табов используются 4 пробела.

Вы сможете узнать больше о различных стилях.

3. Избегайте лишних комментариев

Да, комментирование кода - это хорошо; однако тут не нужно перебарщивать. Вот пример:

// получаем код страны $country_code = get_country_code($_SERVER["REMOTE_ADDR"]); // если страна US if ($country_code == "US") { // отобразить форму echo form_input_state(); }

Если работа кода очевидна, то скорее всего не следует писать лишние комментарии.

Если уж не имётся, то можно их немного сократить:

// отобразить форму, если страна US $country_code = get_country_code($_SERVER["REMOTE_ADDR"]); if ($country_code == "US") { echo form_input_state(); }

4. Группирование кода

Чаще всего некоторые задачи требуют написания нескольких строк кода. Поэтому лучше всего объединять такие задачи в отдельные блоки, разделённые пробелами.

Вот простой пример:

// получить список форумов $forums = array(); $r = mysql_query("SELECT id, name, description FROM forums"); while ($d = mysql_fetch_assoc($r)) { $forums = $d; } // загрузить шаблон load_template("header"); load_template("forum_list",$forums); load_template("footer");

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

5. Схема именования

Иногда даже в языке PHP можно найти противоречия именования функций. И вот многочисленные примеры:

  • strpos() против str_split()
  • imagetypes() против image_type_to_extension()

Существует несколько популярных стилей:

  • camelCase: первая буква каждого нового слова заглавная.
  • underscores: Подчёркивание между словами: mysql_real_escape_string().

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

Но и тут не обошлось без гибрида. Некоторые разработчики используют подчёркивания в именовании классов и методов (вне классов), а в остальных случаях используют camelCase:

Class Foo_Bar { public function someDummyMethod() { } } function procedural_function_name() { }

Ещё раз скажу, что лучшего стиля не бывает. Просто нужно чего-то придерживаться.

6. Принцип DRY

DRY (Don’t Repeat Yourself) - не повторяйся. Так же известно как DIE: Дублирование - это зло.

Главная задача любой системы, будь то веб приложение или что-то ещё, - автоматизировать повторяющиеся задачи. Этому принципу нужно следовать всегда и везде, особенно если ты разработчик. Один и тот же кусок кода не должен повторяться снова и снова.

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

$this->load->view("includes/header"); $this->load->view($main_content); $this->load->view("includes/footer");

7. Избегайте глубокой вложенности

Читабельность кода резко уменьшается, если у вас глубокая вложенность.

Function do_stuff() { // ... if (is_writable($folder)) { if ($fp = fopen($file_path,"w")) { if ($stuff = get_some_stuff()) { if (fwrite($fp,$stuff)) { // ... } else { return false; } } else { return false; } } else { return false; } } else { return false; } }

Для того чтобы исправить ситуацию, вам следует пересмотреть принцип работы вашего кода и оптимизировать его:

Function do_stuff() { // ... if (!is_writable($folder)) { return false; } if (!$fp = fopen($file_path,"w")) { return false; } if (!$stuff = get_some_stuff()) { return false; } if (fwrite($fp,$stuff)) { // ... } else { return false; } }

8. Лимит длины строки

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

Подобную технику можно применить и к нашему коду:

// плохо $my_email->set_from("[email protected]")->add_to("[email protected]")->set_subject("Methods Chained")->set_body("Some long message")->send(); // хорошо $my_email ->set_from("[email protected]") ->add_to("[email protected]") ->set_subject("Methods Chained") ->set_body("Some long message") ->send(); // плохо $query = "SELECT id, username, first_name, last_name, status FROM users LEFT JOIN user_posts USING(users.id, user_posts.user_id) WHERE post_id = "123""; // плохо $query = "SELECT id, username, first_name, last_name, status FROM users LEFT JOIN user_posts USING(users.id, user_posts.user_id) WHERE post_id = "123"";

Большинство разработчиков придерживаются лимита в 80 и 120 символов.

9. Организация Файлов и Папок

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

Помню свои первые проекты, в которых я присоединял файлы. Однако организация у меня сильно хромала. Я создавал папку “inc”, в которой располагал несколько файлов: db.php и functions.php. В процессе написания приложения эта папка пухла и пухла и в конечном итоге было трудно понять что где.

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

10. Названия переменных

Вообще имена переменных должны быть полностью осмысленными - это в идеальном случае. Для временных переменных можно сделать исключение.

Давайте рассмотрим несколько примеров:

// $i для циклов for ($i = 0; $i < 100; $i++) { // $j для вложенных циклов for ($j = 0; $j < 100; $j++) { } } // $ret для возвращаемых переменных function foo() { $ret["bar"] = get_bar(); $ret["stuff"] = get_stuff(); return $ret; } // $k и $v для foreach foreach ($some_array as $k => $v) { } // $q, $r и $d для mysql $q = "SELECT * FROM table"; $r = mysql_query($q); while ($d = mysql_fetch_assocr($r)) { } // $fp для работы с файлами $fp = fopen("file.txt","w");

11 - Пишите ключевые слова в SQL заглавными буквами

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

12. Разделяйте код и данные

Это ещё один принцип, который поможет вам писать более понятные программы. Он заключается в том, чтобы вы готовили данные в одном месте (допустим моделях), а взаимодействовали с ними в другом.

Когда PHP только начинал развиваться, он больше был похож на систему шаблонов. Проекты на данном языке содержали смешанный HTML и PHP код. Сейчас всё изменилось, и всем следует переходить на новый уровень написания приложений.

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

Популяреные PHP Фрэймворки:

Системы Шаблонов:

Популярные CMS

13. Специальный синтаксис для шаблонов

Если вы не хотите использовать систему шаблонов, то вам скорее всего придётся выработать свой собственный стиль внедрения PHP кода в HTML.

А вот и пример:

Hello,
| My Message Board ( threads)

Такая техника позволит вам избежать лишних скобок. Также такой код удачно вписывается в HTML контекст.

14. Процедуральный и объектно ориентированный подходы

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

Объекты прекрасно подходят для представления данных. Пример:

Class User { public $username; public $first_name; public $last_name; public $email; public function __construct() { // ... } public function create() { // ... } public function save() { // ... } public function delete() { // ... } }

Процедуральные методы имеют свою специфическую пользу.

Function capitalize($string) { $ret = strtoupper($string); $ret .= strtolower(substr($string,1)); return $ret; }

15. Читайте Open Source Код

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

16. Рефакторинг

Рефакторинг - это изменение кода без потери функциональности. Его также можно применять для улучшения читабельности.Тут нет места исправлению багов или добавлению функциональности. Вы просто немного меняете структуру вашего кода.

Надеюсь, эта статья была вам полезна! Я что-то упустил? Поделитесь вашим опытом!

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

Вы идете на «склад» плагинов для wordpress и обнаруживаете, что необходимого плагина для Вас нету. Что же делать? Как быть? Если вы хотя бы немного знакомы с азами программирования на php, верстке, то Вам не составит труда Самому написать плагин для WordPress .

А теперь отправимся на «кухню» для приготовления нашего плагина.

P.s. Если знаний в php и верстке нету… не расстраивайтесь, попросите кого-либо написать Вам нужный функционал 🙂

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

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

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

Первое, что мы сделаем, это придумаем уникальное название нашему плагину - «AdvUserReviews «.

Далее создадим в директории Вашего сайта «/wp-content/plugins/» новую директорию «advuserreviews». И в ней создадим файл «advuserreviews.php». Это будет основной файл, который будет отвечать за общею инициализацию. (Желательно используйте кодировку для файлов UTF-8).

В самом начале файла необходимо указать основную информацию о плагине