SlideShare a Scribd company logo
WordPress Beirut 21th Meetup - February
7:00 - Mingle/Networking/coffee/Hello
7:10 - Intro
7:15 - Wordpress Multisite Best Practices
8:00 - Break
8:15 - Gutenberg Styling Features
9:00 - Closing
fb.com/wpbeirut
wpbeirut.org
WhatsApp Group
Ali Basheer @alibasheer
WordPress Developer
At Strategies dC
How did you heard about the
meetup
● Previous WP Meetup
● Facebook
● Friend
● WordPress admin widget
WordPress Beirut
● Contribution
● Every 1st Tuesday/Month
● Started July 2017
● One of 600 WP Meetups
Arabic community
status:
● Lebanon
○ active since June 2017
● Egypt
○ active since January 2018
● Jordan
○ 1 meetup on February 2016
● UAE
○ 1 meetup on Aug 2014
do_action Beirut
July 2018
● Volunteering to build
website for NGOs
● In 1 day
● 30+ volunteer
● 3 websites created
● We will announce new one
soon
Fadi Zahhar
Modern Full-
Stack Developer
Agenda
● How does it differ from single
site
● Where might you have seen it
● examples of WordPress Multisite
● How to Activate a Multisite?
● How To Manage the Network
● Administrator in Multisite
● Letting Users Create Their Own
Site
● Mapping Domains to Sites in
Your Network
● Database Relationship between
core and Network
● Decesion Making between
Multisite and Single Site.
Purpose, Aims and what is
Multisite
Type of projects
that can work on
multisite
● Blog networks
● Social networks
● Internal networks for
organizations or
companies
● Educational sites
● Sites that span cities,
customer groups, or other
various groups
● Any other WP site that may
need the option for
multiple sites within one
install
Projects that Could Benefit
from WordPress MS
Wordpress
Multisites
● WordPress.com
● Edublogs
● New York Times
● BBC America
Real Multisites build on
wordpress
main uses of Multisite and
see some real-world
examples of networks
using Multisite.
● WordPress Codex: Create a
Network
● WordPress.com
● Edublogs
● New York Times
● BBC America
● Compass Design
● Centenary Lounge
● Cole Face
● Wylde Green Primary
School
● Rachel McCollin’s Website
● WPMU DEV Multisite
Multisite Wordpress Usage
Steps to enabled multisite
● WP_ALLOW_MULTISITE
● Go To tools Network Setups
● Select
● https://codex.wordpress.org
/Create_A_Network to know
more about subdomains
Enabling Multisite
Evrething you need to
Activate Themes for all
sites
Activating Plugins
Managing Users
Oporational Settings
Registration Settings
Network Admin Screen
Settings can be modified
● Users settings
● Welcome email
● First Post
● First Page
● First comment
● Upload Settings
○ Type of allowed files
○ Max file site
○ Default language
Network Settings
Sites Section
● Add new Site
○ Site URL
○ Title
○ Language
○ Admin Email
Creating sites in your network
Users in Multisite
● How to manage users
Managing users
Plugins in Multisite
● Install Plugins on the
Network
● Activating Plugins on the
Network
● Activating Plugins on Sites
● Diffrence between Network
Activation and Site
Activation
Install Activate Plugins
Ac
Themes in Multisite
● Install Theme on the
Network
● Enable Theme on the
Network
● Enable Theme on Sites
● Difference between
Network Enable and Site
Enable
Install EnableThemes
Ac
How to Update
● Network Themes
● Network Plugins
● Sites Themes
● Site Plugins
Keeping your network uptodate
Difference between
● Network Administrator and
Site Administrator
● Network are super
Administrator
● Site Administrator they are
administrator that can
manage anything on there
site except adding or
removing themes and
plugisn.
Site Administrator Role
Make a front end page
● Allow End users to create
Site
● Purpose of allowing users
to create own sites.
● Wp-signup.php
● Need to be a subscriber to
allow to create a site.
Let users create own site.
U
MU Domain Mapping
● What this plugin offer
● Install The Plugin
● Network Activate Plugin
● Copy Sunrize.php from
plugin folder to wp-content
● Set Define(‘sunrize’,’on’); in
the wp-config
Mapping domains to site in
your network
three elements to
understanding how
the database works
in Multisite
● Database tables for the
core site
● Database tables for the
network
● Database tables for each
additional site.
Working with Data in
WordPress - Multisite
Database Tables for the Core
Site in Multisite
For the core site in a network,
WordPress uses the same 11
database tables as in a single site
installation:
● wp_posts
● wp_postmeta
● wp_comments
● wp_commentmeta
● wp_users
● wp_usermeta
● wp_links
● wp_term_relationships
● wp_term_taxonomy
● wp_terms
● wp_options
These will contain data relating to the main site. Two of them
will also contain data relating to the rest of the network.
These are:
● wp_users
● wp_usermeta
The other nine tables work in the same way as they do for a
single site - they store data about the main site's content.
However those last two tables will also store user data that is
relevant to the whole network, as well as user data which is
only used by the core site. I will examine this in a moment.
Database Tables for the
Network
As well as storing user data for the
whole network in two of the core
tables, WordPress also creates
additional tables in a Multisite
installation which hold data relating
to the network and its sites.
These are:
● wp_blogs
● wp_blog_versions
● wp_registration_log
● wp_signups
● wp_site
● wp_sitemeta
● wp_sitecategories (optional)
WordPress uses these seven (or six) tables plus the two
user tables to store all of the data about the Multisite
network. Here's what each of them stores:
wp_blogs This field stores details each site in the network, so it only has
one record for each site. Fields include blog_id, domain, registered (the
data on which the site was created) and last_updated (again, a date).
wp_blog_versions The current database version for each
site, updated when you update the network. Three fields:
blog_id, db_version and last_updated
wp_registration_log The admin user created when each site
is registered For each site (identified by blog_id), the
table stores the user_id for the administrator, their email
address and the date they registered.
Database Tables for the
Network
As well as storing user data for the
whole network in two of the core
tables, WordPress also creates
additional tables in a Multisite
installation which hold data relating
to the network and its sites.
These are:
● wp_blogs
● wp_blog_versions
● wp_registration_log
● wp_signups
● wp_site
● wp_sitemeta
● wp_sitecategories (optional)
wp_signups Stores data on sites which have been signed
up for but not activatedFields include a unique signup_id for each
record, the domain signed up for, the title, the user login and email
address. Once a site is activated this record is deleted and a record
is created in wp_blogs.
wp_site Stores the URL for the main site This table has only
one record with three fields: the id of the main site (which will be
1), its domain and the path (normally /)
wp_sitemeta Stores metadata for the network This
table is the equivalent of wp_options for the entire network. It
contains all of the metadata relating to the network settings plus
smaller amounts of metadata for individual sites. It has four fields:
a unique meta_id, site_id (which links to wp_blogs), meta_key
and meta_value.
Database Tables for the
Network
As well as storing user data for the
whole network in two of the core
tables, WordPress also creates
additional tables in a Multisite
installation which hold data relating
to the network and its sites.
These are:
● wp_blogs
● wp_blog_versions
● wp_registration_log
● wp_signups
● wp_site
● wp_sitemeta
● wp_sitecategories (optional)
wp_sitecategories Optional table only created if global terms
are enabled for a site. Enabling global terms allows you to use
terms across multiple sites in the network. The table (if it is
created), will have four fields: cat_ID, cat_name,
category_nicename and last_updated. Note that this tables stores
terms, not just categories, despite the field names.
wp_users Data on all users is stored here rather than for each
site, as individual users can have access to multiple sites on the
network. In a Multiste installtion WordPress creates two extra
fields in the wp_users table: spam and deleted, both of which
are Boolean values defaulting to NO.
wp_usermeta The wp_usermeta tables stores all
metadata for all site users The table is used in the
same way as for a single site installation.
Relationship between tables
Most of these tables are related to
the wp_blogs table via the blog_ID
field, as all of the data needed for the
sites in the network will need to be
linked to the core site record. The
excepts are:
● wp_sitecategories, which links
to posts and other content
● wp_signups, as these aren't
registered sites yet
● wp_usermeta, which has an
indirect link to wp_blogs via
wp_users
For more detail on each of these
tables and their fields, see the Codex
page on the database.
Database Tables for Sites in a
Network
The way in which WordPress stores
the data for each of the sites in your
network is fairly straightforward: it
creates multiple copies of each of
the database tables, one for each
site. However it doesn't create
additional copies of wp_users and
wp_usermeta as these are all stored in
the main table.
To differentiate between the tables
for each site, WordPress adds the
site ID to the table name, so for
example for site 2, wp_posts
becomes wp_2_posts.
Database Tables for Sites in a
Network
Each site will have the following
tables:
● wp_xx_posts
● wp_xx_postmeta
● wp_xx_comments
● wp_xx_commentmeta
● wp_xx_links
● wp_xx_term_relationships
● wp_xx_term_taxonomy
● wp_xx_terms
● wp_xx_options
The xx above will be replaced by the
numeric site ID. All of these tables
store data in the same way for each
site as they would if the site was a
single site installation.
Questions?
Gutenberg
Styling
Features
What’s New in
Gutenberg? (6th July)
The most significant addition is block style variations. This will allow registration of
alternate styles (based on class names) for any block, with automated real
thumbnails and live previews built in to the block transformation tool. We have
added them to the Quote, Button, and Separator blocks for illustration. The public
API will be exposed in a future release.
This release generally completes our MVP
feature set for the editor by adding inline
images, block style variations, and a new
columns approach. Switching focus to
bugs, enhancements, compatibility, and
API stability from now on. Worth noting that
there’s people working on some more
individual blocks (a few widgets and
playlist) to be included when ready.
Core Block Support
A few core blocks currently
support block style
variations, including:
● Button
● Pull Quote
● Quote
● Separator
● Table
I'm sure support will be added for other core blocks
in the future as this feature becomes more widely
adopted. It's so flexible I'm sure a lot of users will
come to expect a selection of predefined style
options for most blocks. Once you've used block
style variations, it's easy to see why this could be the
case.
You can add block style variations to your own
blocks too, of course. We'll explore the specific
implementation details next.
Implementing Block
Style Variations
wp.blocks.registerBlockStyle(
'core/button', {
name: 'custom-button-
style',
label: 'My Button Style'
} );
Demo!
● Using a Plugin
● Using a Theme
Questions?
Thank You.

