SlideShare a Scribd company logo
Keeping Themes and
Plugins Organized
Jacob Martella
@ViewFromTheBox
Who I am
• Always wanted to be a sports
journalist
• Worked in sports at The Daily
Texan
• Graduated from the University of
Texas at Austin with Journalism
degree
• Covered the 2016 Rio de Janeiro
Olympics
What I do with WordPress
• Started working with WordPress
in 2009
• Created a custom theme for
arena football website
• Four Themes and Four Plugins
in their respective WordPress
directories
• Web Developer for Faith
Growth for four years
• Now web developer at UNT HSC
Keeping Your Themes and Plugins Organized
Theme Definition
• A WordPress Theme is a collection of files that work together to
produce a graphical interface with an underlying unifying design
for a weblog. A Theme modifies the way the site is displayed,
without modifying the underlying software.
• - WordPress Codex
Plugin Definition
• A plugin is a piece of software containing a group of functions that
can be added to a WordPress website. They can extend
functionality or add new features to your WordPress websites.
WordPress plugins are written in the PHP programming language
and integrate seamlessly with WordPress.
• - WPBeginner
Simplified Definitions
• Themes control the design and
look of the front end of your
WordPress website.
• Ex. Genesis, Twentysixteen
• Plugins add functionality to
your website.
• Ex. Jetpack, Yoast SEO,
Gravity Forms
Simplified Definitions
• Themes = Design
• Plugins = Functionality
Example: Office Responsive Business Theme
Example: Office Responsive Business Theme
• Really good design.
• But it adds in functionality that shouldn’t be in a theme.
• Adds seven custom post types. All that data will be “lost” if the
user changes themes.
How do you fix this?
• Create a functionality plugin
• Bundle with the theme
• Add all of the code for custom post types, custom taxonomies, Gutenberg
blocks, etc.
• Keeps the data on the site even if the user switches themes
What can you take away from this?
Key Takeaways
• Developers: if you want to put a plugin or theme inside the
respective WordPress repo, make sure it follows the
design/functionality guidelines.
• Bloggers and business people: Check your themes to see if they
add functionality. Be wary if it does.
• If it does add functionality and you still want to use it, create a
custom plugin and move the functionality code into it.
Child Themes and Custom Plugins
Case Study: Lawrenceville Presbyterian
• Had a developer who built website based off of one of the default
themes.
• Church volunteer updated everything — WordPress, Plugins,
Themes.
• All of the changes were overwritten effectively making the front
end unusable.
• Situation could have been avoided if the original developer had
used a child theme.
Child Themes
• A child theme is a theme that inherits the functionality and styling
of another theme, called the parent theme.
• Allows users to make changes to styles and template parts without
the fear of losing the changes when a theme update is released.
• Very simple to set up.
Child Theme Example: Genesis
• Genesis is a theme
framework that makes
building child themes easier.
• All of the themes found on
StudioPress
(https://my.studiopress.com
/themes/) are child themes
of Genesis.
Creating a Child Theme
• Need three things: child theme directory, functions.php file and
style.css file.
• Functions.php file:
• add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );
function enqueue_parent_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
}
Creating a Child Theme
• Style.css file:
• /*
Theme Name: Child Theme Name
Theme Description:
Author:
Template: theme-slug
Version: 1.0.0
*/
• Links to more info:
• https://www.smashingmagazine.com/2016/01/create-customize-
wordpress-child-theme/
Additional CSS Option
• In WordPress 4.7, an “Additional CSS” option was added to the
Customizer.
• Works great for small CSS fixes.
• For more customizations, use a child theme.
Custom Plugins
• Custom plugins, or functionality plugins, can act as an extra
functions.php file.
• Custom plugins are a great place to put code that changes
WordPress.
• Examples
• Create custom post types
• Create custom taxonomies
• Add logo to login
• Gutenberg Blocks
• Etc.
• Code here won’t change when you change themes.
• Very simple to create.
Creating a custom plugin
• Only two things are needed: plugin directory and a PHP file.
• The PHP file needs to be the same name as the directory.
• Example
• Plugin directory: jm-portfolio-customizations
• Main PHP file: jm-portfolio-customizations.php
• You can have more than one file in you plugin. Will need to call
those files from the main plugin PHP file.
Creating a Custom Plugin
• Plugin PHP file
• /*
Plugin Name: JM Portfolio Customizations
Plugin URI: https://www.jacobmartella.com/
Description: A place for all of the plugin customizations for my portfolio
site.
Version: 1.0
Author: Jacob Martella
Author URI: http://www.jacobmartella.com
License: GPLv3
Text Domain: jm-portfolio-customizations
*/
• Rest of your code follows.
Questions?
Contact Info
• Twitter: @ViewFromTheBox
• Website: https://jacobmartella.com
• LinkedIn: https://www.linkedin.com/in/jacob-martella/
• WordPress: @ArenaPigskin

