• CSS
    • ПРОГРАММИРОВАНИЕ (CODING)
    • Emmet, ul, li, table, form
    • Style, hover, child
    • CSS Hat, font, background
    • Reset, margin, padding, float
    • Base64, relative, z-index
    • Google Fonts, PSD
    • Brackets, Bootstrap
    • Script, src, comments
    • jQuery, Slick Js, Tooltip
    • Bootstrap, Slick Nav, @media
    • Mobile Vew, Font Awesome
    • SASS, Bootstrap
    • Flexbox, Slider
  • Word Press
    • #1. Introduction to WordPress
    • #2. WordPress Files Configuration
    • #3. Kernel Review. Codex
    • #4. Standards of Encoding
    • #5. Develop a plugin, introduction
    • #6. Hooks, Filters, InterNation
    • #7. Adding Admin Menus, JS, CSS
    • #8. HTTP API, Shortcodes, Transients
    • #9. Options API, Settings API
    • #10. Database API, $wpdb object
    • #11. Ajax. Widget API. Dashboard API
    • #12. Post Type. Taxonomies. Metadata
    • #13. Theme Development. Basics
    • #14. Loop. Template. WP_Query
    • #15. File functions.php – I
    • #16. File functions.php – II
    • #17. Child Theme. Shortcode. TinyMCE
    • #18. Frameworks. Blank Theme
    • #19. Framework. Underscores. Unyson
    • #20: Framework Unyson. Options
    • #21. Extensions, Components, Manifest
    • #22. Unyson: Built-in Extensions
    • #23. Unyson: Helpers, Filters & Actions
    • #24. WC: Installation & Updating
    • #25. WC: Settings & Options
    • #26. WC: Product Setup
    • #27. WC: Sell Products, Order
    • #28. WC: Theming
    • #29. WC: Extending
    • #30. WC: Extending
  • PHP
    • Laravel, MVC, Composer
    • FW Yii2
  • JS
    • JS
    • React, Angular
  • Freelance
  • Projects
    • Useful Products
      • Free WordPress Themes (WP)
      • Free CSS templates (CSS, HTML)
      • Стартовая тема Word Press (WP)
    • Project
      • Practic Task
      • Real Democracy Game
      • Research Journal
      • Qubot
      • Cyber-street
      • Amatue

#3. Kernel Review. Codex