More Related Content

Similar to Wordpress Beirut 21th meetup February

Wordpress
WordpressWordpress
Wordpress
laiba1111
 
Beginning WordPress Workshop
Beginning WordPress WorkshopBeginning WordPress Workshop
Beginning WordPress Workshop
The Toolbox, Inc.
 
Understanding WordPress/WooCommerce Database
Understanding WordPress/WooCommerce DatabaseUnderstanding WordPress/WooCommerce Database
Understanding WordPress/WooCommerce Database
George Georgopoulos
 
CMIT 370 FINAL EXAM
CMIT 370 FINAL EXAMCMIT 370 FINAL EXAM
CMIT 370 FINAL EXAM
HamesKellor
 
Introduction to WordPress Multisite
Introduction to WordPress MultisiteIntroduction to WordPress Multisite
Introduction to WordPress Multisite
Craig Taylor
 
WordPress Multisite Network Do’s & Don’ts
WordPress Multisite Network Do’s & Don’tsWordPress Multisite Network Do’s & Don’ts
WordPress Multisite Network Do’s & Don’ts
Taylor McCaslin
 
Basics of Wordpress
Basics of WordpressBasics of Wordpress
Basics of Wordpress
AndrewComeau
 
Wordpress
WordpressWordpress
Wordpress
Arjun Srivastava
 