More Related Content

What's hot

Child themes
Child themesChild themes
Child themes
bobwlsn
 
WP 101 - WordPress Basics
WP 101 - WordPress BasicsWP 101 - WordPress Basics
WP 101 - WordPress Basics
Joe Querin
 
Child Themes and CSS in WordPress
Child Themes and CSS in WordPressChild Themes and CSS in WordPress
Child Themes and CSS in WordPress
Matthew Vaccaro
 
Custom Menu Support for WordPress Themes
Custom Menu Support for WordPress ThemesCustom Menu Support for WordPress Themes
Custom Menu Support for WordPress Themes
DaisyOlsen
 
WP101 - Themes and Plugins
WP101 - Themes and PluginsWP101 - Themes and Plugins
WP101 - Themes and Plugins
Joe Querin
 
WP 101 - Custom Fields & Post Types
WP 101 - Custom Fields & Post TypesWP 101 - Custom Fields & Post Types
WP 101 - Custom Fields & Post Types
Joe Querin
 
Meetup child-themes
Meetup child-themesMeetup child-themes
Meetup child-themes
DaisyOlsen
 
Websites With Wordpress
Websites With WordpressWebsites With Wordpress
Websites With Wordpress
Charly Leetham
 
Week 9 - Introduction to Child Themes
Week 9  - Introduction to Child ThemesWeek 9  - Introduction to Child Themes
Week 9 - Introduction to Child Themes
henri_makembe
 
Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015
Joe Querin
 
Installing WordPress The Right Way
Installing WordPress The Right WayInstalling WordPress The Right Way
Installing WordPress The Right Way
Chris Burgess
 
Intro to WordPress Child Themes (NERDS Sept 2014)
Intro to WordPress Child Themes (NERDS Sept 2014)Intro to WordPress Child Themes (NERDS Sept 2014)
Intro to WordPress Child Themes (NERDS Sept 2014)
Kelly Dwan
 
Newspapers with WordPress
Newspapers with WordPressNewspapers with WordPress
Newspapers with WordPress
Christopher Ross
 
Week 11 - Hosting and Migration
Week 11 - Hosting and MigrationWeek 11 - Hosting and Migration
Week 11 - Hosting and Migration
henri_makembe
 
WordPress Template Hierarchy
WordPress Template HierarchyWordPress Template Hierarchy
WordPress Template Hierarchy
Sarah Whinnem
 
Taking WordPress as a CMS, to the Limit
Taking WordPress as a CMS, to the LimitTaking WordPress as a CMS, to the Limit
Taking WordPress as a CMS, to the Limit
Josh Guffey
 
Theme frameworks & child themes
Theme frameworks & child themesTheme frameworks & child themes
Theme frameworks & child themes
Chris Olbekson
 
WordPress Template hierarchy
WordPress Template hierarchyWordPress Template hierarchy
WordPress Template hierarchy
Jason Yingling
 
A Custom Drupal Theme in 40 Minutes
A Custom Drupal Theme in 40 MinutesA Custom Drupal Theme in 40 Minutes
A Custom Drupal Theme in 40 Minutes
Snake Hill Web Agency
 
Anatomy and Architecture of a WordPress Theme
Anatomy and Architecture of a WordPress ThemeAnatomy and Architecture of a WordPress Theme
Anatomy and Architecture of a WordPress Theme
Julie Kuehl
 

What's hot (20)

Child themes
Child themesChild themes
Child themes
 
WP 101 - WordPress Basics
WP 101 - WordPress BasicsWP 101 - WordPress Basics
WP 101 - WordPress Basics
 
Child Themes and CSS in WordPress
Child Themes and CSS in WordPressChild Themes and CSS in WordPress
Child Themes and CSS in WordPress
 
Custom Menu Support for WordPress Themes
Custom Menu Support for WordPress ThemesCustom Menu Support for WordPress Themes
Custom Menu Support for WordPress Themes
 
WP101 - Themes and Plugins
WP101 - Themes and PluginsWP101 - Themes and Plugins
WP101 - Themes and Plugins
 
