WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!

Evan Mullins
Evan MullinsWordPress Developer at Bluehost
So You Wanna Dev?
Join the Team!
WP Dev/tools for beginners: ftp, git, svn, php, html, css, sass, js, jquery, IDEs,
themes, child themes, the loop, hooks, APIs, CLI, agile, bootstrap, SEO, slack… etc.
WordCamp Asheville 2017 - 3 June 2017
Introductions
Evan Mullins
Lead Web Developer at
Brown Bag Marketing in ATL
@circlecube
circlecube.com
WordPress user since 2006
Full-time web developer since 2007
Slides at https://circlecube.com/does-wordpress/
WP Dev/tools for beginners: ftp, git, svn, php, html, css, sass, js, jquery, IDEs, themes,
child themes, the loop, inspect element, hooks, APIs, CLI, agile, bootstrap, SEO, slack…
etc.
We’ll discuss the language and various acronyms and buzzwords used by devs in this
crash course introduction to the developer’s world. Overview of primary development
processes and terms and what software is needed to play the game. We’ll cover what
you need to go from zero to developer and hopefully how to have fun on the way.
Takeaways:
● Learn to speak dev
● Get familiar with concepts (and acronyms) you’ll need to dev
● Learn about tools that will help you
Caution & Disclaimer
There are lots of slides here,
over 100.
I’m doing my best to be thorough,
but also fast.
I’ll share these slides, slides have
many links.
Let’s start
at the
beginning
The
Internet
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
Tools
Bird’s eye view
Where to code? Editor, Local
What Code? HTML, CSS, SASS, PHP, JS
WordPress concepts: Plugins, Themes, child themes, template hierarchy, The Loop,
Hooks, Customizing WordPress
Version Control, Task Runners
API, CLI, SEO,
Tools: Slack, Local, Codekit, ACF, Migrate DB Pro
Share what you learn!
Text Editor / IDE (integrated development environment)
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
SFTP (secure)File Transfer Protocol
move/copy files to web server
Also SSH
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
Local
MAMP, WAMP, XAMP, AMPPS
VVV
Varying Vagrant
Vagrants
Local
Local by Flywheel
Docker
HTML
What is HTML?
Resources:
● W3
● HTML5 For Designers
● How to Code in HTML
● MDN: Learning Web Development
● Khan: HTML
● Codecademy: HTML
● HTML5 Cheatsheet
HTML - The Source
HTML - In Browser
<video> <canvas>
<article> <header>
<section> <main>
<footer> <audio>
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
CSS - Cascading Style Sheets
What is CSS and why do we use it?
Resources:
● W3
● CSS3 For Web Designers
● Learn To Code CSS
● CSS Tricks
● MDN: CSS
● Khan: CSS
● Codecademy: CSS
● CSS Specificity Calculator
● CSS3 Cheatsheet
A CSS rule
CSS Specificity
HTML - The Source
<div id="home">
<div class="content">
<article>
<h2 class="noBottom">Getting someone's attention is one thing.</h2>
<h3 class="noTop">Keeping it is what counts.</h3>
<p>A second may be all the time you've got in today's rapidly changing marketing landscape of diverse audiences,
channels and techniques. Simply put, your brand needs an integrated marketing partner. Brown Bag is fully integrated,
full-service and equipped for the digital and content age - creating experiences that keep your customers' attention while
delivering measurable results that keep yours.</p>
</article>
<div class="buttons">
<a href="https://www.brownbagmarketing.com/infographic/" class="btn btn-orange">Why Integrated Marketing</a>
<a href="https://www.brownbagmarketing.com/contact/" class="btn btn-orange">Work With Us</a>
</div>
</div>
</div>
HTML - In Browser
CSS
CSS
The Box Model
box-sizing: content-box (default) box-sizing: border-box;
CSS3
background-size:
border-radius: grid:
border-box:
flexbox: rgba();
transition:
perspective:
transform:
RWD - Responsive (Web) Design
Responsive Web Design is accomplished with CSS
statements called Media Queries in your stylesheets.css
CSS Grids
Bootstrap
http://getbootstrap.com/
Foundation
http://foundation.zurb.com/
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
PHP: PHP Hypertext Preprocessor
What is PHP and how?
PHP
PHP
PHP
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
SASS
CSS Preprocessors
SASS
LESS
Tedious tasks, let’s let the computer do it for us...
CodeKit
Grunt vs Gulp
javascript
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML
document traversal and manipulation, event handling, animation, and Ajax much
simpler with an easy-to-use API that works across a multitude of browsers. With a
combination of versatility and extensibility, jQuery has changed the way that millions
of people write JavaScript.
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
Beyond jQuery
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordPress is used by
58.9% of websites
with a CMS.
This is 28% of all
websites.
-W3Techs
(as of May 23 2017)
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordPress Theme Editor
Child Theme
Child Theme
A child theme is a theme that inherits the functionality and styling of another theme,
called the parent theme. Child themes are the recommended way of modifying an
existing theme.
● If you modify a theme directly and it is updated, then your modifications may be
lost. By using a child theme you will ensure that your modifications are preserved.
● Using a child theme can speed up development time.
● Using a child theme is a great way to learn about WordPress theme development.
Read More at https://codex.wordpress.org/Child_Themes
Child Theme
The functions file. A file in a theme that doesn’t display
content but houses your php functions.
This is where you place that snippet of code you find
in a forum that will fix all your problems. You add your
own custom php functions or WordPress hooks and
customizations.
Note that this file is tied to the theme, if you’re
someone who switches themes often, you may be
better served creating a function plugin and placing
your code there.
functions.php
Child Theme - style.css
Child Theme - functions.php
Simple PHP Edits
Rearrange elements, remove elements, edit html tags…
If you want to change more than just the stylesheet, your child theme can override any
file in the parent theme: simply include a file of the same name in the child theme
directory, and it will override the equivalent file in the parent theme directory when
your site loads.
But maybe your php edits could be useful to more than just your site?
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
Template Hierarchy
The template hierarchy is the system WordPress uses to identify which template file to
use when displaying a given page on a site.
How does WordPress decides what template to use for each page?
Template Hierarchy
The Loop
The Loop
The Loop is the code
that queries the
database to get your
posts. It will grab them
all at once and loop
through them while
building the page.
The Loop
Note: there are php
methods or Template
Tags that we “must be
within The Loop” in
order to use them.
Hooks
Hooks are provided by
WordPress to allow you to
'hook into' the rest of
WordPress. That is, your
functions hook into
WordPress functions. Then
when the WordPress
functions are called at any
time, it sets your code in
motion.
Hooks
actions
Actions are the hooks that the WordPress core
launches at specific points during execution, or
when specific events occur. Your plugin can specify
that one or more of its PHP functions are executed
at these points, using the Action API.
filters
Filters are the hooks that WordPress launches to
modify text of various types before adding it to the
database or sending it to the browser screen. Your
plugin can specify that one or more of its PHP
functions is executed to modify specific types of
text at these times, using the Filter API.
Still Lost?
Customizing
The Customizer
Custom Post Types
Custom Fields
The Customizer
Custom Post Types
When a simple blog post
won’t work. You can create a
custom post type (CPT) for
anything you can think of,
and when you combine a
CPT with custom fields, you
begin to harness the true
CMS power of WordPress.
Custom Fields
When a big WYSIWYG editor won’t work.
Native Custom Fields Advanced Custom Fields
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
git & svn are version control systems (vcs)
Like the undo button or
history pane in photoshop.
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordPress core
development and
plugin repo uses
SVN.
There’s also a
WordPress mirror
on github.
github.com
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
github
app
sourcetree
API
An application programming
interface (API) is a set of subroutine definitions,
protocols, and tools for building software and
applications. A good API makes it easier to develop a
program by providing all the building blocks, which are
then put together by the programmer.
REST
REpresentational State Transfer
It describes how one system can communicate state with another. One example would
be the state of a product (its name, description etc) represented as JSON. The
generalised idea of state is termed a resource.
WP REST API
JSON
JavaScript Object Notation is a lightweight data-interchange format.
It is easy for humans to read and write. It is easy for machines to parse and generate. It
is a text format that is completely language independent but uses conventions that are
familiar to programmers. These properties make JSON an ideal data-interchange
language.
JSON is built on two structures:
● A collection of name/value pairs. (object).
● An ordered list of values. (array).
Multisite
WP-CLI
#navigate to directory
cd local.project.com
#download wp
wp core download
#set up db creds in config
wp core config --dbname=root --dbuser=root --dbpass=pass
#install wp
wp core install --url=http://local.project.com/ --title=Project Site
--admin_user=emullins --admin_password=********
--admin_email=emullins@brownbagmarketing.com
#create users
wp user create brownbag wordpress@brownbagmarketing.com --user_pass=********
--first_name='Brown Bag' --last_name=Marketing --role=admin
#install plugins
wp plugin activate
#install theme
wp theme install ../path/or/url/to/theme/zip.zip
#activate theme
wp theme activate my-theme
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
SEO
Search Engine Optimization being google-able
On Page: domain name, internal links/navigation, content, freshness, keyword density,
site speed, SSL, etc
Off Page: quantity and quality of inbound links, social media
Out of the box WordPress has many helpful features that make your site search engine
friendly on-page: clean code, content first, crawlability, pretty permalinks, etc.
Plugins can still add more: Yoast, All in One SEO Pack… and more
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
Waterfall Methodology
Slack
Sign up for the
WordPress slack team
Tools & Helpers
Local by Flywheel
Tools & Helpers
CodeKit
Tools & Helpers
Advanced
Custom
Fields
Pro
Tools & Helpers
Migrate DB Pro
Code 101
CODE 101 Success
Now that you know
Help others along the way!
Taylor is a graduate of
our internal Code101 course and
is now part of our dev team!
Want more?
https://premium.wpmudev.org/blog/wordpress-dictionary/
https://developer.mozilla.org/en-US/docs/Web/Guide/Introduction_to_Web_developm
ent
https://www.pluralsight.com/courses/web-development-intro
https://www.codecademy.com/courses/web-beginner-en-TlhFi/0/1
http://www.htmldog.com/guides/
@GoodFirstBugs
Bird’s eye review
Where to code? Editor, Locally
What Code? HTML, CSS, SASS, PHP, JS
WordPress concepts: Plugins, Themes, child themes, template hierarchy, The Loop,
Hooks, Customizing WordPress
Version Control, Task Runners
API, CLI, SEO,
Tools: Slack, Local, Codekit, ACF, Migrate DB Pro
Share what you learn!
Thank You!
Any Questions?
Slides available at https://circlecube.com/does-wordpress/
1 of 111