Introduce the WordPress
Introduce the WordPressIntroduce the WordPress
Introduce the WordPress
Hoan Tran
 
To The Word And Beyond! Extending WordPress Past a Simple Blog
To The Word And Beyond! Extending WordPress Past a Simple BlogTo The Word And Beyond! Extending WordPress Past a Simple Blog
To The Word And Beyond! Extending WordPress Past a Simple Blog
Meagan Hanes
 
WordPress Multisite Q&A
WordPress Multisite Q&AWordPress Multisite Q&A
WordPress Multisite Q&A
Patrick Johanneson
 
WP-1-cms.pdf
WP-1-cms.pdfWP-1-cms.pdf
WP-1-cms.pdf
HezekiahOluwadamilar1
 
Converting Any Website to Wordpress
Converting Any Website to WordpressConverting Any Website to Wordpress
Converting Any Website to Wordpress
IJERDJOURNAL
 
Ultimate Guide to WordPress Multisite
Ultimate Guide to WordPress MultisiteUltimate Guide to WordPress Multisite
Ultimate Guide to WordPress Multisite
Andrew Marks
 
Website using word press
Website using word pressWebsite using word press
Website using word press
VishalPatir
 
WCO2014 - To The Word And Beyond!
WCO2014 - To The Word And Beyond!WCO2014 - To The Word And Beyond!
WCO2014 - To The Word And Beyond!
Meagan Hanes
 