WP 101 - Custom Fields & Post Types
WP 101 - Custom Fields & Post TypesWP 101 - Custom Fields & Post Types
WP 101 - Custom Fields & Post Types
 
Meetup child-themes
Meetup child-themesMeetup child-themes
Meetup child-themes
 
Websites With Wordpress
Websites With WordpressWebsites With Wordpress
Websites With Wordpress
 
Week 9 - Introduction to Child Themes
Week 9  - Introduction to Child ThemesWeek 9  - Introduction to Child Themes
Week 9 - Introduction to Child Themes
 
Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015Responsive Theme Workshop - WordCamp Columbus 2015
Responsive Theme Workshop - WordCamp Columbus 2015
 
Installing WordPress The Right Way
Installing WordPress The Right WayInstalling WordPress The Right Way
Installing WordPress The Right Way
 
Intro to WordPress Child Themes (NERDS Sept 2014)
Intro to WordPress Child Themes (NERDS Sept 2014)Intro to WordPress Child Themes (NERDS Sept 2014)
Intro to WordPress Child Themes (NERDS Sept 2014)
 
Newspapers with WordPress
Newspapers with WordPressNewspapers with WordPress
Newspapers with WordPress
 
Week 11 - Hosting and Migration
Week 11 - Hosting and MigrationWeek 11 - Hosting and Migration
Week 11 - Hosting and Migration
 
WordPress Template Hierarchy
WordPress Template HierarchyWordPress Template Hierarchy
WordPress Template Hierarchy
 
Taking WordPress as a CMS, to the Limit
Taking WordPress as a CMS, to the LimitTaking WordPress as a CMS, to the Limit
Taking WordPress as a CMS, to the Limit
 
Theme frameworks & child themes
Theme frameworks & child themesTheme frameworks & child themes
Theme frameworks & child themes
 
WordPress Template hierarchy
WordPress Template hierarchyWordPress Template hierarchy
WordPress Template hierarchy
 
A Custom Drupal Theme in 40 Minutes
A Custom Drupal Theme in 40 MinutesA Custom Drupal Theme in 40 Minutes
A Custom Drupal Theme in 40 Minutes
 
Anatomy and Architecture of a WordPress Theme
Anatomy and Architecture of a WordPress ThemeAnatomy and Architecture of a WordPress Theme
Anatomy and Architecture of a WordPress Theme
 

Similar to Keeping Your Themes and Plugins Organized.

Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016
David Brattoli
 
Newbies guide to customizing word press themes 25
Newbies guide to customizing word press themes 25Newbies guide to customizing word press themes 25
Newbies guide to customizing word press themes 25
New Tricks
 
Word press bootcamp By Sourcescript Innovations and Mentors Dojo
Word press bootcamp  By Sourcescript Innovations and Mentors DojoWord press bootcamp  By Sourcescript Innovations and Mentors Dojo
Word press bootcamp By Sourcescript Innovations and Mentors Dojo
lightshire
 
WordPress Complete Tutorial
WordPress Complete TutorialWordPress Complete Tutorial
WordPress Complete Tutorial
OpenSource Technologies Pvt. Ltd.
 
Wordpress theme development
Wordpress theme developmentWordpress theme development
Wordpress theme development
Naeem Junejo
 
WordPress Intermediate Workshop
WordPress Intermediate WorkshopWordPress Intermediate Workshop
WordPress Intermediate Workshop
The Toolbox, Inc.
 
The WordPress University
The WordPress UniversityThe WordPress University
The WordPress University
Stephanie Leary
 
April 2016 - Atlanta WordPress Users Group - Child Themes
April 2016 - Atlanta WordPress Users Group - Child ThemesApril 2016 - Atlanta WordPress Users Group - Child Themes
April 2016 - Atlanta WordPress Users Group - Child Themes
Eric Sembrat
 
WordPress - Open Source Overview Presentation
WordPress - Open Source Overview PresentationWordPress - Open Source Overview Presentation
WordPress - Open Source Overview Presentation
Andy Stratton
 
Rockford WordPress Meetup - Child Themes
Rockford WordPress Meetup - Child ThemesRockford WordPress Meetup - Child Themes
Rockford WordPress Meetup - Child Themes
Andrew Wikel
 
From WordPress With Love
From WordPress With LoveFrom WordPress With Love
From WordPress With Love
Up2 Technology
 
Intro to child themes
Intro to child themesIntro to child themes
Intro to child themes
vegasgeek
 
