Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
"Into to PHP" Milwaukee WordCamp
Search
Suzette Franck
July 25, 2014
Technology
1
710
"Into to PHP" Milwaukee WordCamp
Introduction to PHP for WordPress.
Suzette Franck
July 25, 2014
Tweet
Share
More Decks by Suzette Franck
See All by Suzette Franck
Accessibility For Everyone
suzettefranck
0
55
Website Considerations
suzettefranck
0
79
Website Weekend WP Basic Training by Karen McCamy
suzettefranck
0
3.2k
Intro to Sass for WordPress Theme Developers
suzettefranck
0
94
Ten Features of Jetpack You Can’t Live Without
suzettefranck
1
190
Introduction to Security and Backups
suzettefranck
0
200
Customizing the WordPress Admin Without Code
suzettefranck
1
820
"Choosing a WordPress Host" - Hollywood WordPress
suzettefranck
1
460
WordPress Wizardry Without Code - Chicago WordCamp
suzettefranck
0
400
Other Decks in Technology
See All in Technology
エンジニアに定年なし! AI時代にキャリアをReboot — 学び続けて未来を創る
junjikoide
0
120
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
580
Zabbix Conference Japan 2025 ダッシュボードコンテストLT
katayamatg
0
140
DMARCは導入したんだけど・・・現場のつぶやき 〜 BIMI?何それ美味しいの?
hirachan
1
180
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
1.3k
サブドメインテイクオーバー事例紹介と対策について
mikit
16
7.9k
プロダクトエンジニアとしてのマインドセットの育み方 / How to improve product engineer mindset
saka2jp
2
200
Data & AIの未来とLakeHouse
ishikawa_satoru
0
650
AI時代におけるドメイン駆動設計 入門 / Introduction to Domain-Driven Design in the AI Era
fendo181
0
570
Logik: A Free and Open-source FPGA Toolchain
omasanori
0
260
日々のSlackアラート確認運用をCustom Chat Modesで楽にした話 / 日々のSlackアラート確認運用をCustom Chat Modesで楽にした話
imamotohikaru
0
130
短期間でRAGシステムを実現 お客様と歩んだ生成AI内製化への道のり
taka0709
1
230
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
920
KATA
mclloyd
PRO
32
15k
RailsConf 2023
tenderlove
30
1.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Automating Front-end Workflow
addyosmani
1371
200k
Gamification - CAS2011
davidbonilla
81
5.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
Intro to PHP Suzette Franck WordPress Evangelist, (mt) Media Temple
2014 Milwaukee WordCamp Foundation Friday, July 25, 2014 #wcmke @mt_Suzette Media Temple // 8520 National Blvd. Culver City, CA 90232 / 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Suzette Franck with a “ck” Twitter: @mt_Suzette ★WordPress Evangelist @ (mt) Media Temple ★Using WordPress since version 2.7 in 2008 ★20 years of web development experience ★Created 200+ WordPress custom themes ★Spoke at 20 WordCamps since 2011 ★WordPress Podcast WPUnicornProject.com https://www.youtube.com/user/mediatemple ★Reg. Contributor on WPwatercooler.com ★Blogs at: suzettefranck.com ★Slides: speakerdeck.com/suzettefranck
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple ★What is PHP ★Tools ★Look at PHP Code ★Resources What We Will Cover
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple PHP - What is it?
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple PHP - What Is It? ★Originated as Personal Home Page Tools, now it’s PHP Hypertext Preprocessor ★Server-Side Scripting Language (PHP) vs. Client-Side Scripting Language (Javascript) ★<?php ...code... ?> alongside HTML ★Files must have .PHP extension ★Needs to be run on a server, outputs HTML ★Open Source, free, needs updates occasionally ★Runs on Apache and most web servers or OS
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple The LAMP Stack PHP Apache Linux MySQL ★PHP is part of LAMP ★PHP processes code into HTML ★PHP talks to MySQL Database ★PHP evaluates form submissions
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple PHP - Tools
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple What You’ll Need: ★Knowledge of HTML & some CSS ★Text Editor ★A Modern Browser w/Internet ★Google and codex.wordpress.org ★Web Host or Local Host running WordPress
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple PHP Code Editors
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Paid, Free to Try Free, Open Source ★Any old text editor will do ★Requirements: line numbering & syntax highlighting Sublime Text 2 (MacOS) Notepad++ (PC) PHP Code Editors
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Sublime Text 2 (index.php of 2014)
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Notepad++ (for PC)
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Web Server
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple ★PHP 5.2.4 or higher ★MySQL 5.0 or higher ★Latest Version of WordPress 3.9.1 Your Web Host Your Computer Web Servers
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple ServerPress.com
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Desktop Server
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Where Are The Templates? ★On Desktop Server: Documents/Websites/sitename.dev/ wp-content/themes/themename/
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Helpful Plugins
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Which Template? ★“What The File” Free WordPress Plugin
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Let’s Look At Code!
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Comments in PHP <?php // single line ?> <p>Some text.</p> <?php # single line ?> <p>Some text.</p> <?php /* multi line com- ments are fun */ ?> <p>Some text.</p> <?php // single line # single line /* multi line com- ments are fun*/ ?>
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Anatomy of a Function ★PHP Code Opening/Closing Tag ★WordPress or PHP Function ★Optional Parameters ★Line Terminator <?php bloginfo(‘name’); ?>
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Anatomy of a Variable ★PHP Code Opening/Closing Tag ★Variable Name, starts with $ ★Operator (Assignment) ★Value (String) ★Line Terminator <?php $eggs = “green”; ?>
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Variables & Data Types
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple PHP Data Types ★What you can do depends on data type ★Variables can change data type ★Versatile, but slower than other languages ★Strings ★Integers and Floating Point Numbers ★Boolean (true false) ★Arrays (multiple values) ★Null
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Strings ★PHP Code Opening/Closing Tag ★Variable Name, starts with $ ★Operator (Assignment) ★Value (String) ★Line Terminator <?php $eggs = “green”; ?>
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Integers ★PHP Code Opening/Closing Tag ★Variable Name, starts with $ ★Operator (Assignment) ★Value (Integer) ★Line Terminator <?php $eggs = 3; ?>
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Boolean ★PHP Code Opening/Closing Tag ★Variable Name, starts with $ ★Operator (Assignment) ★Value (boolean) ★Line Terminator <?php $eggs = 0; // false ?>
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Arrays ★PHP Code Opening/Closing Tag ★Variable Name, starts with $ ★Operator (Assignment) ★Value (array) ★Line Terminator <?php $eggs = array(“green”, “red”, “blue”); ?>
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Null ★PHP Code Opening/Closing Tag ★Variable Name, starts with $ ★Operator (Assignment) ★Value (Null) ★Line Terminator <?php $eggs = NULL; ?>
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Echo and Print
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Echo and Print Statements I’d like green eggs. I’d like 3 eggs. ★echo() outputs one or more strings. ★print() outputs one string and a value of 1 ★echo() is marginally faster ★Both are language constructs ★CaSe InSensitive ★Both can be used with or without () ★Can include HTML and variables ★Single or double quotes
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Echo and Print Statements <?php $eggs = “green”; echo “<p>I’d like $eggs eggs. ”; $eggs = 3; echo “I’d like $eggs eggs.</p>”; ?> I’d like green eggs. I’d like 3 eggs.
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple All Together Now <?php $year = date(‘Y’); // sets year echo “Copyright © $year.”; ?> Copyright © 2014.
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Advanced Example $year = date(‘Y’); // sets year $name = get_bloginfo(‘name’); // sets name $email = get_bloginfo(‘admin_email’); // sets email echo “Copyright © $year by <a href='mailto:$email'>$name</a>."; Copyright © 2014 by Intro to PHP.
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Operators in PHP Arithmetic + - * / % Assignment = += -= *= /= %= String Concatenation . .= Increment/Decrement $x++ $x-- Comparison == != <> !== > < >= <= Logical && and || or xor !
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Anatomy of a Statement <?php $year = date(‘Y’); // sets year ?> <?php if (have_posts()) : ?> <!-- do stuff ... --> <?php endif; ?> <?php if (have_posts()) { // do stuff } endif; ?>
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Anatomy of a The Loop <?php $year = date(‘Y’); // sets year ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <!-- do stuff ... --> <?php endwhile; ?> <?php endif; ?>
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Resources
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Books “WordPress Web Design for Dummies” by Lisa Sabin-Wilson
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Videos “WordPress Web Design for Dummies” by Lisa Sabin-Wilson
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Websites http://codecademy.com
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Websites Google all the things!
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Websites http://www.w3schools.com
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Websites http://php.net/manual/en/
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Recommended Websites http://codex.wordpress.org
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple In Summary
Media Temple // 8520 National Blvd. Culver City, CA 90232
/ 877-578-4000 / mediatemple.net / @mt_Suzette © 2014 (mt) Media Temple Things to Remember ★Follow the script logic flow ★Dissect code part-by-part ★Look up php functions in google ★Variables are different data types ★Functions performed based on data types ★Have fun and learn!
Questions? Suzette Franck
[email protected]
https://speakerdeck.com/suzettefranck HAVE FUN AND LEARN! @mt_Suzette
Follow Me On Twitter!