SlideShare a Scribd company logo
1 of 39
Download to read offline
Как устроен
WordPress
Евгений Котельницкий
NIX Solutions Ltd.
Харьков, 01/2015
Front-end и Back-end
Post Types
● Post (Post Type: 'post')
● Page (Post Type: 'page')
● Attachment (Post Type: 'attachment')
● Revision (Post Type: 'revision')
● Navigation menu (Post Type: 'nav_menu_item')
● Custom Post Type (CPT): register_post_type()
Taxonomies
● Category (taxonomy: 'category')
● Tag (taxonomy: 'post_tag')
● Link Category (taxonomy: 'link_category')
● Post Formats (taxonomy: 'post_format')
● Custom Taxonomies: register_taxonomy()
Plugins & MU plugins
Database structure
Database Access Abstraction
Database Access Abstraction
WP Network
WP Network
Network Database
● wp_blogs
● wp_blog_versions
● wp_registration_log
● wp_signups
● wp_site
● wp_sitemeta
Система хуков
Actions
Filters
Точки входа
Точки входа
● Front-end - [ /index.php ]
● Back-end - [ /wp-admin/* ]
● Admin Ajax - [ wp-admin/admin-ajax.php?action=dashboard-widgets ]
● Прямые обращения* - [ файлы плагинов или тем ]
* Прямые обращения - это плохо
Точки входа
WordPress environment setup class
WP_Rewrite - “Роутинг”
WP_Rewrite - “Роутинг”
WP_Rewrite - “Роутинг”
Rewrite Rules
WP_Rewrite - “Роутинг”
Rewrite Rules filters
WP_Rewrite - “Роутинг”
WP_Rewrite::add_rule ()
WP_Rewrite - “Роутинг”
WP_Rewrite::add_permastruct ()
WP_Rewrite - “Роутинг”
WP_Rewrite::add_permastruct ()
WP_Query - The Query class
WP_Query - The Query class
WordPress environment setup class
WP_Query - The Query class
The Main Query
WP_Query - The Query class
WP_Query - The Query class
Query vars
WordPress User Roles
WordPress User Roles
User Roles
● Super Admin – site network administration;
● Administrator – administration features within a single site;
● Editor – can publish and manage posts of other users;
● Author – can publish and manage their own posts;
● Contributor – can write posts but cannot publish them;
● Subscriber – can only manage their profile.
WordPress User Roles
Super Admin capabilities
● manage_network
● manage_sites
● manage_network_users
● manage_network_plugins
● manage_network_themes
● manage_network_options
● ...
Subscriber capabilities
● read
WordPress User Roles
WordPress User class
WordPress User class
Localization
Localization
Localization & JS
JS & WP_Dependencies
Спасибо за
внимание!
Евгений Котельницкий
NIX Solutions Ltd.
Харьков, 01/2015

More Related Content

Similar to Как устроен WordPress - WP Kharkiv Meetup #1

Beginning WordPress Workshop
Beginning WordPress WorkshopBeginning WordPress Workshop
Beginning WordPress WorkshopThe Toolbox, Inc.
 
Sprint 48 review
Sprint 48 reviewSprint 48 review
Sprint 48 reviewManageIQ
 
WordPress Plugin Development 201
WordPress Plugin Development 201WordPress Plugin Development 201
WordPress Plugin Development 201ylefebvre
 
Plugin development demystified 2017
Plugin development demystified 2017Plugin development demystified 2017
Plugin development demystified 2017ylefebvre
 
Sprint 50 review
Sprint 50 reviewSprint 50 review
Sprint 50 reviewManageIQ
 
WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization and Localization - WordPress Translation Day 3...WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization and Localization - WordPress Translation Day 3...WordPress Trivandrum
 
Why you should be using structured logs
Why you should be using structured logsWhy you should be using structured logs
Why you should be using structured logsStefan Krawczyk
 
Using WordPress for Rapid Prototyping
Using WordPress for Rapid PrototypingUsing WordPress for Rapid Prototyping
Using WordPress for Rapid PrototypingDrew Morris
 
Turbogears2 tutorial to create mvc app
Turbogears2 tutorial to create mvc appTurbogears2 tutorial to create mvc app
Turbogears2 tutorial to create mvc appfRui Apps
 
Sprint 38 review
Sprint 38 reviewSprint 38 review
Sprint 38 reviewManageIQ
 
Sprint 51 review
Sprint 51 reviewSprint 51 review
Sprint 51 reviewManageIQ
 
WooCommerce: Conditional Logic
WooCommerce: Conditional LogicWooCommerce: Conditional Logic
WooCommerce: Conditional LogicRodolfo Melogli
 
Dynamic SQL in doobie
Dynamic SQL in doobieDynamic SQL in doobie
Dynamic SQL in doobiechibochibo
 
Sprint 43 Review
Sprint 43 ReviewSprint 43 Review
Sprint 43 ReviewManageIQ
 

Similar to Как устроен WordPress - WP Kharkiv Meetup #1 (20)

Beginning WordPress Workshop
Beginning WordPress WorkshopBeginning WordPress Workshop
Beginning WordPress Workshop
 
Sprint 48 review
Sprint 48 reviewSprint 48 review
Sprint 48 review
 
Wordpress as a CMS
Wordpress as a CMSWordpress as a CMS
Wordpress as a CMS
 
WordPress Plugin Development 201
WordPress Plugin Development 201WordPress Plugin Development 201
WordPress Plugin Development 201
 
Plugin development demystified 2017
Plugin development demystified 2017Plugin development demystified 2017
Plugin development demystified 2017
 
Sprint 50 review
Sprint 50 reviewSprint 50 review
Sprint 50 review
 
WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization and Localization - WordPress Translation Day 3...WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization and Localization - WordPress Translation Day 3...
 
Why you should be using structured logs
Why you should be using structured logsWhy you should be using structured logs
Why you should be using structured logs
 
Using WordPress for Rapid Prototyping
Using WordPress for Rapid PrototypingUsing WordPress for Rapid Prototyping
Using WordPress for Rapid Prototyping
 
Turbogears2 tutorial to create mvc app
Turbogears2 tutorial to create mvc appTurbogears2 tutorial to create mvc app
Turbogears2 tutorial to create mvc app
 
Sprint 80
Sprint 80Sprint 80
Sprint 80
 
Power of REST - قوة الرست
Power of REST - قوة الرستPower of REST - قوة الرست
Power of REST - قوة الرست
 
Sprint 38 review
Sprint 38 reviewSprint 38 review
Sprint 38 review
 
Sprint 53
Sprint 53Sprint 53
Sprint 53
 
Performance (browser)
Performance (browser)Performance (browser)
Performance (browser)
 
Sprint 51 review
Sprint 51 reviewSprint 51 review
Sprint 51 review
 
WooCommerce: Conditional Logic
WooCommerce: Conditional LogicWooCommerce: Conditional Logic
WooCommerce: Conditional Logic
 
Certification study-guide-mcd-v1 2
Certification study-guide-mcd-v1 2Certification study-guide-mcd-v1 2
Certification study-guide-mcd-v1 2
 
Dynamic SQL in doobie
Dynamic SQL in doobieDynamic SQL in doobie
Dynamic SQL in doobie
 
Sprint 43 Review
Sprint 43 ReviewSprint 43 Review
Sprint 43 Review
 

More from Yevhen Kotelnytskyi

По-настоящему ВИЗУАЛЬНОЕ построение лендинг-страниц на WP Gutenberg!
По-настоящему ВИЗУАЛЬНОЕ построение лендинг-страниц на WP Gutenberg!По-настоящему ВИЗУАЛЬНОЕ построение лендинг-страниц на WP Gutenberg!
По-настоящему ВИЗУАЛЬНОЕ построение лендинг-страниц на WP Gutenberg!Yevhen Kotelnytskyi
 
Visual editing of the WordPress site
Visual editing of the WordPress siteVisual editing of the WordPress site
Visual editing of the WordPress siteYevhen Kotelnytskyi
 
Как получить чёрный пояс по WordPress? v2.0
Как получить чёрный пояс по WordPress? v2.0Как получить чёрный пояс по WordPress? v2.0
Как получить чёрный пояс по WordPress? v2.0Yevhen Kotelnytskyi
 
Как получить чёрный пояс по WordPress?
Как получить чёрный пояс по WordPress?Как получить чёрный пояс по WordPress?
Как получить чёрный пояс по WordPress?Yevhen Kotelnytskyi
 
Как не сойти с ума при разработке крупных проектов на WordPress
Как не сойти с ума при разработке крупных проектов на WordPressКак не сойти с ума при разработке крупных проектов на WordPress
Как не сойти с ума при разработке крупных проектов на WordPressYevhen Kotelnytskyi
 
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизацииБыстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизацииYevhen Kotelnytskyi
 
Архитектура крупных WordPress сайтов
Архитектура крупных WordPress сайтовАрхитектура крупных WordPress сайтов
Архитектура крупных WordPress сайтовYevhen Kotelnytskyi
 

More from Yevhen Kotelnytskyi (7)

По-настоящему ВИЗУАЛЬНОЕ построение лендинг-страниц на WP Gutenberg!
По-настоящему ВИЗУАЛЬНОЕ построение лендинг-страниц на WP Gutenberg!По-настоящему ВИЗУАЛЬНОЕ построение лендинг-страниц на WP Gutenberg!
По-настоящему ВИЗУАЛЬНОЕ построение лендинг-страниц на WP Gutenberg!
 
Visual editing of the WordPress site
Visual editing of the WordPress siteVisual editing of the WordPress site
Visual editing of the WordPress site
 
Как получить чёрный пояс по WordPress? v2.0
Как получить чёрный пояс по WordPress? v2.0Как получить чёрный пояс по WordPress? v2.0
Как получить чёрный пояс по WordPress? v2.0
 
Как получить чёрный пояс по WordPress?
Как получить чёрный пояс по WordPress?Как получить чёрный пояс по WordPress?
Как получить чёрный пояс по WordPress?
 
Как не сойти с ума при разработке крупных проектов на WordPress
Как не сойти с ума при разработке крупных проектов на WordPressКак не сойти с ума при разработке крупных проектов на WordPress
Как не сойти с ума при разработке крупных проектов на WordPress
 
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизацииБыстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
 
Архитектура крупных WordPress сайтов
Архитектура крупных WordPress сайтовАрхитектура крупных WordPress сайтов
Архитектура крупных WordPress сайтов
 

Recently uploaded

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 

Recently uploaded (20)

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 

Как устроен WordPress - WP Kharkiv Meetup #1