Customizing WordPress Themes
Customizing WordPress ThemesCustomizing WordPress Themes
Customizing WordPress Themes
Domestic Equity Studio
 
WordPress Theme Basics
WordPress Theme BasicsWordPress Theme Basics
WordPress Theme Basics
Jen Jamar
 
Starting WordPress Theme Review
Starting WordPress Theme ReviewStarting WordPress Theme Review
Starting WordPress Theme Review
Catch Themes
 
MCC Web Design Workshop
MCC Web Design WorkshopMCC Web Design Workshop
MCC Web Design Workshop
Faye Tandog
 
WCBos13 intermediate workshop
WCBos13 intermediate workshopWCBos13 intermediate workshop
WCBos13 intermediate workshop
Boston WordPress
 
Wordpress website development
Wordpress website developmentWordpress website development
Wordpress website development
John Faust
 
The Genesis Framework: Hooks & Filters for Theme Development
The Genesis Framework: Hooks & Filters for Theme DevelopmentThe Genesis Framework: Hooks & Filters for Theme Development
The Genesis Framework: Hooks & Filters for Theme Development
Sarah Moyer
 
Wordpress overview
Wordpress overviewWordpress overview
Wordpress overview
Plasterdog Web Design
 

Similar to Keeping Your Themes and Plugins Organized. (20)

Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016Responsive themeworkshop wcneo2016
Responsive themeworkshop wcneo2016
 
Newbies guide to customizing word press themes 25
Newbies guide to customizing word press themes 25Newbies guide to customizing word press themes 25
Newbies guide to customizing word press themes 25
 
Word press bootcamp By Sourcescript Innovations and Mentors Dojo
Word press bootcamp  By Sourcescript Innovations and Mentors DojoWord press bootcamp  By Sourcescript Innovations and Mentors Dojo
Word press bootcamp By Sourcescript Innovations and Mentors Dojo
 
WordPress Complete Tutorial
WordPress Complete TutorialWordPress Complete Tutorial
WordPress Complete Tutorial
 
Wordpress theme development
Wordpress theme developmentWordpress theme development
Wordpress theme development
 
WordPress Intermediate Workshop
WordPress Intermediate WorkshopWordPress Intermediate Workshop
WordPress Intermediate Workshop
 
The WordPress University
The WordPress UniversityThe WordPress University
The WordPress University
 
April 2016 - Atlanta WordPress Users Group - Child Themes
April 2016 - Atlanta WordPress Users Group - Child ThemesApril 2016 - Atlanta WordPress Users Group - Child Themes
April 2016 - Atlanta WordPress Users Group - Child Themes
 
WordPress - Open Source Overview Presentation
WordPress - Open Source Overview PresentationWordPress - Open Source Overview Presentation
WordPress - Open Source Overview Presentation
 
Rockford WordPress Meetup - Child Themes
Rockford WordPress Meetup - Child ThemesRockford WordPress Meetup - Child Themes
Rockford WordPress Meetup - Child Themes
 
From WordPress With Love
From WordPress With LoveFrom WordPress With Love
From WordPress With Love
 
Intro to child themes
Intro to child themesIntro to child themes
Intro to child themes
 
Customizing WordPress Themes
Customizing WordPress ThemesCustomizing WordPress Themes
Customizing WordPress Themes
 
WordPress Theme Basics
WordPress Theme BasicsWordPress Theme Basics
WordPress Theme Basics
 
Starting WordPress Theme Review
Starting WordPress Theme ReviewStarting WordPress Theme Review
Starting WordPress Theme Review
 
MCC Web Design Workshop
MCC Web Design WorkshopMCC Web Design Workshop
MCC Web Design Workshop
 
WCBos13 intermediate workshop
WCBos13 intermediate workshopWCBos13 intermediate workshop
WCBos13 intermediate workshop
 
Wordpress website development
Wordpress website developmentWordpress website development
Wordpress website development
 
The Genesis Framework: Hooks & Filters for Theme Development
The Genesis Framework: Hooks & Filters for Theme DevelopmentThe Genesis Framework: Hooks & Filters for Theme Development
The Genesis Framework: Hooks & Filters for Theme Development
 
Wordpress overview
Wordpress overviewWordpress overview
Wordpress overview
 

Recently uploaded

Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
Ayan Halder
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 

Recently uploaded (20)

Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 