Rostyslav - 7 декабря, 2017 - One comment

    Обзор ядра

    Использования ядра как справочника

    Поиск функции

    Ядро

    Functions.php

    Option.php

    Formatting.php

    Pluggable.php

    Plugin.php

    User.php

    Post.php

    Taxonomy.php

    Кодекс WordPress

    Справочник по функциям

    API WordPress

    Plugin API

    Widgets API

    Shortcode API

    HTTP API

    Settings API

    Options API

    Dashboard Widgets API

    Rewrite API

    Домашнее задание

    Самообразование

    WordPress_APIs

    API_WordPress

    Сodex wordpress

    Справочные ресурсы WordPress

    Общие:

    • codex.wordpress.org
    • codex.wordpress.org/category: russian codex
    • developer.wordpress.org
    • hookr.io
    • wordpress hooks database
    • wordpress.stackexchange.com
    • wpseek.com
    • wp-kama.ru
    • truemisha.ru
    • mywordpress.ru

    API_WordPress:

    • API консоли
    • Dashboard Widgets API
    • API доступа к базе данных (рус)
    • Database API
    • HTTP API
    • REST API
    • File Header API
    • Filesystem API
    • Metadata API
    • API параметров (рус)
    • Options API
    • Plugin API
    • Quicktags API
    • Rewrite API
    • Settings API
    • API макро-кодов (рус)
    • Shortcode API
    • Theme Modification API
    • Theme Customization API
    • Transients API
    • Widgets API
    • API XML-RPC WordPress
    • XML-RPC WordPress API

    Обзор ядра

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

    Что такое ядро WordPress?

    Ядро WordPress — это набор обязательных файлов без которых WordPress не сможет работать.

    Файлы ядра WordPress это файлы PHP, HTML, CSS, JS, XML. Они контролируют работу WordPress включая то как будет создаваться контент страниц для отображения, загрузку активированной темы и плагинов, загрузку всех настроек и т.д.  Вкратце ядро содержит несколько основных типов функций:

    • Записи(Posts), страницы (Pages), индивидуальный контент. Создание, редактирование, удаление, хранение, выборка  пользовательского контента. Циклы (Loops) контролирующие отображение и упорядочивание контента.
    • Метаданные. Метки, категории и создаваемые пользователем таксономии.
    • Темы. Поддержка функций для тем WordPress
      • Действия, фильтры и плагины — инфраструктура для расширения WordPress
    • Пользователи и авторы. Создание и управление контролем доступа к сайту.
    • Фиды, форматирование и комментарии.

    WordPress поступает в комплекте с двумя плагинами: Akismet и Hello Dolly. Они
    находятся в директории плагинов внутри wp-content. Несмотря на то что оба этих
    плагина являются частью скачиваемого пакета файлов ядра WordPress, они не
    считаются функциями ядра, поскольку должны быть активированы для начала
    работы и легко могут быть удалены.

    WordPress также идет в комплекте с тремя темами: Twenty Ten, Twenty Eleven

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

    Использования ядра как справочника

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

    Чтобы увидеть это своими глазами, откройте файл wp-login.php, расположенный в корневой директории WordPress.

    Рис 3.1 Файл wp-login.php

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

    <?php

    /**

    * WordPress User Page

    *

    * Handles authentication, registering, resetting passwords, forgot password,

    * and other user handling.

    *

    * @package WordPress

    */

    Все файлы ядра, кроме изображений, могут быть просмотрены с использованием
    текстового редактора (Sublime Text).

    Встроенная документация

    Практически все файлы ядра WordPress содержат встроенную документацию в форме
    PHPDoc. PHPDoc — это стандартизированный метод описания использования
    функции в форме комментария РНР. Это значит, что каждая функция объясняется
    детально в следующем непосредственно за ней блоке комментария. Вот шаблон для
    документирования функции WordPress:
    /**
    * Короткое описание
    * Длинное описание
    *

    *  @package WordPress
    *  @since version
    *
    * @param type $varname Описание
    * @return type Описание
    */

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

    Доступные параметры также перечисляются вместе с типами данных параметров. Тип данных это тип данных, которые необходимы параметру. Например, параметр ID будет, скорее всего, использовать тип данных int (целое). Оставшаяся часть информации это возвращаемое значение. Тип данных возвращаемого значения также указывается.

    Поиск функции

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

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

    Рассмотрим функцию is_super_admin(). Она используется для проверки того, является ли пользователь суперадминистратором в WordPress Multisite. Вам нужно точно знать, какие значения требует функция, чтобы ее использовать. Откройте текстовый редактор и поищите по всем файлам WordPress функцию function is_supen_admin. Поиск должен дать один результат в wp-includes/capabilities.php:

     

    function is_super_admin( $user_id = false ) {

    Вы сразу же видите один параметр, который можно посылать этой функции:
    $user_id. Обратите внимание на встроенную документацию, расположенную
    непосредственно над этой функцией. В случае is_super_admin() она выглядит
    следующим образом:

    /**
    * Determine if user is a site admin.
    *
    * @since 3.0.0
    *
    * @param int $user_id (Optional) The ID of a user. Defaults to the current user.
    * @return bool True if the user is a site admin.
    */

    Комментарий содержит краткое описание того, что делает функция. В данном случае: “Определяет, является ли пользователь администратором сайта”. Здесь также отмечено, когда эта функция была добавлена (в версии 3.0.0). Имеется и информация о единственном параметре, в том числе его тип, за что он отвечает и то, что в данном случае он является необязательным. Помимо этого комментарий сообщает, каким будет ожидаемое возвращаемое значение. В данном случае функция вернет true, если пользователь является администратором сайта, или false , если нет.

    Ядро

    В ядре WordPress есть несколько файлов, которые содержат многие из самых популярных функций WordPress. Эти функции используются для всех API WordPress и подходят для любого индивидуального плагина или темы. Следующие разделы подробно расскажут о файлах ядра, которые содержат ключевые части кода для работы с WordPress. Все файлы, перечисленные в следующем разделе, расположены в директории /wp-includes.

    Functions.php

    Файл functions.php содержит основные функции API WordPress. Они используются для простого взаимодействия с WordPress стандартизированными методами. Плагины, темы и ядро WordPress используют эти функции:

    • current_time — возвращает текущее время на основе определенного типа.
    • force_ssl_login — требует SSL (https) авторизации на WordPress.
    • wp_nonce_field — отображает скрытое поле специальных значений для форм.
      Поле специальных значений используется в целях проверки при внесении и обработке данных в WordPress. Это критически важный шаг для безопасности кода.
    • absint — конвертирует значение в неотрицательное целое.

    Option.php

    Файл option.php содержит основные параметры функций API WordPress. Функции
    используются в следующих целях:

    • add_option, update_option, get_option — функции создания, обновления и отображения сохраненного параметра.
    • set_transient, get_transient, delete_transient — функции создания, возврата и удаления временных параметров в WordPress. Временный параметр — это параметр с ограниченным сроком действия. По достижении соответствующего
      времени автоматически удаляется из WordPress.
    • add_site_option, update_site_option, get_site_option — функции создания, обновления и отображения параметров сайта. Если активирован Multisite, функция возвращает сетевой параметр, если нет — параметр стандартного сайта.

    Formatting.php

    Файл formatting.php содержит функции форматирования WordPress. Они разными
    способами форматируют данные на выходе:

    • esc_attr — обрабатывает строку для использования в атрибутах HTML.
    • esc_html — обрабатывает строку для использования в HTML.
    • esc_url — используется для проверки и очистки URL.
    • sanitize_text_field — вычищает строку, введенную пользователем или полученную из базы данных.
    • is_email — проверяет, действителен ли электронный адрес.
    • capital_P_dangit — знаменитый фильтр, который букву Р в названии WordPress отображает в контенте как строчную.

    Pluggable.php

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

    • wp_mail — посылает электронные письма из WordPress.
    • get_userdata — возвращает все пользовательские данные для определенного ID пользователя.
    • get_currentuserinfo — возвращает все пользовательские данные для пользователя, авторизованного в данный момент.
    • wp_set_password — обновляет пароль пользователя на новый шифрованный.
    • wp_rand — генерирует случайное число.
    • wp_logout — завершает сеанс работы пользователя, прерывая текущую сессию.
    • wp_redirect — перенаправляет на другую страницу.
    • get_avatar — возвращает аватар пользователя.

    Plugin.php

    Файл plugin.php содержит функции плагинов API WordPress, в том числе:

    • add_filter — заставляет ядро WordPress пропускать контент через фильтр,
      перед тем как отображать его на экране или сохранять в базе данных.
    • add_action — заставляет ядро WordPress выполнять определенные действия в нужный момент работы.
    • register_activation_hook — зацепка, вызываемая при активации плагина.
    • register_deactivation_hook — зацепка, вызываемая при деактивации плагина.
    • plugin_dir_url — возвращает путь к директории файловой системы для плагина.
    • plugin_dir_path — возвращает URL для плагина.

    User.php

    Файл user.php содержит функции пользователя API WordPress, в том числе:

    • get_users — возвращает список пользователей, соответствующих заданным критериям.
    • add_user_meta, get_user_meta, delete_user_meta — используется для создания, получения и удаления метаданных пользователя.
    • username_exists — проверяет, существует ли имя пользователя.
    • email_exists — проверяет, существует ли электронный адрес.
    • wp_insert_user и wp_update_user — создает и обновляет учетную запись пользователя.

    Post.php

    Файл post.php содержит функции, используемые в обработке записей WordPress, в том числе:

    • wp_insert_post — создает новую запись.
    • get_posts — возвращает список последних записей, соответствующих критерию.
    • add_post_meta — создает метаданные (данные произвольного поля) для записи.
    • get_post_meta — возвращает метаданные (данные произвольного поля) для записи.
    • get_post_custom — возвращает многомерный массив со всеми введенными метаданными (произвольные поля) для записи.
    • set_post_thumbnail — устанавливает миниатюру для записи.
    • register_post_type — регистрирует индивидуальный тип записи в WordPress.

    Функции регистрации плагина add_filter( ) и add_hook( ) — ключи к пониманию того, как WordPress обрабатывает содержание, они позволяют расширить базовые
    структуры данных контента, используемые WordPress.

    Taxonomy.php

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

    • register_taxonomy — регистрирует пользовательскую таксономию в WordPress.
    • get_taxonomies — возвращает список зарегистрированных таксономий.
    • wp_insert_term, wp_update_term — вставляет или обновляет элемент таксономии на основе предоставленных аргументов.

    Есть куда больше функций ядра, которые могут быть использованы при разработке индивидуальных тем и плагинов для WordPress. Потратьте несколько минут и изучите файлы ядра внутри /wp-includes. Эта директория содержит большую часть файлов функций ядра API WordPress.

    Кодекс WordPress

    Кодекс WordPress — это онлайн-вики для документации WordPress, расположенная
    на WordPress.org. WordPress.org описывает Кодекс как «энциклопедию знаний
    о WordPress». Кодекс — основанный на вики веб-сайт, это означает, что каждый может создавать,редактировать и добавлять информацию в статьи. Кодекс набит под завязку полезными знаниями по всем аспектам WordPress.

    Кодекс доступен на многих языках. Чтобы найти его версию на вашем языке, зайдите
    на страницу Multilingual Codex https://codex.wordpress.org/Multilingual_Codex. Вы также можете внести свой вклад в Кодекс и помочь расширить его на любом языке или же создать на своем, если этой версии еще не существует.

    Использование кодекса

    С Кодексом можно работать разными способами. Наиболее распространенный использовать в нем поиск с помощью поискового поля в заголовке. Или же вы можете зайти на http://wordpress.org/search/, чтобы найти статьи, соответствующие вашему поисковому запросу.

    Есть и менее известный поиск по Кодексу https://codex.wordpress.org/Special:Search.

    Для Кодекса существует расширенный глоссарий терминов. Это поможет вам познакомиться со словами, наиболее часто используемыми в Кодексе. Официальный
    глоссарий Кодекса находится по ссылке https://codex.wordpress.org/Glossary.

    Другой метод поиска использовать быстрый индекс. Он позволяет искать статью по первой букве названия. Быстрый индекс находится по ссылке https://codex.wordpress.org/Codex:Quick_index.

    Страница WordPress Lessons (Уроки WordPress) также содержится в codex.wordpress.org/WordPress_Lessons.

    Онлайн-ресурсы невероятно полезных при изучении WordPress и работы с ним.

    1. codex.wordpress.org
    2. codex.wordpress.org/Category:Russian_Codex
    3. developer.wordpress.org
    4. hookr.io
    5. WordPress Hooks Database
    6. wordpress.stackexchange.com
    7. wpseek.com
    8. wp-kama.ru
    9. truemisha.ru

    Эти ресурсы должны быть добавлены в закладки

    Справочник по функциям

    Функции WordPress описаны в Кодексе по отдельной странице для каждой доступной
    функции API WordPress. На этих страницах подробно объясняется, как именно работает функция WordPress. Официальная страница Справочника по функциям находится по ссылке codex.wordpress.org/Function_Reference.

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

    API WordPress

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

    https://codex.wordpress.org/WordPress_APIs

    Plugin API

    Используется для разработки индивидуальных плагинов. В Кодексе есть обширная страница с документацией по Plugin API. Она включает в себя обзор зацепок (перехватывающих функций), действий и фильтров, которые являются основными способами взаимодействия с WordPress с позиции индивидуального плагина. Страница Plugin API ссылается на страницы Справочника по функциям в отношении доступных функций API, которые расположены в /wp-includes/plugins.php.

    https://codex.wordpress.org/Plugin_API

    Widgets API

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

    https://codex.wordpress.org/Widgets_API

    Shortcode API

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

    https://codex.wordpress.org/Shortcode_API

    HTTP API

    Используется для отправки запроса HTTP из WordPress. Этот API является стандартизированным методом захвата контента с внешнего URL. Обычно он берет предоставленный URL и проверяет несколько методов РНР для отправки запроса. В зависимости от среды хостинга WordPress использует первый метод, который полагает правильно настроенным для отправки запроса HTTP.

    Проверенными на данный момент методами HTTP API РНР являются URL, Streams и FSockopen. Методы проверяются именно в этом порядке. Вы можете использовать плагин Core Control (Контроль ядра) (https://wordpress.org/plugins/core-control/), чтобы специально выбрать, какой метод использовать для отправки запросов HTTP.

    https://codex.wordpress.org/HTTP_API

    Settings API

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

    https://codex.wordpress.org/Settings_API

    Options API

    Используется для хранения данных по параметрам в базе данных WordPress. Параметры API обеспечивают легкий способ создания, обновления, возврата и удаления значений параметров.

    https://codex.wordpress.org/Options_API

    Dashboard Widgets API

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

    https://codex.wordpress.org/Dashboard_Widgets_API

    Rewrite API

    Используется для создания индивидуальных правил преобразования. Этот API позволяет создавать индивидуальные правила преобразования, как бы вы делали это в файле .htaccess. Вы также можете создавать индивидуальные метки структуры постоянных ссылок (то есть %postname%), добавлять статические конечные точки (то есть /mу-page/) и даже дополнительные ссылки для фидов. Функции Rewrite находятся по ссылке /wp-includes/rewrite.php в

    https://codex.wordpress.org/Rewrite_API

    Categories : Word Press, www

    • « Previous Post
    • Next Post »

    Discussions

    1. admin 7 декабря, 2017

      — изучил, упорядочил и запостил всю справочную информацию

    • Word Press
      • #1. Introduction to WordPress
      • #2. WordPress Files Configuration
      • #3. Kernel Review. Codex
      • #4. Standards of Encoding
      • #5. Develop a plugin, introduction
      • #6. Hooks, Filters, InterNation
      • #7. Adding Admin Menus, JS, CSS
      • #8. HTTP API, Shortcodes, Transients
      • #9. Options API, Settings API
      • #10. Database API, $wpdb object
      • #11. Ajax. Widget API. Dashboard API
      • #12. Post Type. Taxonomies. Metadata
      • #13. Theme Development. Basics
      • #14. Loop. Template. WP_Query
      • Lecture #15. functions.php – I
      • Lecture #16. functions.php – II
      • #17. Child Theme. Shortcode. TinyMCE
      • #18. Frameworks. Blank Theme
      • #19. Framework. Underscores. Unyson
      • #20: Framework Unyson. Options
      • #21. Extensions, Components, Manifest
      • #22. Unyson: Built-in Extensions
      • #23. Unyson: Helpers, Filters & Actions
      • #24. WC: Installation & Updating
      • #25. WC: Settings & Options
      • #26. WC: Product Setup
      • #27. WC: Sell Products, Order
      • #28. WC: Theming
      • #29. WC: Extending
      • #30. WC: Extending
    • CSS
      • ПРОГРАММИРОВАНИЕ (CODING)
      • Emmet, ul, li, table, form
      • Style, hover, child
      • CSS Hat, font, background
      • Reset, margin, padding, float
      • Base64, relative, z-index
      • Google Fonts, PSD
      • Brackets, Bootstrap
      • Script, src, comments
      • jQuery, Slick Js, Tooltip
      • Bootstrap, Slick Nav, @media
      • Mobile Vew, Font Awesome
      • Flexbox, Slider
      • SASS, Bootstrap
    • Cron
    • Framework Yii2
    • React, Angular
    • JavaScript
    • Freelance

    Generic selectors
    Exact matches only
    Search in title
    Search in content
    Search in posts
    Search in pages
    Filter by Categories
    CSS
    JavaScript
    Word Press
    www

    2019 Rostyslav N Design © Уроки программирования