際際滷

際際滷Share a Scribd company logo
WordPress
The What, Why, and How
by
Shady Sharaf
Senior Engineer at Human Made Global, a WordPress VIP
Partner. WordPress Core Contributor, and Arabic Polyglot
team member.
@shadyvb
linkedin.com/in/shadyvb/
github.com/shadyvb
Agenda
- What is WordPress
- .. and how it all began
- Who is using WordPress
- .. and Why they use it
- How does WordPress work
- .. how it is developed
- .. and how to change / extend it
- .. how to become a top WordPress developer
- How to start playing with WordPress, right now!
- Next steps
- Learning Resources
- WordPress Development Bootcamp?
- Questions ? 3
What is WordPress
WordPress is a blogging tool
4
5
What is a blogging tool
What is a blog?
"Blog" is an abbreviated version of "weblog," which is a term used to describe websites that maintain an ongoing
chronicle of information. A blog features diary-type commentary and links to articles on other websites, usually
presented as a list of entries in reverse chronological order. Blogs range from the personal to the political, and can
focus on one narrow subject or a whole range of subjects.
What blogging platforms are out there now ?
> WordPress.org, Blogger.com, Tumblr, Medium, etc ..
So, is WordPressa bloggingtool ? well.. Yes!That howit started, but it grew over to be a full fledged CMS and
towards being an Application Framework along the years.
Lets glance(veryquickly)at howit started, and howit matured overthe years.
6
7
Story of WordPress
The very beginning - 2003
It all started in 2003, when MikeLittle responded to MattMullenwegs discussion dubbed The Blogging Software
Dilemma, suggesting to fork b2/cafelogafter the sole maintainer, MichelValdrighi, had gone off the grid.
8
9
WordPress v0.72
May 27 - October 11, 2003
10
WordPress 1.2
May 22, 2004
11
WordPress 1.2
May 22, 2004
12
WordPress 1.5
February 17, 2005
13
WordPress 2.1
January 22, 2007
14
WordPress 2.3
September 25, 2007
15
WordPress 2.3
September 25, 2007
16
WordPress 2.7
December 11, 2008
17
WordPress 3.7
December, 2013
18
WordPress 3.7
December, 2013
19
WordPress 4.4
December 8, 2015
20
WordPress 5.0
2018 ?
21
After 15 years..
30.5%
22
WordPress powers 30.5% of the web!
60.1%
23
WordPress dominates content management systems market share!
What is WordPress, now
24
WordPress is
- a blogging platform
- a content management system, aka CMS
- an application framework
25
What is a CMS ( according to Wikipedia )
A content management system (CMS) is a computer application that supports the creation and modification of
digital content. It typically supports multiple users in a collaborative environment.
Content management systems typically provide the following features:
- SEO-friendly URLs - Built in feature
- Integrated and online help - Codex,Developerdocs, Screenhelp,and the awesome community
- Modularity and extensibility - Themes and plugins
- User and group functionality - Usersand capabilities system
- Templating support for changing designs - Interchangablethemes
- Install and upgrade wizards - The famous5 minuteinstall
- Integrated audit logs - Throughplugins,ie Stream, and AuditTrail
- Compliance with various accessibility frameworks and standards, such as WAI-ARIA - WIP and updated
docs
26
What is an Application Framework ( Wikipedia )
A software framework, in computer programming, is an abstraction in which common code providing generic
functionality can be selectively overridden or specialized by user code providing specific functionality. Frameworks
are a special case of software libraries in that they are reusable abstractions of code wrapped in a well-defined
Application programming interface (API), yet they contain some key distinguishing features that separate them from
normal libraries.
Software frameworks have these distinguishing features that separate them from libraries or normal user applications:
- Inversionof control - In a framework, unlike in libraries or normal user applications, the overall program's flow of control is not
dictated by the caller, but by the framework.
- Defaultbehavior - A framework has a default behavior. This default behavior must actually be some useful behavior and not a
series of no-ops.
- Extensibility- A framework can be extended by the user usually by selective overriding or specialized by user code providing
specific functionality.
- Non-modifiableframeworkcode - The framework code, in general, is not allowed to be modified. Users can extend the
framework, but not modify its code. 27
Whos using WordPress ?
28
29
Governments, Banks, Newspapers, Magazines,
Universities, Shops, Bloggers, Intranets, Galleries,
Portfolios, Reviewers, Memberships, Actors, TV Shows,
Movies and more!
Everyone! .. and anyone!
TechCrunch, Microsoft, Facebook, Skype,
TED, Whitehouse.gov, Reuters, PlayStation,
TheNewYorker, Times, IBM, USAirForce,
MTV, Sony, Disney, Fortune, Mercedes,
Renault, Ford, Toyota, BBC, BlackBerry,
Mozilla, Vogue, Harvard, University of
Washington, Xerox, Flickr, Bloomberg, Justin
Bieber, Ubuntu, XBOX, Starwars, Sweden,
HappyTables
30
Fun fact from https://wordpress.org/about/stats/
31
Why WordPress ?
pros and cons
32
WordPress Advantages
33
- Backward compatibility*
- Community support*
- Online tutorials and guides*
- User friendliness
- Easy Customisation - Customiser APIs
- Development cost
- GPL Licensed, Free!
- Big developer base
- Free and premium plugins and themes
- 3rd party integrations
- Event-driven architecture / Extensibility
- REST API
- User roles and capabilities system
- Auto updates
- Localization and Internationalization
- Multisite and Networks
- ..
- Its easy to build a good WordPress
site ... if you know how to do it!
WordPress Disadvantages
34
- Backward compatibility*
- Non-strict coding style
- Badly coded plugins and themes
- Limitations of PHP and MySQL
- ...
- Itseasy to build a bad WordPresssite
How is WordPress developed
35
WordPress is developed by YOU and ME!
36
WordPress is developed by open-source developers from all over the world, each release gets a lead,
nominated by the community, whos job is to facilitate feature development and merge into core.
Typically there are a few dozen contributors to each release, and the number is increasing each
cycle/year.
Contributions to WordPress is done by writing patches, doing user testing, helping with documentation,
translating strings, and more. Everyone is always welcome to contribute by any of these methods, and
you dont have to be a developer to do so!
Development happens on WordPresss Trac site: https://core.trac.wordpress.org/
How to extend WordPress
37
Creating a new post type
38
How to become a
Professional / Senior
WordPress Developer
39
Top Traits of Good Developers
regardless of platform
40
- Good communication and team-working skills
( communication skills, self-discipline, code documentation, code versioning.. )
- Understanding your platform and APIs
( not reinventing the wheel, frequent docs visitor, good command of the language )
- Commitment to Coding Standards
( well-spaced readable code, using linting tools )
- Testing and paying attention to details
( proper testing before submission, writing unit tests, confirming acceptance criteria .. )
- Good debugging skills
( understanding how to debug an error / behavior, not by trial-and-error development )
- Account for all possible scenarios
( safe coding, not trusting user input, not assuming a course of action )
- Learner's Mindset
( keep up to date on whats happening, move forward as WordPress does so )
41
Start playing with WordPress.
Now!
42
Pantheon.io
43
Pantheon provides a free development environment for agencies and developers,
you only pay when you publish your site and assign your domain name.
WordPress Learning Resources
44
- WordPress Developer Docs - https://developer.wordpress.org/
- WordPress Reference - https://developer.wordpress.org/reference/
- Know your code - https://knowthecode.io/
- WordPress Beginner - http://www.wpbeginner.com/
- WordPress TV - https://wordpress.tv/
- WordPress Awesome Tips - https://github.com/Mte90/awesome-wordpress-developer-tips
- WordPress Tuts by Envator - https://code.tutsplus.com/categories/wordpress
- WordPress 101 - https://www.wp101.com/
- Udemy courses - https://www.udemy.com/topic/wordpress/
-
WordPress Development
Bootcamp?
45
Register your interest
bit.ly/wp-cairo-dev-bootcamp
Dont miss
Intro to Drupal
tomorrow
46
47