Keeping Your Themes and Plugins Organized.

  • 1. Keeping Themes and Plugins Organized Jacob Martella @ViewFromTheBox
  • 2. Who I am • Always wanted to be a sports journalist • Worked in sports at The Daily Texan • Graduated from the University of Texas at Austin with Journalism degree • Covered the 2016 Rio de Janeiro Olympics
  • 3. What I do with WordPress • Started working with WordPress in 2009 • Created a custom theme for arena football website • Four Themes and Four Plugins in their respective WordPress directories • Web Developer for Faith Growth for four years • Now web developer at UNT HSC
  • 4. Keeping Your Themes and Plugins Organized
  • 5. Theme Definition • A WordPress Theme is a collection of files that work together to produce a graphical interface with an underlying unifying design for a weblog. A Theme modifies the way the site is displayed, without modifying the underlying software. • - WordPress Codex
  • 6. Plugin Definition • A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. • - WPBeginner
  • 7. Simplified Definitions • Themes control the design and look of the front end of your WordPress website. • Ex. Genesis, Twentysixteen • Plugins add functionality to your website. • Ex. Jetpack, Yoast SEO, Gravity Forms
  • 8. Simplified Definitions • Themes = Design • Plugins = Functionality
  • 9. Example: Office Responsive Business Theme
  • 10. Example: Office Responsive Business Theme • Really good design. • But it adds in functionality that shouldn’t be in a theme. • Adds seven custom post types. All that data will be “lost” if the user changes themes.
  • 11. How do you fix this? • Create a functionality plugin • Bundle with the theme • Add all of the code for custom post types, custom taxonomies, Gutenberg blocks, etc. • Keeps the data on the site even if the user switches themes
  • 12. What can you take away from this?
  • 13. Key Takeaways • Developers: if you want to put a plugin or theme inside the respective WordPress repo, make sure it follows the design/functionality guidelines. • Bloggers and business people: Check your themes to see if they add functionality. Be wary if it does. • If it does add functionality and you still want to use it, create a custom plugin and move the functionality code into it.
  • 14. Child Themes and Custom Plugins
  • 15. Case Study: Lawrenceville Presbyterian • Had a developer who built website based off of one of the default themes. • Church volunteer updated everything — WordPress, Plugins, Themes. • All of the changes were overwritten effectively making the front end unusable. • Situation could have been avoided if the original developer had used a child theme.
  • 16. Child Themes • A child theme is a theme that inherits the functionality and styling of another theme, called the parent theme. • Allows users to make changes to styles and template parts without the fear of losing the changes when a theme update is released. • Very simple to set up.
  • 17. Child Theme Example: Genesis • Genesis is a theme framework that makes building child themes easier. • All of the themes found on StudioPress (https://my.studiopress.com /themes/) are child themes of Genesis.
  • 18. Creating a Child Theme • Need three things: child theme directory, functions.php file and style.css file. • Functions.php file: • add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' ); function enqueue_parent_styles() { wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' ); }
  • 19. Creating a Child Theme • Style.css file: • /* Theme Name: Child Theme Name Theme Description: Author: Template: theme-slug Version: 1.0.0 */ • Links to more info: • https://www.smashingmagazine.com/2016/01/create-customize- wordpress-child-theme/
  • 20. Additional CSS Option • In WordPress 4.7, an “Additional CSS” option was added to the Customizer. • Works great for small CSS fixes. • For more customizations, use a child theme.
  • 21. Custom Plugins • Custom plugins, or functionality plugins, can act as an extra functions.php file. • Custom plugins are a great place to put code that changes WordPress. • Examples • Create custom post types • Create custom taxonomies • Add logo to login • Gutenberg Blocks • Etc. • Code here won’t change when you change themes. • Very simple to create.
  • 22. Creating a custom plugin • Only two things are needed: plugin directory and a PHP file. • The PHP file needs to be the same name as the directory. • Example • Plugin directory: jm-portfolio-customizations • Main PHP file: jm-portfolio-customizations.php • You can have more than one file in you plugin. Will need to call those files from the main plugin PHP file.
  • 23. Creating a Custom Plugin • Plugin PHP file • /* Plugin Name: JM Portfolio Customizations Plugin URI: https://www.jacobmartella.com/ Description: A place for all of the plugin customizations for my portfolio site. Version: 1.0 Author: Jacob Martella Author URI: http://www.jacobmartella.com License: GPLv3 Text Domain: jm-portfolio-customizations */ • Rest of your code follows.
  • 25. Contact Info • Twitter: @ViewFromTheBox • Website: https://jacobmartella.com • LinkedIn: https://www.linkedin.com/in/jacob-martella/ • WordPress: @ArenaPigskin