Recommended

WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development by
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentWordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development
WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to DevelopmentEvan Mullins
356 views124 slides
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 by
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 Evan Mullins
424 views110 slides
Advanced Web Development by
Advanced Web DevelopmentAdvanced Web Development
Advanced Web DevelopmentRobert J. Stein
11.8K views128 slides
Modern Web Development by
Modern Web DevelopmentModern Web Development
Modern Web DevelopmentRobert Nyman
15.4K views95 slides
Web Standards by
Web StandardsWeb Standards
Web StandardsChrisF1502010
2.8K views20 slides
Introduction to HTML5 and CSS3 by
Introduction to HTML5 and CSS3Introduction to HTML5 and CSS3
Introduction to HTML5 and CSS3Chandra S Oemarjadi
1.6K views14 slides

More Related Content

What's hot

Introduction to Web Programming - first course by
Introduction to Web Programming - first courseIntroduction to Web Programming - first course
Introduction to Web Programming - first courseVlad Posea
7.1K views35 slides
Cartegraph Live HTML, CSS, JavaScript and jQuery Training by
Cartegraph Live HTML, CSS, JavaScript and jQuery TrainingCartegraph Live HTML, CSS, JavaScript and jQuery Training
Cartegraph Live HTML, CSS, JavaScript and jQuery TrainingShane Church
2.4K views50 slides
The road to professional web development by
The road to professional web developmentThe road to professional web development
The road to professional web developmentChristian Heilmann
3.4K views137 slides
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development by
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine DevelopmentEECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine DevelopmentFortySeven Media
5.7K views50 slides
An Introduction To HTML5 by
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5Robert Nyman
21.9K views96 slides
Front End Development | Introduction by
Front End Development | IntroductionFront End Development | Introduction
Front End Development | IntroductionJohnTaieb
10.5K views37 slides