Fetc2014 WordPress Presentation
Fetc2014 WordPress PresentationFetc2014 WordPress Presentation
Fetc2014 WordPress Presentation
Carlos Fernandez
 
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Fadi Nicolas Zahhar
 
A comprehensive software infrastructure of .Net
A comprehensive software infrastructure of .Net  A comprehensive software infrastructure of .Net
A comprehensive software infrastructure of .Net
Prognoz Technologies Pvt. Ltd.
 

Similar to Wordpress Beirut 21th meetup February (20)

Wordpress
WordpressWordpress
Wordpress
 
Beginning WordPress Workshop
Beginning WordPress WorkshopBeginning WordPress Workshop
Beginning WordPress Workshop
 
Understanding WordPress/WooCommerce Database
Understanding WordPress/WooCommerce DatabaseUnderstanding WordPress/WooCommerce Database
Understanding WordPress/WooCommerce Database
 
CMIT 370 FINAL EXAM
CMIT 370 FINAL EXAMCMIT 370 FINAL EXAM
CMIT 370 FINAL EXAM
 
Team lab install_en
Team lab install_enTeam lab install_en
Team lab install_en
 
Introduction to WordPress Multisite
Introduction to WordPress MultisiteIntroduction to WordPress Multisite
Introduction to WordPress Multisite
 
WordPress Multisite Network Do’s & Don’ts
WordPress Multisite Network Do’s & Don’tsWordPress Multisite Network Do’s & Don’ts
WordPress Multisite Network Do’s & Don’ts
 
Basics of Wordpress
Basics of WordpressBasics of Wordpress
Basics of Wordpress
 
Wordpress
WordpressWordpress
Wordpress
 
Introduce the WordPress
Introduce the WordPressIntroduce the WordPress
Introduce the WordPress
 
To The Word And Beyond! Extending WordPress Past a Simple Blog
To The Word And Beyond! Extending WordPress Past a Simple BlogTo The Word And Beyond! Extending WordPress Past a Simple Blog
To The Word And Beyond! Extending WordPress Past a Simple Blog
 
WordPress Multisite Q&A
WordPress Multisite Q&AWordPress Multisite Q&A
WordPress Multisite Q&A
 
WP-1-cms.pdf
WP-1-cms.pdfWP-1-cms.pdf
WP-1-cms.pdf
 
Converting Any Website to Wordpress
Converting Any Website to WordpressConverting Any Website to Wordpress
Converting Any Website to Wordpress
 
Ultimate Guide to WordPress Multisite
Ultimate Guide to WordPress MultisiteUltimate Guide to WordPress Multisite
Ultimate Guide to WordPress Multisite
 
Website using word press
Website using word pressWebsite using word press
Website using word press
 
WCO2014 - To The Word And Beyond!
WCO2014 - To The Word And Beyond!WCO2014 - To The Word And Beyond!
WCO2014 - To The Word And Beyond!
 
Fetc2014 WordPress Presentation
Fetc2014 WordPress PresentationFetc2014 WordPress Presentation
Fetc2014 WordPress Presentation
 
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
 
A comprehensive software infrastructure of .Net
A comprehensive software infrastructure of .Net  A comprehensive software infrastructure of .Net
A comprehensive software infrastructure of .Net
 

More from Fadi Nicolas Zahhar

Wordpress deployment on aws
Wordpress deployment on awsWordpress deployment on aws
Wordpress deployment on aws
Fadi Nicolas Zahhar
 
