Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development

106 views

Published on

Crash course introduction to web development for WordPress covering acronyms, buzzwords and concepts that often leave outsiders mystified. Overview of primary development processes and what software and tools are 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. WordPress development tools explained for beginners: ftp, git, svn, php, html, css, sass, js, jquery, IDEs, themes, child themes, the Loop, hooks, APIs, CLI, agile, bootstrap, slack, linting, sniffing … etc.

Published in: Technology
  • ➤➤ 3 Reasons Why You Shouldn't take Pills for ED (important) ■■■ https://tinyurl.com/rockhardxxx
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

WordCamp Greenville 2018 - Beware the Dark Side, or an Intro to Development

  1. 1. Beware the dark side … or an intro to Web Development 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 Greenville - 10 March 2018
  2. 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. 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. 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.
  5. 5. Let’s start at the beginning The Internet
  6. 6. Tools
  7. 7. 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!
  8. 8. Text Editor / IDE (integrated development environment)
  9. 9. SFTP (secure)File Transfer Protocol move/copy files to web server Also SSH
  10. 10. Local MAMP, WAMP, XAMP, AMPPS
  11. 11. VVV Varying Vagrant Vagrants Local Local by Flywheel Docker
  12. 12. HTML What is HTML? Resources: ● W3 ● HTML5 For Designers ● How to Code in HTML ● MDN: Learning Web Development ● Khan: HTML ● Codecademy: HTML ● HTML5 Cheatsheet
  13. 13. HTML - The Source
  14. 14. HTML - In Browser
  15. 15. <video> <canvas> <article> <header> <section> <main> <footer> <audio>
  16. 16. 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
  17. 17. A CSS rule
  18. 18. CSS Selectors
  19. 19. CSS Specificity
  20. 20. Box model values //all 4 sides padding: 10px; //top/bottom and left/right padding: 10px 10px; //top left/right bottom padding: 10px 10px 10px; //top right bottom left padding: 10px 10px 10px 10px;
  21. 21. 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>
  22. 22. HTML - In Browser
  23. 23. CSS
  24. 24. CSS
  25. 25. CSS RESETS
  26. 26. The Box Model box-sizing: content-box (default) box-sizing: border-box;
  27. 27. CSS3 background-size: border-radius: grid: border-box: flexbox: rgba(); transition: perspective: transform:
  28. 28. RWD - Responsive (Web) Design
  29. 29. Responsive Web Design is accomplished with CSS statements called Media Queries in your stylesheets.css
  30. 30. CSS Grids
  31. 31. Bootstrap http://getbootstrap.com/
  32. 32. Foundation http://foundation.zurb.com/
  33. 33. PHP: PHP Hypertext Preprocessor What is PHP and how?
  34. 34. PHP
  35. 35. PHP
  36. 36. PHP
  37. 37. CSS Preprocessors Tedious tasks, let’s let the computer do it for us...
  38. 38. CSS Preprocessing
  39. 39. SASS/SCSS
  40. 40. CodeKit
  41. 41. Build and Workflow tools: Grunt, Gulp, etc
  42. 42. javascript
  43. 43. 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.
  44. 44. Beyond jQuery
  45. 45. Project Gutenberg
  46. 46. WordPress is used by 60.2% of websites with a CMS. This is 30% of all websites. -W3Techs (as of March 2018)
  47. 47. WordPress Theme Editor
  48. 48. Child Theme
  49. 49. 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
  50. 50. Child Theme
  51. 51. 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
  52. 52. Child Theme - style.css
  53. 53. Child Theme - functions.php
  54. 54. 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?
  55. 55. Validating Sanitizing and Escaping User Data Validating: Checking User Input Ensure the data you've requested from user matches what they've submitted. Sanitizing: Cleaning User Input Clean the incoming data of invalid or unaccepted characters. Escaping: Securing Output Take the data you may already have and help secure it prior to rendering it for the end user.
  56. 56. 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?
  57. 57. Template Hierarchy
  58. 58. The Loop
  59. 59. 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.
  60. 60. The Loop Note: there are php methods or Template Tags that we “must be within The Loop” in order to use them.
  61. 61. WordPress Conditional Tags Conditional Tags can be used in your Template files to change what content is displayed and how that content is displayed on a particular page depending on what conditions that page matches. is_front_page() is_home() is_admin() is_single() is_single( '17' ) is_single( 'page-slug' ) is_single( 'Page Title' ) is_page() is_page_template() has_term() is_archive() is_search() is_404() has_excerpt() is_child_theme() has_post_thumbnail( $post_id ) is_singular() is_author() in_category() is_multisite() ...
  62. 62. WordPress Template Tags Template tags are used within your blog's Templates to display information dynamically or otherwise customize your blog, providing the tools to make it as individual and interesting as you are. get_header() get_footer() get_sidebar() get_template_part() get_bloginfo() the_author() get_the_author() the_category() the_permalink() get_permalink() the_content() the_excerpt() the_ID() the_tags() the_title() get_the_title() the_date() the_time() the_post_thumbnail() the_author_posts() ...
  63. 63. 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.
  64. 64. 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?
  65. 65. Customizing The Customizer Custom Post Types Custom Fields
  66. 66. The Customizer
  67. 67. 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.
  68. 68. Custom Fields When a big WYSIWYG editor won’t work.
  69. 69. Native Custom Fields Advanced Custom Fields
  70. 70. git & svn are version control systems (vcs) Like the undo button or history pane in photoshop.
  71. 71. WordPress core development and plugin repo uses SVN. There’s also a WordPress mirror on github.
  72. 72. github.com
  73. 73. github app
  74. 74. sourcetree
  75. 75. 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.
  76. 76. WP REST API
  77. 77. Multisite
  78. 78. WP-CLI
  79. 79. #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
  80. 80. 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
  81. 81. Waterfall Methodology
  82. 82. Slack Sign up for the WordPress slack team
  83. 83. Tools & Helpers CodePen.io
  84. 84. Tools & Helpers Local by Flywheel
  85. 85. Tools & Helpers CodeKit
  86. 86. Tools & Helpers Advanced Custom Fields Pro
  87. 87. Tools & Helpers Migrate DB Pro
  88. 88. 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
  89. 89. 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!
  90. 90. Thank You! Any Questions? Slides available at https://circlecube.com/does-wordpress/

×