What's hot(19)

Introduction to Web Programming - first course by Vlad Posea
Introduction to Web Programming - first courseIntroduction to Web Programming - first course
Introduction to Web Programming - first course
Vlad Posea7.1K views
Cartegraph Live HTML, CSS, JavaScript and jQuery Training by Shane Church
Cartegraph Live HTML, CSS, JavaScript and jQuery TrainingCartegraph Live HTML, CSS, JavaScript and jQuery Training
Cartegraph Live HTML, CSS, JavaScript and jQuery Training
Shane Church2.4K views
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development by FortySeven Media
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine DevelopmentEECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
EECI2009 - From Design to Dynamic - Rapid ExpressionEngine Development
FortySeven Media5.7K views
An Introduction To HTML5 by Robert Nyman
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5
Robert Nyman21.9K views
Front End Development | Introduction by JohnTaieb
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
JohnTaieb10.5K views
php training in hyderabad by php2ranjan
php training in hyderabadphp training in hyderabad
php training in hyderabad
php2ranjan15 views
JavaScript Performance (at SFJS) by Steve Souders
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
Steve Souders22.8K views
A practical guide to building websites with HTML5 & CSS3 by Darren Wood
A practical guide to building websites with HTML5 & CSS3A practical guide to building websites with HTML5 & CSS3
A practical guide to building websites with HTML5 & CSS3
Darren Wood6.9K views
Intro to mobile web application development by zonathen
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
zonathen1.3K views
JavaScript Jump Start 20220214 by Haim Michael
JavaScript Jump Start 20220214JavaScript Jump Start 20220214
JavaScript Jump Start 20220214
Haim Michael65 views
Node.js Crash Course (Jump Start) by Haim Michael
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start)
Haim Michael128 views
HTML5, CSS3, and JavaScript by Zac Gordon
HTML5, CSS3, and JavaScriptHTML5, CSS3, and JavaScript
HTML5, CSS3, and JavaScript
Zac Gordon4K views
ePub 3, HTML 5 & CSS 3 (+ Fixed-Layout) by Clément Wehrung
ePub 3, HTML 5 & CSS 3 (+ Fixed-Layout)ePub 3, HTML 5 & CSS 3 (+ Fixed-Layout)
ePub 3, HTML 5 & CSS 3 (+ Fixed-Layout)
Clément Wehrung35.8K views
Essential Javascript -- A Javascript &lt;b>Tutorial&lt;/b> by tutorialsruby
Essential Javascript -- A Javascript &lt;b>Tutorial&lt;/b>Essential Javascript -- A Javascript &lt;b>Tutorial&lt;/b>
Essential Javascript -- A Javascript &lt;b>Tutorial&lt;/b>
tutorialsruby945 views
HTML 5 Step By Step - Ebook by Scottperrone
HTML 5 Step By Step - EbookHTML 5 Step By Step - Ebook
HTML 5 Step By Step - Ebook
Scottperrone18.3K views
Lotusphere 2012 Speedgeeking - jQuery & Domino, a RAD Combination by Sean Burgess
Lotusphere 2012 Speedgeeking - jQuery & Domino, a RAD CombinationLotusphere 2012 Speedgeeking - jQuery & Domino, a RAD Combination
Lotusphere 2012 Speedgeeking - jQuery & Domino, a RAD Combination
Sean Burgess4.2K views