Word press beirut 23st meetup may
Word press beirut 23st meetup   mayWord press beirut 23st meetup   may
Word press beirut 23st meetup may
Fadi Nicolas Zahhar
 
Wordpress beirut 22th meetup april
Wordpress beirut 22th meetup   aprilWordpress beirut 22th meetup   april
Wordpress beirut 22th meetup april
Fadi Nicolas Zahhar
 
Choose a template
Choose a templateChoose a template
Choose a template
Fadi Nicolas Zahhar
 
Word press beirut 21st meetup march
Word press beirut 21st meetup   marchWord press beirut 21st meetup   march
Word press beirut 21st meetup march
Fadi Nicolas Zahhar
 
Word press beirut 19th meetup January 2019
Word press beirut 19th meetup   January 2019Word press beirut 19th meetup   January 2019
Word press beirut 19th meetup January 2019
Fadi Nicolas Zahhar
 
Design for devs psych
Design for devs psychDesign for devs psych
Design for devs psych
Fadi Nicolas Zahhar
 
The Hiking Calendar - Christian Hölzl
 The Hiking Calendar - Christian Hölzl The Hiking Calendar - Christian Hölzl
The Hiking Calendar - Christian Hölzl
Fadi Nicolas Zahhar
 
Word press beirut 17th meetup october
Word press beirut 17th meetup   octoberWord press beirut 17th meetup   october
Word press beirut 17th meetup october
Fadi Nicolas Zahhar
 
WordPress Beirut 16th meetup September
WordPress Beirut 16th meetup   SeptemberWordPress Beirut 16th meetup   September
WordPress Beirut 16th meetup September
Fadi Nicolas Zahhar
 
WordPress 15th Meetup - Build a Child Theme
WordPress 15th Meetup - Build a Child ThemeWordPress 15th Meetup - Build a Child Theme
WordPress 15th Meetup - Build a Child Theme
Fadi Nicolas Zahhar
 
WordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a ThemeWordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a Theme
Fadi Nicolas Zahhar
 
Embarking on your own journey
Embarking on your own journeyEmbarking on your own journey
Embarking on your own journey
Fadi Nicolas Zahhar
 
Word press beirut 14th meetup July
Word press beirut 14th meetup JulyWord press beirut 14th meetup July
Word press beirut 14th meetup July
Fadi Nicolas Zahhar
 
14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...
14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...
14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...
Fadi Nicolas Zahhar
 
Wordpress Beirut understanding Gutenberg plugin
Wordpress Beirut understanding Gutenberg pluginWordpress Beirut understanding Gutenberg plugin
Wordpress Beirut understanding Gutenberg plugin
Fadi Nicolas Zahhar
 
Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup June - 2018
Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup  June - 2018Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup  June - 2018
Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup June - 2018
Fadi Nicolas Zahhar
 
Word press beirut 12th meetup june
Word press beirut 12th meetup   juneWord press beirut 12th meetup   june
Word press beirut 12th meetup june
Fadi Nicolas Zahhar
 
Word press beirut 11th meetup may
Word press beirut 11th meetup   mayWord press beirut 11th meetup   may
Word press beirut 11th meetup may
Fadi Nicolas Zahhar
 
Analytics webmaster tagmanager
Analytics webmaster tagmanagerAnalytics webmaster tagmanager
Analytics webmaster tagmanager
Fadi Nicolas Zahhar
 

More from Fadi Nicolas Zahhar (20)

Wordpress deployment on aws
Wordpress deployment on awsWordpress deployment on aws
Wordpress deployment on aws
 
Word press beirut 23st meetup may
Word press beirut 23st meetup   mayWord press beirut 23st meetup   may
Word press beirut 23st meetup may
 
Wordpress beirut 22th meetup april
Wordpress beirut 22th meetup   aprilWordpress beirut 22th meetup   april
Wordpress beirut 22th meetup april
 
Choose a template
Choose a templateChoose a template
Choose a template
 
Word press beirut 21st meetup march
Word press beirut 21st meetup   marchWord press beirut 21st meetup   march
Word press beirut 21st meetup march
 
