SlideShare a Scribd company logo
1 of 30
WordPress Beirut 16th Meetup - September
7:00 - Mingle/Networking/coffee/Hello
7:10 - Intro
7:15 - How Gutenberg will Change WordPress
8:00 - Break
8:15 - WordPress Performance
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 2017
● Volunteering to build
website for NGOs
● In 1 day
● 30+ volunteer
● 3 websites created
● We will announce new one
soon
do_action Beirut 2018
Saturday 20th of October
8:00am to 8:00pm
● Saida or Beirut
● Co-organizers and Volunteers:
○ Ghassan Hashem
○ Hiyam Matar
○ Rani Barbir
○ Mohamed Farhat
● NGOs
● Event day volunteers
You can Help:
● Speak at meetup (45min)
○ No level of experience
○ Your Story with WP
○ SEO topic
○ Business & Freelance
○ Content & branding
● Suggest ideas/topics
● Spread the word
● Start a meetup
Gutenberg
Johannes Gutenberg
Fadi Zahhar
Modern Full-
Stack Developer
Softwares claims
WYSIWYG in 90’s
● Fireworks
● Dreamweaver
● Flash
● Front Page
WYSIWYG
Wordpress
WYSIWYG
● Is it a true WYSIWYG!
WYSIWYG
Wordpress
WYSIWYG
● It is another lie!
● We can call it what you
see is why you get
without the header, or
footer or sidebar or any
option in the theme only
content… bla bla bla.
WYSIWYG
Wordpress is old
15 Years ago.
● Used for old screens
● Today, we have Laptops,
Tablets, Mobile, VR
WYSIWYG
Purpose
● Provide users with a
more modern toolset
● Allowing for greater
freedom
Aims
● To transform the core
content editing system
Is Not
● Looking to make the
entirety of wordpress into
a drag-and-drop builder.
Purpose, Aims and what is not
Gutenberg
Blocks and Embeds
● The new blocks contain many of
the old favorites when it comes
to content: text, images,
galleries, hero images,
corresponding service embeds,
and more. In addition, new
blocks can be easily created,
allowing developers to give
clients highly customized
building blocks for their own
site.
Blocks and Embeds
Developers would previously have been required to create any
page-specific templates, but these can now be created by most
users.
Possibilities
Imagine defining a whole page
template as a set of default
blocks, ready to be filled once
the user creates a page. (Matias
Ventura)
You can feed in a template of
wordpress.
Contextual Enhancements
Yoast is trying to put notifications into blocks and tell you
if they are good for SEO or not.
Possibilities
Gutenberg aims to give
developers a way to define and
protect structural markup and
their design while giving users
the ability to directly edit the
information intuitively. (Matias
Ventura)
You can feed in a template of
wordpress.
Be your own builder
https://wordpress.org/gutenberg/files/2018/07/Insert-
Block-2-1.gif
https://wordpress.org/gutenberg/files/2018/08/Builder.gi
f
Possibilities
● Layout Selector
● Repeatable Block
● The web won’t be a rectanglar
screen, in the future will be in all
view, and then possible VR.
Gutenberg have the possibility
for that, since it is a block
concept.
Warning for WP 5.0
● Metaboxes won’t be the same
● Which plugins need updating for
Gutenberg?
○ Custom post types
○ Complex metaboxes
○ Shortcodes
○ Editor featuers
How to Prepare Your Plugins for
WordPress Gutenberg
Simple metaboxes should
work with Gutenberg out of
the box, although they will be
displayed differently.
However, if you have
complex Metaboxes such as
the one in the Yoast SEO
plugin, then you'll have to test
it against Gutenberg and
maybe create a new one just
for Gutenberg.
Support or do not
support this is the
question!
● Support Gutenberg
● Disable Gutenberg
Two approaches no third.
Supporting Gutenberg
would mean that we will put
extra effort into refactoring
our code (maybe even
duplicating some) so that
our plugin users won't have
any difficulty using it..
Disabling
Gutenberg
● Completely
● Per Post Type
How to Disable Gutenberg
We can disable Gutenberg
completely or only where
our plugin is being used. In
this section, I will take my
own plugin "Simple
Giveaways" that has a
custom post type and also
metaboxes.
Disabling
Gutenberg
● Completely
<?php
add_filter(
'gutenberg_can_edit_post_type',
'__return_false' );
Disabling Gutenberg Completely
This is something I would
not recommend doing
from your plugin. Instead,
you might want to inform
your plugin users with an
admin notice that your
plugin doesn't work with
Gutenberg so that they can
revert back to the Classic
Editor.
Reverting can be done by
installing the plugin Classic
Editor.
This filter can be found in the function
gutenberg_can_edit_post_type which is
used to check if Gutenberg can be
loaded on that particular post type. If
we always return false, then it means
that we won't support Gutenberg at all.
Disabling
Gutenberg
● Per Post Type
<?php
$args = array(
'label' => __( 'Simple Giveaways',
'giveasap' ),
'labels' => $labels,
'supports' => array(
'title',
//'editor', Disabling Gutenberg
'thumbnail',
),
'hierarchical' => false,
// ...
);
register_post_type( 'giveasap', $args );
Disabling Gutenberg per Post Type
If your plugin has a custom
post type, then you may
want to disable Gutenberg
for that particular post
type. To disable Gutenberg
for your custom post type,
you can just change your
post type configuration.
Maybe you need the editor but you don't
need it in the REST API? Gutenberg
won't load if you don't support the REST
API. Similarly to the above example, we
will do that in the post type
configuration.
<?php
$args = array(
'label' => __( 'Simple
Giveaways', 'giveasap' ),
// ...
'show_in_rest' => false, //
Disable Gutenberg
// ...
);
register_post_type( 'giveasap',
Disabling
Gutenberg
● Per Post Type
<?php
add_filter(
'gutenberg_can_edit_post_type',
function( $can_edit, $post_type ){
if ( $can_edit && 'giveasap' ===
$post_type ) {
return false;
}
return $can_edit;
}, 20, 2 );
Disabling Gutenberg per Post Type
We can use the previously
mentioned filter to disable
Gutenberg only for our
custom post type.
With this code, we are checking if we are on our custom post type. If
we are, then just return false. This won't affect any other post types.
Disabling
Gutenberg
● With Metaboxes
<?php
add_meta_box(
'giveasap_users',
__( 'Users', 'giveasap' ),
'giveasap_metabox_users',
array( 'giveasap' ),
'side',
'high',
array(
// Not Compatible. Disable
Gutenberg.
'__block_editor_compatible_meta_box'
=> false,
)
);
Disabling Gutenberg With Metaboxes
If you have complex
metaboxes, maybe it would
take too long for you to
create a version of your
plugin that could support
Gutenberg. If that's the
case, you can disable
Gutenberg until you have
something that works with
Gutenberg.
Support Gutenberg
● What is Static Block
● What is Dynamic Block
● Demo in writing gutenberg Block
● Introduction video:
https://www.youtube.com/watc
h?v=yXBTE2hBnII
● Demo Repository:
https://github.com/wpbeirut/Un
derstanding_Gutenberg_Plugin
How to Support Gutenberg
Work on making new
blocks for your shortcodes
and even widgets.
Create Static and dynamic
blocks.
Questions?
Thank You.

More Related Content

Similar to WordPress Beirut 16th meetup September

Creating Extensible Plugins for WordPress
Creating Extensible Plugins for WordPressCreating Extensible Plugins for WordPress
Creating Extensible Plugins for WordPressHristo Chakarov
 
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
 
Embracing the Change: How to Win with Gutenberg
Embracing the Change: How to Win with GutenbergEmbracing the Change: How to Win with Gutenberg
Embracing the Change: How to Win with GutenbergWP Engine
 
Word press gutenberg tutorial
Word press gutenberg tutorialWord press gutenberg tutorial
Word press gutenberg tutorialwp-enlight
 
Developing Custom WordPress Themes for Clients
Developing Custom WordPress Themes for ClientsDeveloping Custom WordPress Themes for Clients
Developing Custom WordPress Themes for ClientsSteven Slack
 
Content Architectures in WordPress 5
Content Architectures in WordPress 5Content Architectures in WordPress 5
Content Architectures in WordPress 5Jamie Schmid
 
WordPress 101 Saturday Session
WordPress 101 Saturday SessionWordPress 101 Saturday Session
WordPress 101 Saturday Sessionpamselle
 
Word press beirut 12th meetup june
Word press beirut 12th meetup   juneWord press beirut 12th meetup   june
Word press beirut 12th meetup juneFadi Nicolas Zahhar
 
Power of mu plugins
Power of mu pluginsPower of mu plugins
Power of mu pluginsMikel King
 
WordPress: After The Install
WordPress: After The InstallWordPress: After The Install
WordPress: After The InstallWordPress NYC
 
Wordpress beirut 22th meetup april
Wordpress beirut 22th meetup   aprilWordpress beirut 22th meetup   april
Wordpress beirut 22th meetup aprilFadi Nicolas Zahhar
 
Blog Farm Pro Review
Blog Farm Pro ReviewBlog Farm Pro Review
Blog Farm Pro ReviewMissAnikCC
 
10 rocking word press plugins that you might have missed wp-stuffs.com
10 rocking word press plugins that you might have missed   wp-stuffs.com10 rocking word press plugins that you might have missed   wp-stuffs.com
10 rocking word press plugins that you might have missed wp-stuffs.comVivek R
 
Why you should prefer Blogger
Why you should prefer Blogger Why you should prefer Blogger
Why you should prefer Blogger Davis Brown
 
Angular.js for beginners
Angular.js for beginners Angular.js for beginners
Angular.js for beginners Basia Madej
 
ChatGPT Is Quite Good At Writing WordPress Plugins!
ChatGPT Is Quite Good At Writing WordPress Plugins!ChatGPT Is Quite Good At Writing WordPress Plugins!
ChatGPT Is Quite Good At Writing WordPress Plugins!HireWPGeeks Ltd
 

Similar to WordPress Beirut 16th meetup September (20)

Creating Extensible Plugins for WordPress
Creating Extensible Plugins for WordPressCreating Extensible Plugins for WordPress
Creating Extensible Plugins for WordPress
 
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
 
Introducing gutenberg
Introducing gutenbergIntroducing gutenberg
Introducing gutenberg
 
Embracing the Change: How to Win with Gutenberg
Embracing the Change: How to Win with GutenbergEmbracing the Change: How to Win with Gutenberg
Embracing the Change: How to Win with Gutenberg
 
Word press gutenberg tutorial
Word press gutenberg tutorialWord press gutenberg tutorial
Word press gutenberg tutorial
 
Developing Custom WordPress Themes for Clients
Developing Custom WordPress Themes for ClientsDeveloping Custom WordPress Themes for Clients
Developing Custom WordPress Themes for Clients
 
Content Architectures in WordPress 5
Content Architectures in WordPress 5Content Architectures in WordPress 5
Content Architectures in WordPress 5
 
WordPress 101 Saturday Session
WordPress 101 Saturday SessionWordPress 101 Saturday Session
WordPress 101 Saturday Session
 
Wordpress Setup Guide
Wordpress Setup GuideWordpress Setup Guide
Wordpress Setup Guide
 
Word press beirut 12th meetup june
Word press beirut 12th meetup   juneWord press beirut 12th meetup   june
Word press beirut 12th meetup june
 
Power of mu plugins
Power of mu pluginsPower of mu plugins
Power of mu plugins
 
WordPress: After The Install
WordPress: After The InstallWordPress: After The Install
WordPress: After The Install
 
Wordpress beirut 22th meetup april
Wordpress beirut 22th meetup   aprilWordpress beirut 22th meetup   april
Wordpress beirut 22th meetup april
 
Blog Farm Pro Review
Blog Farm Pro ReviewBlog Farm Pro Review
Blog Farm Pro Review
 
10 rocking word press plugins that you might have missed wp-stuffs.com
10 rocking word press plugins that you might have missed   wp-stuffs.com10 rocking word press plugins that you might have missed   wp-stuffs.com
10 rocking word press plugins that you might have missed wp-stuffs.com
 
Why you should prefer Blogger
Why you should prefer Blogger Why you should prefer Blogger
Why you should prefer Blogger
 
Angular.js for beginners
Angular.js for beginners Angular.js for beginners
Angular.js for beginners
 
SEO for WordPress Blogs
SEO for WordPress BlogsSEO for WordPress Blogs
SEO for WordPress Blogs
 
Magento 2 Blog Manager
Magento 2 Blog ManagerMagento 2 Blog Manager
Magento 2 Blog Manager
 
ChatGPT Is Quite Good At Writing WordPress Plugins!
ChatGPT Is Quite Good At Writing WordPress Plugins!ChatGPT Is Quite Good At Writing WordPress Plugins!
ChatGPT Is Quite Good At Writing WordPress Plugins!
 

More from 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 mayFadi Nicolas Zahhar
 
Word press beirut 21st meetup march
Word press beirut 21st meetup   marchWord press beirut 21st meetup   march
Word press beirut 21st meetup marchFadi Nicolas Zahhar
 
Wordpress Beirut 21th meetup February
Wordpress Beirut 21th meetup   FebruaryWordpress Beirut 21th meetup   February
Wordpress Beirut 21th meetup FebruaryFadi 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 2019Fadi 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ölzlFadi Nicolas Zahhar
 
Word press beirut 17th meetup october
Word press beirut 17th meetup   octoberWord press beirut 17th meetup   october
Word press beirut 17th meetup octoberFadi 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 ThemeFadi Nicolas Zahhar
 
WordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a ThemeWordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a ThemeFadi Nicolas Zahhar
 
Word press beirut 14th meetup July
Word press beirut 14th meetup JulyWord press beirut 14th meetup July
Word press beirut 14th meetup JulyFadi 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 pluginFadi 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 - 2018Fadi Nicolas Zahhar
 
Word press beirut 11th meetup may
Word press beirut 11th meetup   mayWord press beirut 11th meetup   may
Word press beirut 11th meetup mayFadi Nicolas Zahhar
 
Word press beirut 9th meetup march
Word press beirut 9th meetup   marchWord press beirut 9th meetup   march
Word press beirut 9th meetup marchFadi Nicolas Zahhar
 

More from Fadi Nicolas Zahhar (19)

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
 
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
 
Wordpress Beirut 21th meetup February
Wordpress Beirut 21th meetup   FebruaryWordpress Beirut 21th meetup   February
Wordpress Beirut 21th meetup February
 
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 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 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
 
Word press beirut 9th meetup march
Word press beirut 9th meetup   marchWord press beirut 9th meetup   march
Word press beirut 9th meetup march
 

Recently uploaded

Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
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 Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 

Recently uploaded (20)

Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
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 Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

WordPress Beirut 16th meetup September

  • 1. WordPress Beirut 16th Meetup - September 7:00 - Mingle/Networking/coffee/Hello 7:10 - Intro 7:15 - How Gutenberg will Change WordPress 8:00 - Break 8:15 - WordPress Performance 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 2017 ● Volunteering to build website for NGOs ● In 1 day ● 30+ volunteer ● 3 websites created ● We will announce new one soon
  • 8. do_action Beirut 2018 Saturday 20th of October 8:00am to 8:00pm ● Saida or Beirut ● Co-organizers and Volunteers: ○ Ghassan Hashem ○ Hiyam Matar ○ Rani Barbir ○ Mohamed Farhat ● NGOs ● Event day volunteers
  • 9. You can Help: ● Speak at meetup (45min) ○ No level of experience ○ Your Story with WP ○ SEO topic ○ Business & Freelance ○ Content & branding ● Suggest ideas/topics ● Spread the word ● Start a meetup
  • 12. Softwares claims WYSIWYG in 90’s ● Fireworks ● Dreamweaver ● Flash ● Front Page WYSIWYG
  • 13. Wordpress WYSIWYG ● Is it a true WYSIWYG! WYSIWYG
  • 14. Wordpress WYSIWYG ● It is another lie! ● We can call it what you see is why you get without the header, or footer or sidebar or any option in the theme only content… bla bla bla. WYSIWYG
  • 15. Wordpress is old 15 Years ago. ● Used for old screens ● Today, we have Laptops, Tablets, Mobile, VR WYSIWYG
  • 16. Purpose ● Provide users with a more modern toolset ● Allowing for greater freedom Aims ● To transform the core content editing system Is Not ● Looking to make the entirety of wordpress into a drag-and-drop builder. Purpose, Aims and what is not Gutenberg
  • 17. Blocks and Embeds ● The new blocks contain many of the old favorites when it comes to content: text, images, galleries, hero images, corresponding service embeds, and more. In addition, new blocks can be easily created, allowing developers to give clients highly customized building blocks for their own site. Blocks and Embeds Developers would previously have been required to create any page-specific templates, but these can now be created by most users.
  • 18. Possibilities Imagine defining a whole page template as a set of default blocks, ready to be filled once the user creates a page. (Matias Ventura) You can feed in a template of wordpress. Contextual Enhancements Yoast is trying to put notifications into blocks and tell you if they are good for SEO or not.
  • 19. Possibilities Gutenberg aims to give developers a way to define and protect structural markup and their design while giving users the ability to directly edit the information intuitively. (Matias Ventura) You can feed in a template of wordpress. Be your own builder https://wordpress.org/gutenberg/files/2018/07/Insert- Block-2-1.gif https://wordpress.org/gutenberg/files/2018/08/Builder.gi f
  • 20. Possibilities ● Layout Selector ● Repeatable Block ● The web won’t be a rectanglar screen, in the future will be in all view, and then possible VR. Gutenberg have the possibility for that, since it is a block concept.
  • 21. Warning for WP 5.0 ● Metaboxes won’t be the same ● Which plugins need updating for Gutenberg? ○ Custom post types ○ Complex metaboxes ○ Shortcodes ○ Editor featuers How to Prepare Your Plugins for WordPress Gutenberg Simple metaboxes should work with Gutenberg out of the box, although they will be displayed differently. However, if you have complex Metaboxes such as the one in the Yoast SEO plugin, then you'll have to test it against Gutenberg and maybe create a new one just for Gutenberg.
  • 22. Support or do not support this is the question! ● Support Gutenberg ● Disable Gutenberg Two approaches no third. Supporting Gutenberg would mean that we will put extra effort into refactoring our code (maybe even duplicating some) so that our plugin users won't have any difficulty using it..
  • 23. Disabling Gutenberg ● Completely ● Per Post Type How to Disable Gutenberg We can disable Gutenberg completely or only where our plugin is being used. In this section, I will take my own plugin "Simple Giveaways" that has a custom post type and also metaboxes.
  • 24. Disabling Gutenberg ● Completely <?php add_filter( 'gutenberg_can_edit_post_type', '__return_false' ); Disabling Gutenberg Completely This is something I would not recommend doing from your plugin. Instead, you might want to inform your plugin users with an admin notice that your plugin doesn't work with Gutenberg so that they can revert back to the Classic Editor. Reverting can be done by installing the plugin Classic Editor. This filter can be found in the function gutenberg_can_edit_post_type which is used to check if Gutenberg can be loaded on that particular post type. If we always return false, then it means that we won't support Gutenberg at all.
  • 25. Disabling Gutenberg ● Per Post Type <?php $args = array( 'label' => __( 'Simple Giveaways', 'giveasap' ), 'labels' => $labels, 'supports' => array( 'title', //'editor', Disabling Gutenberg 'thumbnail', ), 'hierarchical' => false, // ... ); register_post_type( 'giveasap', $args ); Disabling Gutenberg per Post Type If your plugin has a custom post type, then you may want to disable Gutenberg for that particular post type. To disable Gutenberg for your custom post type, you can just change your post type configuration. Maybe you need the editor but you don't need it in the REST API? Gutenberg won't load if you don't support the REST API. Similarly to the above example, we will do that in the post type configuration. <?php $args = array( 'label' => __( 'Simple Giveaways', 'giveasap' ), // ... 'show_in_rest' => false, // Disable Gutenberg // ... ); register_post_type( 'giveasap',
  • 26. Disabling Gutenberg ● Per Post Type <?php add_filter( 'gutenberg_can_edit_post_type', function( $can_edit, $post_type ){ if ( $can_edit && 'giveasap' === $post_type ) { return false; } return $can_edit; }, 20, 2 ); Disabling Gutenberg per Post Type We can use the previously mentioned filter to disable Gutenberg only for our custom post type. With this code, we are checking if we are on our custom post type. If we are, then just return false. This won't affect any other post types.
  • 27. Disabling Gutenberg ● With Metaboxes <?php add_meta_box( 'giveasap_users', __( 'Users', 'giveasap' ), 'giveasap_metabox_users', array( 'giveasap' ), 'side', 'high', array( // Not Compatible. Disable Gutenberg. '__block_editor_compatible_meta_box' => false, ) ); Disabling Gutenberg With Metaboxes If you have complex metaboxes, maybe it would take too long for you to create a version of your plugin that could support Gutenberg. If that's the case, you can disable Gutenberg until you have something that works with Gutenberg.
  • 28. Support Gutenberg ● What is Static Block ● What is Dynamic Block ● Demo in writing gutenberg Block ● Introduction video: https://www.youtube.com/watc h?v=yXBTE2hBnII ● Demo Repository: https://github.com/wpbeirut/Un derstanding_Gutenberg_Plugin How to Support Gutenberg Work on making new blocks for your shortcodes and even widgets. Create Static and dynamic blocks.

Editor's Notes

  1. Send co-organizers do_action documentation and resources - by Ali