Similar to WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!

ashish ppt webd.pptx by
ashish ppt webd.pptxashish ppt webd.pptx
ashish ppt webd.pptxashishsaini773461
84 views23 slides
Phase 2 Case Study by
Phase 2 Case StudyPhase 2 Case Study
Phase 2 Case StudyShannon Sand
6 views50 slides
How to Become a Front-end Developer in 2022 | Optymize by
How to Become a Front-end Developer in 2022 | OptymizeHow to Become a Front-end Developer in 2022 | Optymize
How to Become a Front-end Developer in 2022 | OptymizeOptymizeHireRemoteEn
7 views14 slides
ppt of MANOJ KUMAR.pptx by
ppt of MANOJ KUMAR.pptxppt of MANOJ KUMAR.pptx
ppt of MANOJ KUMAR.pptxManojKumar297202
105 views20 slides
Making Of PHP Based Web Application by
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web ApplicationSachin Walvekar
1.9K views32 slides
MVC Frameworks for building PHP Web Applications by
MVC Frameworks for building PHP Web ApplicationsMVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web ApplicationsVforce Infotech
3.9K views65 slides

Similar to WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!(20)

Making Of PHP Based Web Application by Sachin Walvekar
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
Sachin Walvekar1.9K views
MVC Frameworks for building PHP Web Applications by Vforce Infotech
MVC Frameworks for building PHP Web ApplicationsMVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web Applications
Vforce Infotech3.9K views
Seamlessly Transforming HTML And CSS Into A Dynamic WordPress Website by HireWPGeeks Ltd
Seamlessly Transforming HTML And CSS Into A Dynamic WordPress WebsiteSeamlessly Transforming HTML And CSS Into A Dynamic WordPress Website
Seamlessly Transforming HTML And CSS Into A Dynamic WordPress Website
HireWPGeeks Ltd12 views
Plugin development demystified 2017 by ylefebvre
Plugin development demystified 2017Plugin development demystified 2017
Plugin development demystified 2017
ylefebvre1.4K views
State of modern web technologies: an introduction by Michael Ahearn
State of modern web technologies: an introductionState of modern web technologies: an introduction
State of modern web technologies: an introduction
Michael Ahearn624 views
Web development ppt by ParasJain222
Web development pptWeb development ppt
Web development ppt
ParasJain22245.2K views
The Superhero’s Method of Modern HTML5 Development by RapidValue Solutions by RapidValue
The Superhero’s Method of Modern HTML5 Development by RapidValue SolutionsThe Superhero’s Method of Modern HTML5 Development by RapidValue Solutions
The Superhero’s Method of Modern HTML5 Development by RapidValue Solutions
RapidValue623 views
A Complete Guide to Frontend - UI Developer by nariyaravi
A Complete Guide to Frontend - UI DeveloperA Complete Guide to Frontend - UI Developer
A Complete Guide to Frontend - UI Developer
nariyaravi104 views
webdevelopmentppt-210923044639 (1).pptx by learnEnglish51
webdevelopmentppt-210923044639 (1).pptxwebdevelopmentppt-210923044639 (1).pptx
webdevelopmentppt-210923044639 (1).pptx
learnEnglish51101 views
DIPLOMA IN DESIGNING AND WEBSITE DEVELOPMENT by Shri Prakash Pandey
DIPLOMA IN DESIGNING AND WEBSITE DEVELOPMENT DIPLOMA IN DESIGNING AND WEBSITE DEVELOPMENT
DIPLOMA IN DESIGNING AND WEBSITE DEVELOPMENT
Shri Prakash Pandey2.2K views
Extending & Scaling | Dallas PHP by randyhoyt
Extending & Scaling | Dallas PHPExtending & Scaling | Dallas PHP
Extending & Scaling | Dallas PHP
randyhoyt2.2K views
Websites Unlimited - Pay Monthly Websites by websiteunlimited
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websites
websiteunlimited408 views