Word press beirut 19th meetup January 2019
Word press beirut 19th meetup   January 2019Word press beirut 19th meetup   January 2019
Word press beirut 19th meetup January 2019
 
Design for devs psych
Design for devs psychDesign for devs psych
Design for devs psych
 
The Hiking Calendar - Christian Hölzl
 The Hiking Calendar - Christian Hölzl The Hiking Calendar - Christian Hölzl
The Hiking Calendar - Christian Hölzl
 
Word press beirut 17th meetup october
Word press beirut 17th meetup   octoberWord press beirut 17th meetup   october
Word press beirut 17th meetup october
 
WordPress Beirut 16th meetup September
WordPress Beirut 16th meetup   SeptemberWordPress Beirut 16th meetup   September
WordPress Beirut 16th meetup September
 
WordPress 15th Meetup - Build a Child Theme
WordPress 15th Meetup - Build a Child ThemeWordPress 15th Meetup - Build a Child Theme
WordPress 15th Meetup - Build a Child Theme
 
WordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a ThemeWordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a Theme
 
Embarking on your own journey
Embarking on your own journeyEmbarking on your own journey
Embarking on your own journey
 
Word press beirut 14th meetup July
Word press beirut 14th meetup JulyWord press beirut 14th meetup July
Word press beirut 14th meetup July
 
14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...
14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...
14th Meetup WordPress Beirut - How WordPress helped us reach $200k in yearly ...
 
Wordpress Beirut understanding Gutenberg plugin
Wordpress Beirut understanding Gutenberg pluginWordpress Beirut understanding Gutenberg plugin
Wordpress Beirut understanding Gutenberg plugin
 
Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup June - 2018
Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup  June - 2018Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup  June - 2018
Wordpress 15th Anniversary - Wordpress Beirut Community 13th Meetup June - 2018
 
Word press beirut 12th meetup june
Word press beirut 12th meetup   juneWord press beirut 12th meetup   june
Word press beirut 12th meetup june
 
Word press beirut 11th meetup may
Word press beirut 11th meetup   mayWord press beirut 11th meetup   may
Word press beirut 11th meetup may
 
Analytics webmaster tagmanager
Analytics webmaster tagmanagerAnalytics webmaster tagmanager
Analytics webmaster tagmanager
 

Recently uploaded

zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 

Recently uploaded (20)

zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 