More Related Content

WordPress, the what, why, and how

  • 2. by Shady Sharaf Senior Engineer at Human Made Global, a WordPress VIP Partner. WordPress Core Contributor, and Arabic Polyglot team member. @shadyvb linkedin.com/in/shadyvb/ github.com/shadyvb
  • 3. Agenda - What is WordPress - .. and how it all began - Who is using WordPress - .. and Why they use it - How does WordPress work - .. how it is developed - .. and how to change / extend it - .. how to become a top WordPress developer - How to start playing with WordPress, right now! - Next steps - Learning Resources - WordPress Development Bootcamp? - Questions ? 3
  • 4. What is WordPress WordPress is a blogging tool 4
  • 5. 5
  • 6. What is a blogging tool What is a blog? "Blog" is an abbreviated version of "weblog," which is a term used to describe websites that maintain an ongoing chronicle of information. A blog features diary-type commentary and links to articles on other websites, usually presented as a list of entries in reverse chronological order. Blogs range from the personal to the political, and can focus on one narrow subject or a whole range of subjects. What blogging platforms are out there now ? > WordPress.org, Blogger.com, Tumblr, Medium, etc .. So, is WordPressa bloggingtool ? well.. Yes!That howit started, but it grew over to be a full fledged CMS and towards being an Application Framework along the years. Lets glance(veryquickly)at howit started, and howit matured overthe years. 6
  • 8. The very beginning - 2003 It all started in 2003, when MikeLittle responded to MattMullenwegs discussion dubbed The Blogging Software Dilemma, suggesting to fork b2/cafelogafter the sole maintainer, MichelValdrighi, had gone off the grid. 8
  • 9. 9 WordPress v0.72 May 27 - October 11, 2003
  • 23. 60.1% 23 WordPress dominates content management systems market share!
  • 25. WordPress is - a blogging platform - a content management system, aka CMS - an application framework 25
  • 26. What is a CMS ( according to Wikipedia ) A content management system (CMS) is a computer application that supports the creation and modification of digital content. It typically supports multiple users in a collaborative environment. Content management systems typically provide the following features: - SEO-friendly URLs - Built in feature - Integrated and online help - Codex,Developerdocs, Screenhelp,and the awesome community - Modularity and extensibility - Themes and plugins - User and group functionality - Usersand capabilities system - Templating support for changing designs - Interchangablethemes - Install and upgrade wizards - The famous5 minuteinstall - Integrated audit logs - Throughplugins,ie Stream, and AuditTrail - Compliance with various accessibility frameworks and standards, such as WAI-ARIA - WIP and updated docs 26
  • 27. What is an Application Framework ( Wikipedia ) A software framework, in computer programming, is an abstraction in which common code providing generic functionality can be selectively overridden or specialized by user code providing specific functionality. Frameworks are a special case of software libraries in that they are reusable abstractions of code wrapped in a well-defined Application programming interface (API), yet they contain some key distinguishing features that separate them from normal libraries. Software frameworks have these distinguishing features that separate them from libraries or normal user applications: - Inversionof control - In a framework, unlike in libraries or normal user applications, the overall program's flow of control is not dictated by the caller, but by the framework. - Defaultbehavior - A framework has a default behavior. This default behavior must actually be some useful behavior and not a series of no-ops. - Extensibility- A framework can be extended by the user usually by selective overriding or specialized by user code providing specific functionality. - Non-modifiableframeworkcode - The framework code, in general, is not allowed to be modified. Users can extend the framework, but not modify its code. 27
  • 29. 29 Governments, Banks, Newspapers, Magazines, Universities, Shops, Bloggers, Intranets, Galleries, Portfolios, Reviewers, Memberships, Actors, TV Shows, Movies and more! Everyone! .. and anyone!
  • 30. TechCrunch, Microsoft, Facebook, Skype, TED, Whitehouse.gov, Reuters, PlayStation, TheNewYorker, Times, IBM, USAirForce, MTV, Sony, Disney, Fortune, Mercedes, Renault, Ford, Toyota, BBC, BlackBerry, Mozilla, Vogue, Harvard, University of Washington, Xerox, Flickr, Bloomberg, Justin Bieber, Ubuntu, XBOX, Starwars, Sweden, HappyTables 30
  • 31. Fun fact from https://wordpress.org/about/stats/ 31
  • 32. Why WordPress ? pros and cons 32
  • 33. WordPress Advantages 33 - Backward compatibility* - Community support* - Online tutorials and guides* - User friendliness - Easy Customisation - Customiser APIs - Development cost - GPL Licensed, Free! - Big developer base - Free and premium plugins and themes - 3rd party integrations - Event-driven architecture / Extensibility - REST API - User roles and capabilities system - Auto updates - Localization and Internationalization - Multisite and Networks - .. - Its easy to build a good WordPress site ... if you know how to do it!
  • 34. WordPress Disadvantages 34 - Backward compatibility* - Non-strict coding style - Badly coded plugins and themes - Limitations of PHP and MySQL - ... - Itseasy to build a bad WordPresssite
  • 35. How is WordPress developed 35
  • 36. WordPress is developed by YOU and ME! 36 WordPress is developed by open-source developers from all over the world, each release gets a lead, nominated by the community, whos job is to facilitate feature development and merge into core. Typically there are a few dozen contributors to each release, and the number is increasing each cycle/year. Contributions to WordPress is done by writing patches, doing user testing, helping with documentation, translating strings, and more. Everyone is always welcome to contribute by any of these methods, and you dont have to be a developer to do so! Development happens on WordPresss Trac site: https://core.trac.wordpress.org/
  • 37. How to extend WordPress 37
  • 38. Creating a new post type 38
  • 39. How to become a Professional / Senior WordPress Developer 39
  • 40. Top Traits of Good Developers regardless of platform 40 - Good communication and team-working skills ( communication skills, self-discipline, code documentation, code versioning.. ) - Understanding your platform and APIs ( not reinventing the wheel, frequent docs visitor, good command of the language ) - Commitment to Coding Standards ( well-spaced readable code, using linting tools ) - Testing and paying attention to details ( proper testing before submission, writing unit tests, confirming acceptance criteria .. ) - Good debugging skills ( understanding how to debug an error / behavior, not by trial-and-error development ) - Account for all possible scenarios ( safe coding, not trusting user input, not assuming a course of action ) - Learner's Mindset ( keep up to date on whats happening, move forward as WordPress does so )
  • 41. 41
  • 42. Start playing with WordPress. Now! 42
  • 43. Pantheon.io 43 Pantheon provides a free development environment for agencies and developers, you only pay when you publish your site and assign your domain name.
  • 44. WordPress Learning Resources 44 - WordPress Developer Docs - https://developer.wordpress.org/ - WordPress Reference - https://developer.wordpress.org/reference/ - Know your code - https://knowthecode.io/ - WordPress Beginner - http://www.wpbeginner.com/ - WordPress TV - https://wordpress.tv/ - WordPress Awesome Tips - https://github.com/Mte90/awesome-wordpress-developer-tips - WordPress Tuts by Envator - https://code.tutsplus.com/categories/wordpress - WordPress 101 - https://www.wp101.com/ - Udemy courses - https://www.udemy.com/topic/wordpress/ -
  • 45. WordPress Development Bootcamp? 45 Register your interest bit.ly/wp-cairo-dev-bootcamp
  • 46. Dont miss Intro to Drupal tomorrow 46
  • 47. 47

Editor's Notes

  1. Usability testing! New UI!
  2. New Admin UI Refresh
  3. Customiser UI!
  4. REST API Introduction
  5. Gutenberg!