More from Evan Mullins

WordCamp Atlanta - April 15 2018 - dev team workflow and processes with word... by
WordCamp Atlanta -  April 15 2018 - dev team workflow and processes with word...WordCamp Atlanta -  April 15 2018 - dev team workflow and processes with word...
WordCamp Atlanta - April 15 2018 - dev team workflow and processes with word...Evan Mullins
1.7K views49 slides
Meetup: The big change coming to WordPress in 2018 - Gutenberg by
Meetup: The big change coming to WordPress in 2018 - GutenbergMeetup: The big change coming to WordPress in 2018 - Gutenberg
Meetup: The big change coming to WordPress in 2018 - GutenbergEvan Mullins
176 views106 slides
WordCamp Wilmington 2017 WP-API Why? by
WordCamp Wilmington 2017   WP-API Why?WordCamp Wilmington 2017   WP-API Why?
WordCamp Wilmington 2017 WP-API Why?Evan Mullins
1.9K views101 slides
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything! by
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!Evan Mullins
1.1K views87 slides
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything! by
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!Evan Mullins
1K views51 slides
Modifying your themes design - Learning CSS - Atlanta WordPress users group by
Modifying your themes design - Learning CSS - Atlanta WordPress users groupModifying your themes design - Learning CSS - Atlanta WordPress users group
Modifying your themes design - Learning CSS - Atlanta WordPress users groupEvan Mullins
2.7K views42 slides