Wordpress Beirut 21th meetup February

  • 1. WordPress Beirut 21th Meetup - February 7:00 - Mingle/Networking/coffee/Hello 7:10 - Intro 7:15 - Wordpress Multisite Best Practices 8:00 - Break 8:15 - Gutenberg Styling Features 9:00 - Closing fb.com/wpbeirut wpbeirut.org WhatsApp Group
  • 2. Ali Basheer @alibasheer WordPress Developer At Strategies dC
  • 3. How did you heard about the meetup ● Previous WP Meetup ● Facebook ● Friend ● WordPress admin widget
  • 4. WordPress Beirut ● Contribution ● Every 1st Tuesday/Month ● Started July 2017 ● One of 600 WP Meetups
  • 5.
  • 6. Arabic community status: ● Lebanon ○ active since June 2017 ● Egypt ○ active since January 2018 ● Jordan ○ 1 meetup on February 2016 ● UAE ○ 1 meetup on Aug 2014
  • 7. do_action Beirut July 2018 ● Volunteering to build website for NGOs ● In 1 day ● 30+ volunteer ● 3 websites created ● We will announce new one soon
  • 9. Agenda ● How does it differ from single site ● Where might you have seen it ● examples of WordPress Multisite ● How to Activate a Multisite? ● How To Manage the Network ● Administrator in Multisite ● Letting Users Create Their Own Site ● Mapping Domains to Sites in Your Network ● Database Relationship between core and Network ● Decesion Making between Multisite and Single Site. Purpose, Aims and what is Multisite
  • 10. Type of projects that can work on multisite ● Blog networks ● Social networks ● Internal networks for organizations or companies ● Educational sites ● Sites that span cities, customer groups, or other various groups ● Any other WP site that may need the option for multiple sites within one install Projects that Could Benefit from WordPress MS
  • 11. Wordpress Multisites ● WordPress.com ● Edublogs ● New York Times ● BBC America Real Multisites build on wordpress
  • 12. main uses of Multisite and see some real-world examples of networks using Multisite. ● WordPress Codex: Create a Network ● WordPress.com ● Edublogs ● New York Times ● BBC America ● Compass Design ● Centenary Lounge ● Cole Face ● Wylde Green Primary School ● Rachel McCollin’s Website ● WPMU DEV Multisite Multisite Wordpress Usage
  • 13. Steps to enabled multisite ● WP_ALLOW_MULTISITE ● Go To tools Network Setups ● Select ● https://codex.wordpress.org /Create_A_Network to know more about subdomains Enabling Multisite
  • 14. Evrething you need to Activate Themes for all sites Activating Plugins Managing Users Oporational Settings Registration Settings Network Admin Screen
  • 15. Settings can be modified ● Users settings ● Welcome email ● First Post ● First Page ● First comment ● Upload Settings ○ Type of allowed files ○ Max file site ○ Default language Network Settings
  • 16. Sites Section ● Add new Site ○ Site URL ○ Title ○ Language ○ Admin Email Creating sites in your network
  • 17. Users in Multisite ● How to manage users Managing users
  • 18. Plugins in Multisite ● Install Plugins on the Network ● Activating Plugins on the Network ● Activating Plugins on Sites ● Diffrence between Network Activation and Site Activation Install Activate Plugins Ac
  • 19. Themes in Multisite ● Install Theme on the Network ● Enable Theme on the Network ● Enable Theme on Sites ● Difference between Network Enable and Site Enable Install EnableThemes Ac
  • 20. How to Update ● Network Themes ● Network Plugins ● Sites Themes ● Site Plugins Keeping your network uptodate
  • 21. Difference between ● Network Administrator and Site Administrator ● Network are super Administrator ● Site Administrator they are administrator that can manage anything on there site except adding or removing themes and plugisn. Site Administrator Role
  • 22. Make a front end page ● Allow End users to create Site ● Purpose of allowing users to create own sites. ● Wp-signup.php ● Need to be a subscriber to allow to create a site. Let users create own site. U
  • 23. MU Domain Mapping ● What this plugin offer ● Install The Plugin ● Network Activate Plugin ● Copy Sunrize.php from plugin folder to wp-content ● Set Define(‘sunrize’,’on’); in the wp-config Mapping domains to site in your network
  • 24. three elements to understanding how the database works in Multisite ● Database tables for the core site ● Database tables for the network ● Database tables for each additional site. Working with Data in WordPress - Multisite
  • 25. Database Tables for the Core Site in Multisite For the core site in a network, WordPress uses the same 11 database tables as in a single site installation: ● wp_posts ● wp_postmeta ● wp_comments ● wp_commentmeta ● wp_users ● wp_usermeta ● wp_links ● wp_term_relationships ● wp_term_taxonomy ● wp_terms ● wp_options These will contain data relating to the main site. Two of them will also contain data relating to the rest of the network. These are: ● wp_users ● wp_usermeta The other nine tables work in the same way as they do for a single site - they store data about the main site's content. However those last two tables will also store user data that is relevant to the whole network, as well as user data which is only used by the core site. I will examine this in a moment.
  • 26. Database Tables for the Network As well as storing user data for the whole network in two of the core tables, WordPress also creates additional tables in a Multisite installation which hold data relating to the network and its sites. These are: ● wp_blogs ● wp_blog_versions ● wp_registration_log ● wp_signups ● wp_site ● wp_sitemeta ● wp_sitecategories (optional) WordPress uses these seven (or six) tables plus the two user tables to store all of the data about the Multisite network. Here's what each of them stores: wp_blogs This field stores details each site in the network, so it only has one record for each site. Fields include blog_id, domain, registered (the data on which the site was created) and last_updated (again, a date). wp_blog_versions The current database version for each site, updated when you update the network. Three fields: blog_id, db_version and last_updated wp_registration_log The admin user created when each site is registered For each site (identified by blog_id), the table stores the user_id for the administrator, their email address and the date they registered.
  • 27. Database Tables for the Network As well as storing user data for the whole network in two of the core tables, WordPress also creates additional tables in a Multisite installation which hold data relating to the network and its sites. These are: ● wp_blogs ● wp_blog_versions ● wp_registration_log ● wp_signups ● wp_site ● wp_sitemeta ● wp_sitecategories (optional) wp_signups Stores data on sites which have been signed up for but not activatedFields include a unique signup_id for each record, the domain signed up for, the title, the user login and email address. Once a site is activated this record is deleted and a record is created in wp_blogs. wp_site Stores the URL for the main site This table has only one record with three fields: the id of the main site (which will be 1), its domain and the path (normally /) wp_sitemeta Stores metadata for the network This table is the equivalent of wp_options for the entire network. It contains all of the metadata relating to the network settings plus smaller amounts of metadata for individual sites. It has four fields: a unique meta_id, site_id (which links to wp_blogs), meta_key and meta_value.
  • 28. Database Tables for the Network As well as storing user data for the whole network in two of the core tables, WordPress also creates additional tables in a Multisite installation which hold data relating to the network and its sites. These are: ● wp_blogs ● wp_blog_versions ● wp_registration_log ● wp_signups ● wp_site ● wp_sitemeta ● wp_sitecategories (optional) wp_sitecategories Optional table only created if global terms are enabled for a site. Enabling global terms allows you to use terms across multiple sites in the network. The table (if it is created), will have four fields: cat_ID, cat_name, category_nicename and last_updated. Note that this tables stores terms, not just categories, despite the field names. wp_users Data on all users is stored here rather than for each site, as individual users can have access to multiple sites on the network. In a Multiste installtion WordPress creates two extra fields in the wp_users table: spam and deleted, both of which are Boolean values defaulting to NO. wp_usermeta The wp_usermeta tables stores all metadata for all site users The table is used in the same way as for a single site installation.
  • 29. Relationship between tables Most of these tables are related to the wp_blogs table via the blog_ID field, as all of the data needed for the sites in the network will need to be linked to the core site record. The excepts are: ● wp_sitecategories, which links to posts and other content ● wp_signups, as these aren't registered sites yet ● wp_usermeta, which has an indirect link to wp_blogs via wp_users For more detail on each of these tables and their fields, see the Codex page on the database.
  • 30. Database Tables for Sites in a Network The way in which WordPress stores the data for each of the sites in your network is fairly straightforward: it creates multiple copies of each of the database tables, one for each site. However it doesn't create additional copies of wp_users and wp_usermeta as these are all stored in the main table. To differentiate between the tables for each site, WordPress adds the site ID to the table name, so for example for site 2, wp_posts becomes wp_2_posts.
  • 31. Database Tables for Sites in a Network Each site will have the following tables: ● wp_xx_posts ● wp_xx_postmeta ● wp_xx_comments ● wp_xx_commentmeta ● wp_xx_links ● wp_xx_term_relationships ● wp_xx_term_taxonomy ● wp_xx_terms ● wp_xx_options The xx above will be replaced by the numeric site ID. All of these tables store data in the same way for each site as they would if the site was a single site installation.
  • 34. What’s New in Gutenberg? (6th July) The most significant addition is block style variations. This will allow registration of alternate styles (based on class names) for any block, with automated real thumbnails and live previews built in to the block transformation tool. We have added them to the Quote, Button, and Separator blocks for illustration. The public API will be exposed in a future release. This release generally completes our MVP feature set for the editor by adding inline images, block style variations, and a new columns approach. Switching focus to bugs, enhancements, compatibility, and API stability from now on. Worth noting that there’s people working on some more individual blocks (a few widgets and playlist) to be included when ready.
  • 35. Core Block Support A few core blocks currently support block style variations, including: ● Button ● Pull Quote ● Quote ● Separator ● Table I'm sure support will be added for other core blocks in the future as this feature becomes more widely adopted. It's so flexible I'm sure a lot of users will come to expect a selection of predefined style options for most blocks. Once you've used block style variations, it's easy to see why this could be the case. You can add block style variations to your own blocks too, of course. We'll explore the specific implementation details next.
  • 36. Implementing Block Style Variations wp.blocks.registerBlockStyle( 'core/button', { name: 'custom-button- style', label: 'My Button Style' } );
  • 37. Demo! ● Using a Plugin ● Using a Theme