More from Evan Mullins(9)

WordCamp Atlanta - April 15 2018 - dev team workflow and processes with word... by Evan Mullins
WordCamp Atlanta -  April 15 2018 - dev team workflow and processes with word...WordCamp Atlanta -  April 15 2018 - dev team workflow and processes with word...
WordCamp Atlanta - April 15 2018 - dev team workflow and processes with word...
Evan Mullins1.7K views
Meetup: The big change coming to WordPress in 2018 - Gutenberg by Evan Mullins
Meetup: The big change coming to WordPress in 2018 - GutenbergMeetup: The big change coming to WordPress in 2018 - Gutenberg
Meetup: The big change coming to WordPress in 2018 - Gutenberg
Evan Mullins176 views
WordCamp Wilmington 2017 WP-API Why? by Evan Mullins
WordCamp Wilmington 2017   WP-API Why?WordCamp Wilmington 2017   WP-API Why?
WordCamp Wilmington 2017 WP-API Why?
Evan Mullins1.9K views
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything! by Evan Mullins
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Birmingham 2016 - WP API, What is it good for? Absolutely Everything!
Evan Mullins1.1K views
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything! by Evan Mullins
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
Evan Mullins1K views
Modifying your themes design - Learning CSS - Atlanta WordPress users group by Evan Mullins
Modifying your themes design - Learning CSS - Atlanta WordPress users groupModifying your themes design - Learning CSS - Atlanta WordPress users group
Modifying your themes design - Learning CSS - Atlanta WordPress users group
Evan Mullins2.7K views
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M... by Evan Mullins
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...
Evan Mullins4.5K views
Firstborn child theme word camp presentation - atlanta 2013 by Evan Mullins
Firstborn child theme   word camp presentation - atlanta 2013Firstborn child theme   word camp presentation - atlanta 2013
Firstborn child theme word camp presentation - atlanta 2013
Evan Mullins4.7K views
From PSD to WP Theme by Evan Mullins
From PSD to WP ThemeFrom PSD to WP Theme
From PSD to WP Theme
Evan Mullins1.3K views

Recently uploaded

DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDeltares
8 views17 slides
360 graden fabriek by
360 graden fabriek360 graden fabriek
360 graden fabriekinfo33492
38 views25 slides
Fleet Management Software in India by
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India Fleetable
11 views1 slide
Airline Booking Software by
Airline Booking SoftwareAirline Booking Software
Airline Booking SoftwareSharmiMehta
6 views26 slides
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... by
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...Deltares
11 views32 slides
WebAssembly by
WebAssemblyWebAssembly
WebAssemblyJens Siebert
48 views18 slides

Recently uploaded(20)

DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info3349238 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
Airline Booking Software by SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta6 views
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... by Deltares
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
Deltares11 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares17 views
Copilot Prompting Toolkit_All Resources.pdf by Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana8 views
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 views
Headless JS UG Presentation.pptx by Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor7 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 views
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... by Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares7 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller37 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik5 views
Myths and Facts About Hospice Care: Busting Common Misconceptions by Care Coordinations
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common Misconceptions
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views
Sprint 226 by ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ5 views
SUGCON ANZ Presentation V2.1 Final.pptx by Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor22 views

WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!

  • 1. So You Wanna Dev? Join the Team! WP Dev/tools for beginners: ftp, git, svn, php, html, css, sass, js, jquery, IDEs, themes, child themes, the loop, hooks, APIs, CLI, agile, bootstrap, SEO, slack… etc. WordCamp Asheville 2017 - 3 June 2017
  • 2. Introductions Evan Mullins Lead Web Developer at Brown Bag Marketing in ATL @circlecube circlecube.com WordPress user since 2006 Full-time web developer since 2007 Slides at https://circlecube.com/does-wordpress/
  • 3. WP Dev/tools for beginners: ftp, git, svn, php, html, css, sass, js, jquery, IDEs, themes, child themes, the loop, inspect element, hooks, APIs, CLI, agile, bootstrap, SEO, slack… etc. We’ll discuss the language and various acronyms and buzzwords used by devs in this crash course introduction to the developer’s world. Overview of primary development processes and terms and what software is needed to play the game. We’ll cover what you need to go from zero to developer and hopefully how to have fun on the way. Takeaways: ● Learn to speak dev ● Get familiar with concepts (and acronyms) you’ll need to dev ● Learn about tools that will help you
  • 4. Caution & Disclaimer There are lots of slides here, over 100. I’m doing my best to be thorough, but also fast. I’ll share these slides, slides have many links.
  • 9. Bird’s eye view Where to code? Editor, Local What Code? HTML, CSS, SASS, PHP, JS WordPress concepts: Plugins, Themes, child themes, template hierarchy, The Loop, Hooks, Customizing WordPress Version Control, Task Runners API, CLI, SEO, Tools: Slack, Local, Codekit, ACF, Migrate DB Pro Share what you learn!
  • 10. Text Editor / IDE (integrated development environment)
  • 14. SFTP (secure)File Transfer Protocol move/copy files to web server Also SSH
  • 18. HTML What is HTML? Resources: ● W3 ● HTML5 For Designers ● How to Code in HTML ● MDN: Learning Web Development ● Khan: HTML ● Codecademy: HTML ● HTML5 Cheatsheet
  • 19. HTML - The Source
  • 20. HTML - In Browser
  • 23. CSS - Cascading Style Sheets What is CSS and why do we use it? Resources: ● W3 ● CSS3 For Web Designers ● Learn To Code CSS ● CSS Tricks ● MDN: CSS ● Khan: CSS ● Codecademy: CSS ● CSS Specificity Calculator ● CSS3 Cheatsheet
  • 26. HTML - The Source <div id="home"> <div class="content"> <article> <h2 class="noBottom">Getting someone's attention is one thing.</h2> <h3 class="noTop">Keeping it is what counts.</h3> <p>A second may be all the time you've got in today's rapidly changing marketing landscape of diverse audiences, channels and techniques. Simply put, your brand needs an integrated marketing partner. Brown Bag is fully integrated, full-service and equipped for the digital and content age - creating experiences that keep your customers' attention while delivering measurable results that keep yours.</p> </article> <div class="buttons"> <a href="https://www.brownbagmarketing.com/infographic/" class="btn btn-orange">Why Integrated Marketing</a> <a href="https://www.brownbagmarketing.com/contact/" class="btn btn-orange">Work With Us</a> </div> </div> </div>
  • 27. HTML - In Browser
  • 28. CSS
  • 29. CSS
  • 30. The Box Model box-sizing: content-box (default) box-sizing: border-box;
  • 32. RWD - Responsive (Web) Design
  • 33. Responsive Web Design is accomplished with CSS statements called Media Queries in your stylesheets.css
  • 40. PHP: PHP Hypertext Preprocessor What is PHP and how?
  • 41. PHP
  • 42. PHP
  • 43. PHP
  • 45. SASS
  • 46. CSS Preprocessors SASS LESS Tedious tasks, let’s let the computer do it for us...
  • 51. jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.
  • 58. WordPress is used by 58.9% of websites with a CMS. This is 28% of all websites. -W3Techs (as of May 23 2017)
  • 64. Child Theme A child theme is a theme that inherits the functionality and styling of another theme, called the parent theme. Child themes are the recommended way of modifying an existing theme. ● If you modify a theme directly and it is updated, then your modifications may be lost. By using a child theme you will ensure that your modifications are preserved. ● Using a child theme can speed up development time. ● Using a child theme is a great way to learn about WordPress theme development. Read More at https://codex.wordpress.org/Child_Themes
  • 66. The functions file. A file in a theme that doesn’t display content but houses your php functions. This is where you place that snippet of code you find in a forum that will fix all your problems. You add your own custom php functions or WordPress hooks and customizations. Note that this file is tied to the theme, if you’re someone who switches themes often, you may be better served creating a function plugin and placing your code there. functions.php
  • 67. Child Theme - style.css
  • 68. Child Theme - functions.php
  • 69. Simple PHP Edits Rearrange elements, remove elements, edit html tags… If you want to change more than just the stylesheet, your child theme can override any file in the parent theme: simply include a file of the same name in the child theme directory, and it will override the equivalent file in the parent theme directory when your site loads. But maybe your php edits could be useful to more than just your site?
  • 71. Template Hierarchy The template hierarchy is the system WordPress uses to identify which template file to use when displaying a given page on a site. How does WordPress decides what template to use for each page?
  • 74. The Loop The Loop is the code that queries the database to get your posts. It will grab them all at once and loop through them while building the page.
  • 75. The Loop Note: there are php methods or Template Tags that we “must be within The Loop” in order to use them.
  • 76. Hooks Hooks are provided by WordPress to allow you to 'hook into' the rest of WordPress. That is, your functions hook into WordPress functions. Then when the WordPress functions are called at any time, it sets your code in motion.
  • 77. Hooks actions Actions are the hooks that the WordPress core launches at specific points during execution, or when specific events occur. Your plugin can specify that one or more of its PHP functions are executed at these points, using the Action API. filters Filters are the hooks that WordPress launches to modify text of various types before adding it to the database or sending it to the browser screen. Your plugin can specify that one or more of its PHP functions is executed to modify specific types of text at these times, using the Filter API. Still Lost?
  • 80. Custom Post Types When a simple blog post won’t work. You can create a custom post type (CPT) for anything you can think of, and when you combine a CPT with custom fields, you begin to harness the true CMS power of WordPress.
  • 81. Custom Fields When a big WYSIWYG editor won’t work.
  • 82. Native Custom Fields Advanced Custom Fields
  • 84. git & svn are version control systems (vcs) Like the undo button or history pane in photoshop.
  • 86. WordPress core development and plugin repo uses SVN. There’s also a WordPress mirror on github.
  • 91. API An application programming interface (API) is a set of subroutine definitions, protocols, and tools for building software and applications. A good API makes it easier to develop a program by providing all the building blocks, which are then put together by the programmer.
  • 92. REST REpresentational State Transfer It describes how one system can communicate state with another. One example would be the state of a product (its name, description etc) represented as JSON. The generalised idea of state is termed a resource.
  • 94. JSON JavaScript Object Notation is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is a text format that is completely language independent but uses conventions that are familiar to programmers. These properties make JSON an ideal data-interchange language. JSON is built on two structures: ● A collection of name/value pairs. (object). ● An ordered list of values. (array).
  • 97. #navigate to directory cd local.project.com #download wp wp core download #set up db creds in config wp core config --dbname=root --dbuser=root --dbpass=pass #install wp wp core install --url=http://local.project.com/ --title=Project Site --admin_user=emullins --admin_password=******** --admin_email=emullins@brownbagmarketing.com #create users wp user create brownbag wordpress@brownbagmarketing.com --user_pass=******** --first_name='Brown Bag' --last_name=Marketing --role=admin #install plugins wp plugin activate #install theme wp theme install ../path/or/url/to/theme/zip.zip #activate theme wp theme activate my-theme
  • 99. SEO Search Engine Optimization being google-able On Page: domain name, internal links/navigation, content, freshness, keyword density, site speed, SSL, etc Off Page: quantity and quality of inbound links, social media Out of the box WordPress has many helpful features that make your site search engine friendly on-page: clean code, content first, crawlability, pretty permalinks, etc. Plugins can still add more: Yoast, All in One SEO Pack… and more
  • 102. Slack Sign up for the WordPress slack team
  • 103. Tools & Helpers Local by Flywheel
  • 108. CODE 101 Success Now that you know Help others along the way! Taylor is a graduate of our internal Code101 course and is now part of our dev team!
  • 110. Bird’s eye review Where to code? Editor, Locally What Code? HTML, CSS, SASS, PHP, JS WordPress concepts: Plugins, Themes, child themes, template hierarchy, The Loop, Hooks, Customizing WordPress Version Control, Task Runners API, CLI, SEO, Tools: Slack, Local, Codekit, ACF, Migrate DB Pro Share what you learn!
  • 111. Thank You! Any Questions? Slides available at https://circlecube.com/does-wordpress/