A Comprehensive Overview of WordPress Site Owner Roles

This post originated as “A Simple Roadmap to Get Up & Running with WordPress”, but it gradually morphed into something a tad more complex. So here is “A Comprehensive Overview of WordPress Site Owner Roles.”

While this post originated as “A Simple Roadmap to Get Up & Running with WordPress”, it gradually morphed into something a tad more complex, so we’ll call it “A Comprehensive Overview of WordPress Site Owner Roles.”

For starters, here’s a list of the different roles you can expect to have when you start and maintain a WordPress (or any other) website and the most basic tasks each will deal with (click any role to be taken directly to its description):

  1. TECHIE: performs the initial installation of the website
    1. Tasks
      1. Domain name registration
      2. Website hosting
      3. File transfers (FTP Clients)
  2. ADMIN: sets up and maintains the website backend
    1. Tasks
      1. Username + Password
      2. Site Setup
      3. Site Management
    2. Supplementary Topics (later)
      1. Site Security
      2. Site Backups
      3. Plugins
      4. Managing Users
      5. Advanced Admin Tasks
  3. DESIGNER: deals with the website frontend
    1. Tasks
      1. WordPress Customizer
      2. WordPress Menus
      3. WordPress Widgets
    2. Supplementary Topics (later)
      1. Theme Choice
      2. Custom CSS
      3. Custom HTML in Posts
      4. Basic Graphic Design
        1. Color Theory
        2. Typography
        3. Layout
      5. Site Branding
  4. CONTENT CREATOR: pushes NEW content to the website on a regular basis
    1. Understand:
      1. WordPress media
      2. The difference between Posts and Pages
      3. The difference between Tags and Categories
    2. Supplementary Topics (later)
      1. SEO
      2. Social Sharing
      3. Using Blog Templates
      4. Content Delivery
        1. Successful Content Types
        2. Making an Editorial Calendar
        3. Delivery methods: Email, SNS, RSS, CDNs
  5. DEVELOPER: modifies, maintains, or adds code
    1. Advanced Topics (later)
      1. HTML + CSS
      2. JavaScript + jQuery
      3. PHP + MySQL
      4. WordPress Codex
        1. Plugin Development
        2. Theme Development
        3. Contributing to the WordPress Core
      5. WordPress Development Best Practices

Each of the roles above has its own complexities and full blog posts (even books) have been written about each one. But, I will try to keep this simple and focus primarily on the main 3-5 tasks or objectives that you will need to perform in each role on a BASIC level.

(I will also provide a list of 5-6 additional tangential considerations for each role that may yet sprout off into supplementary blog posts for each.)



wpmu2-techie

1. Techie

Performs the initial installation of the website.

The 3 major tasks a “techie” must deal with are:

  1. Domain name registration
  2. Website hosting
  3. File transfers (FTP Clients)

When running WordPress, you have TWO options for how to host your site:

  1. WordPress.com = hosted on the WordPress.com service & most of the hosting issues are taken care of for you through the service
  2. WordPress.org = a software download that you install yourself (or through a third-party hosting company) on a domain of your choice (and purchase)

WordPress.com

Hosting your site on WordPress.com is pretty self-explanatory. You sign up for a FREE blog and create a username that becomes your blog’s initial URL (unless you upgrade) at yourname.wordpress.com. Simply head over to their new blog creation page and follow the steps to get started.

WordPress.org

Downloading the software from WordPress.org and installing it on your own site (for example, yourname.com) is slightly more complicated, but not by much. You have two simple options to get started:

  1. Purchase a domain name (URL), purchase hosting, and perform “the Famous 5-Minute Install” yourself
  2. Find a host that does all of this for you will a One-Click Install

(What is a One-Click Install? Simply: you choose the software you want to install, click “Install”, select the destination, and the webhost’s installer performs all the default installation steps for you. The next thing you’d do is visit your site and log in to your newly installed website system.)

A Spattering of Web hosting Providers

While whole blog posts have been written to guide users through the choice of a plethora of web hosting providers, I’ll simply provide a list with my own experience below:

  1. Dreamhost.com – affiliate (I’ve been a happy customer since 2009 – service keeps improving – hosting around $10/month)
  2. Bluehost.com (My second choice – hosting for as low as $3.95/month)
  3. Hostgator.com (Another highly recommended company, though I have no direct experience with them – honestly their branding and logo didn’t meet the same quality as the previous two, so I didn’t bother getting to know them better)
  4. GoDaddy.com (Most famous for Domain name registrations as far as I know though they do provide hosting as well)
  5. WPEngine.com (A proprietary WordPress hosting provider – you’ll pay a premium but also get premium service)

Domain Name Registration services I’ve used

  1. Dreamhost.com –*affiliate (I just like having domain name registry and hosting all together)
  2. Nameboy.com (This is a good place to go if you have TWO keywords that you want to blend together in different combinations – including hyphenated options)
  3. Namecheap.com (This site provides the greatest number of secondary TLD recommendations if your primary choice is not available)

TLD = Top-Level Domains

The original Top-Level Domains (introduced in the 1980s) were .com, .org, .net, .edu, .gov, .mil, and .int. Countries also have their own TLDs including .uk, .au, .kr, among others. And in the 2000s, particularly from 2012 and onward, 1000s more TLDs have been created so that when I go to register a new domain in Dreamhost (*affiliate), I can find a page that looks something like this:

Affiliate link: http://www.dreamhost.com/r.cgi?508174
Affiliate link: http://www.dreamhost.com/r.cgi?508174

Each TLD has its own unique price, though the majority are between $10-50 for a one-year registration. (But check out the price of .rich in the above image!)

Best Advice for Choosing a Domain Name

Keep it Simple, Silly.

5 Top Domain Naming Tips

  1. Simple, sweet, and easy to remember is best
  2. Your domain name should tell or stand for what you do and be recognizable
  3. Hyphens, dashes, and underscores are allowable but add complexity
  4. Extra long names are hard to remember
  5. If you want exclusivity (and so no one can piggy-back off your name with a different TLD), buy ALL the major TLDs with your name, i.e. nike.com, nike.net, nike.org, nike.info, etc.

Bad example:

http://www.thelongestdomainnameintheworldandthensomeandthensomemoreandmore.com/

Great example:

http://ma.tt/

Finally, dealing with Files

Lastly, a techie will deal with the uploading, downloading, transferring, and modification of blog files (installation files, images, videos, podcasts, etc). This will likely be an ongoing process, so you may as well get familiar with it now. The following is a list of FTP (File-Transfer Protocol) clients that I’ve used and recommend:

  1. FileZilla (my #1 recommendation because it is cross-platform and well-designed)
  2. FireFTP (an add-on for Mozilla’s Firefox browser)
  3. CyberDuck (an FTP client I’ve used extensively on MacOSX – now also available for Windows)


wpmu2-admin

2. Admin

Sets and manages up the backend of the website.

The 3 major tasks an “admin” must deal with are:

  1. Username + Password
  2. Site setup
  3. Site management

To start off with, good username and password choice goes a LONG way to ensuring the safety of your blog.

2 Top Tips (Username + Password):

  1. Username: NEVER EVER EVER EVER pick “admin” as your username. This is the old default WordPress admin name, so everybody (hackers) and their dogs (hacker dogs) know it. This will be the FIRST thing someone tries if they want to hack your site.(Too late? Create a new “admin” account with a new username, then transfer all the posts and content over to the new username and delete your old “admin” account. Or find out how to change the “admin” account in the database tables – phpMyAdmin – here.)
  2. Password: “K33P C4LM AND 5P34K L337”
    (i.e. “Keep Calm and Speak Leet” – Leet (L337) is kind of a techie way to write using numbers and symbols in place of letters that look similar)

5 Top Password Creation Tips:

  1. Use a combination of UPPERCASE, lowercase, numb345, &$ymb@!$
  2. Create a pattern that’s easily recognizable or memorable for you (like this guy did)
  3. Use a site-specific “pass phrase rather than password (like “aaron@mydigitalH0M3”)
  4. Longer is always better – shoot for 10+ characters
  5. Avoid dictionary / common words / expressions / strings of numbers

Bad Examples (the most popular passwords of 2014):

123456, password, qwerty, baseball, dragon, football, monkey, letmein, abc123, 111111, mustang, access, shadow, master, michael, superman, 696969, 123123, batman, trustno1

Great Examples (how a password changed this guy’s life):

Quit@smoking4ever
Save4trip@thailand

First Steps

Once the username and password are setup and you’ve logged in to your WordPress site, here is a list of the TOP FIVE first things that I personally see to:

  1. Install Jetpack (this plugin will significantly upgrade your website by adding 34 powerful functions utilizing the WordPress.com cloud – WordPress.com username necessary – you can sign up for just the username here)
  2. Install Akismet (the #1 comment spam blocker plugin in the world – FREE for personal use or $5/month for a business)
  3. Make Pretty Permalinks (don’t allow your site to use “ugly” default URLs)
    1. Default: http://www.yoursite.com/?p=123
    2. Pretty: http://www.yoursite.com/your-post-name/
    3. *Note* It seems Pretty Permalinks are set to be the default in WordPress 4.2
  4. DESIGNER: Pretty up the Homepage (see below)
  5. CONTENT CREATOR: Write your first Post(s) (see below)

Detours (Later Topics)

The following are a list of additional topics that an Admin may need to deal with and be familiar with. Each one is worth its own (extensive) Post (or book), so I will revisit them later:

  1. Website Security
  2. Website Backups
  3. Plugins
  4. Site Management
    1. User Management
    2. Discussion Management
    3. Media Management
  5. Advanced Topics
    1. Updates & Site Tools


wpmu2-designer

3. Designer

Takes care of the frontend of the website.

3 primary tasks a “designer” should address are:

  1. The WordPress Theme Customizer (front page style editing)
  2. Menu Creation
  3. Widget Assignment

First Steps (in the “Appearance” Menu)

  1.  Customize – In the WordPress Customizer you can modify a variety of frontend design elements including:
    1. Site Title
    2. Tagline
    3. Colors
    4. Header Image
    5. Background Image
    6. Menus (Navigation)
    7. Widgets
    8. Static Front Page (this means you set your front page to a specific Page and your blog archive to a different Page)
  2. Menus – Tip: to make dropdown menus, simply click-and-drag one menu item (in your “Menu Structure” window) underneath and to the right of a preceding (its “parent”) menu item
  3. Widgets – Tip: if you’ve enabled some widgets and want to save their Settings for later, there’s a location at the bottom of the “Available Widgets” area (called “Inactive Widgets”) that you can click-and-drag those widgets you want saved into

Detours (Later Topics)

The following are a list of additional Design topics that may be of interest and will be revisited in later Posts:

  1. Theme Choice
  2. Custom CSS
  3. Custom HTML in Posts
  4. Basic Graphic Design
    1. Color Theory
    2. Typography
    3. Layout
  5. Branding


wpmu2-content

4. Content Creator

Is responsible for pushing NEW content to the website on a regular basis.

The 3 most important things a “content creator” must understand are:

  1. WordPress Media
  2. The Difference between Posts and Pages
  3. The Difference between Tags and Categories

It’s long been a mantra of the web: CONTENT IS KING and today is no exception. If you aren’t regularly pushing NEW and useful content to the forefront of the supersaturated Inter-webs, you’re missing a valuable opportunity and a good percentage of the consumer population. People are always on the look out for the “newest” or “hottest” so as a Content Creator, you’d really do yourself (and your audience) a good service if you regularly deliver that which they seek.

My own personal process for Content Creation looks like this:

  1. Plan (5-30 min)
  2. Research (30 min-1 hr)
  3. Write (1-2 hrs)
  4. Edit (10-30 min)
  5. Publish (1 min)

So, my own process for blogging may take anywhere between 1-4 hours. I tend to put a lot of emphasis on getting facts right, delivering useful information, and back-linking to the things I find, so that can end up taking up a good chunk of my time.

But if you’re interested in some more tips for How to Write a Blog Post in 70 Minutes or Less, check out Michael Hyatt’s podcast and post on the subject.

Understand:

WordPress Media

  1. Embeds : WordPress is capable of automatically embedding certain kinds of media from various webpages including videos, PDFs, presentations, and tweets – all you need to do is copy-paste the URL of a given page into your Post editor and WordPress handles the rest. A (non-comprehensive) list of sites is below:
    1. YouTube
    2. Vimeo
    3. SlideShare
    4. Twitter
  2. Uploads : Uploading your own media to WordPress is as simple as clicking and dragging the item from your Desktop directly into the Post editor. The Media Uploader automatically pops up and gives you more options. You are able to change the file upload size in your WordPress settings, but by default the max upload size is 10MB or so.
  3. Featured Images : A Featured Image (formerly known as “Post thumbnails”) is similar to a cover image for an article. Different themes handle these differently, but this is THE image that will primarily be associated with your Post (if you assign one) on your site and through Social Media when the Post gets shared. To add a Featured Image, scroll to the bottom of the sidebar in the Post editor page to find an Image Upload meta-box called “Featured Image.”

The Difference between Posts and Pages

  1. Posts : non-hierarchical articles that are referenced chronologically and can be categorized by Tags and Categories
  2. Pages : hierarchical articles that can be assigned “Parents” (those Pages that would form the head of a dropdown menu) and can NOT be categorized by Tags and Categories

The Difference between Tags and Categories

  1. Tags : non-hierarchical keywords used for Searching (like “green”, “big”, “important”, etc)
  2. Categories : create a kind of folder structure that can be used to subdivide articles (like “WordPress”, “Classes”, etc) – these ARE hierarchical

Detours (Later Topics)

The following are a list of additional topics that Content Creators may find of interest and will be revisited in later Posts:

  1. SEO (Search Engine Optimization)
  2. Social Sharing
  3. Using Blog Templates to speed up Content Creation
  4. Content Delivery Methods
    1. Content Types
    2. Creating an Editorial Calendar
    3. Email, SNS (Social Networking Services), RSS (Really Simple Syndication), CDNs (Content Delivery Networks)
  5. Serving Your Audience


wpmu2-developer

5. Developer

Maintains, modifies, or adds code.

The 3 main things a “developer” is likely to deal with are:

  1. Custom CSS code
  2. Custom HTML code within Posts & Pages
  3. Child Themes

As getting into the details of a Developer’s work is far more complex than this Post warrants, here’s a list of further topics to be discussed later in subsequent Posts:

Detours (Later Topics)

  1. Learn:
    1. HTML
    2. CSS
    3. JavaScript
    4. jQuery
    5. PHP
    6. MySQL
  2. Understand:
    1. WordPress Codex
    2. Plugin Development principles
    3. Theme Development principles
    4. How to make contributions to the WordPress core
    5. WordPress development best practices

Join the Discussion

I hope you enjoyed (and got a lot out of) this overview of the various roles a WordPress site owner needs to understand. If there are any questions, comments, or suggestions to improve this Post or for later topics to be covered, please leave me a Comment in the section below. Thanks!~

Open Source, WordPress, and the Community

WordPress currently powers over 25% of the Internet’s top sites. What is it and what makes it so popular and powerful? This talk introduces the audience to the “democratization of publishing” that is WordPress.

한국어로 읽어요~

Hello, my name is Aaron Snowberger. I’m a hobbyist WordPress theme and plugin developer, graphic designer, and English teacher at Jeonju University. I run a WordPress Meetup and workshop in Jeonju and was invited here today to give an overview presentation about WordPress. So, this talk is a modified version of the first one I gave in our Jeonju Meetup in January.

I usually present in English, but was encouraged to try this presentation entirely in Korean, so please give me some grace – it won’t be perfect, and I’ll try not to bore you – at least my PPT is pretty, right?

In this talk, I will address 4 main points that span the topic “Open Source, WordPress, and the Community.” They are:

  1. What is WordPress?
  2. How big is WordPress?
  3. Why should you care?
  4. What can you do with it?

What is it?

WordPress is an open-source Content Management System licensed under the GNU General Public License (GPL) version 2.

Open Source

What is open-source software?

  • “Open” means “visible, free, or available”
  • “Source” is the computer code that creates a program

So, “open-source” is computer code that is freely available to the general public – for anyone to use, change, or share with anyone else. It’s a de-centralized model of software production that provides extensive code documentation to the public for free and encourages community contribution to rapidly build upon and improve the original program.

Contrast this with “closed-source” code and technologies that are often developed in-house to be sold. In some cases, there may be criminal penalties for copying, modifying, disassembling, or even studying the internal source code.

Examples:

  1. Microsoft: closed vs. Linux: open
  2. iOS: closed vs. Android: open
  3. Wix: closed vs. WordPress: open
Advantages of Open vs. Closed-source Software

Open-Source:

  1. More developer support (anyone, anywhere can work use it)
  2. More customizable
  3. More secure (thousands of people can view and fix the code)
  4. Extended Community Support

Closed-source:

  1. Less choices and customer confusion (there’s only ONE version of the software)
  2. More unified experience (Apple always looks like Apple)
  3. More profitable (charge developers to use it, lock out competitors)

Content Management System

What is a CMS?

Years ago, most websites were built page by page, coded by hand, and filled with static content. (I built some of those websites.) These days, websites are filled with a much greater quantity of dynamic content that is often updated on a daily basis.

In order to make the administration of large, fast-changing websites more manageable, Content Management Systems (CMSs) were created in the late 1990s to reduce the need for hand-coding every page and to create a web-publishing interface that more closely resembles a word processing program like Microsoft Word. This enables anyone with an Internet connection and basic word processing skills the ability to quickly create and publish dynamic content to their webpages.

Additionally, website components like the header, the footer, the sidebar, and the various content pieces are broken up into individual files that can be managed separately and loaded dynamically when a website is opened.

It is much nicer to be able to manage each website piece individually (only one code file) than needing to open (up to dozens of) separately coded webpages to modify something as minor as a changed logo in the footer. (I also used to do that.)

GPL Version 2

What is the GPL2?

GPL stands for GNU General Public License (GPL) version 2 and is the legal license that covers WordPress and its source code. The GPL2 is copylefted (a play on the word “copyright”), which means that any software under its license that is used, modified, or distributed must retain the same license terms in order to be legally distributed.

This means that software companies or other developers cannot legally change the license of WordPress code or derivatives of it to closed-source. WordPress and its derivatives are therefore “forever free” under the GPL license for everybody.

In a recent interview, WordPress co-creator Matt Mullenweg described open-source code as:

The most important idea I’ve been exposed to in my life-time … it’s like a Bill of Rights for software … it basically says, “Here are four freedoms that are inalienable rights that you have when you use open-source software.”

The software is completely FREE to:

  1. Use commercially
  2. Modify or build upon
  3. Distribute
  4. Place under warranty

So long as you:

  1. Track dates/changes in the source files
  2. Keep all modifications under the same GPLv2 license
  3. Disclose the source code

(See the simplified GPLv2 summary)

A brief history of WordPress

WordPress was started as a joint software project by Matt Mullenweg and Mike Little in 2003. It was a fork of another open-source blogging platform called b2 (cafelog) that Mullenweg had built a blog on.

In his own words:

[WordPress] started as a fork (or a derivative) of another open-source project.  There was this thing out there called b2 which I was using and blogging with myself and the creator disappeared, so the development stopped. Myself and this guy in England, Mike Little, picked it up and kept working on it.

The two eventually met personally in London in 2005, the same year that Matt formed the company Automattic (notice the “Matt” in there) and WordPress.com went live.

Automattic is the driving force behind WordPress.com and some of WordPress’s most popular plugins like Akismet for blocking spam comments and Jetpack for powering up your WordPress installation.

The Difference Between WordPress.com and WordPress.org

This is a topic I found necessary to clarify in the Jeonju Meetup because many of our first visitors were confused about the difference between the two.

The major difference between WordPress.com and WordPress.org is that the .com is a SERVICE and the .org provides the SOFTWARE.

The major difference between a blogging SERVICE and blogging SOFTWARE is that a SERVICE (like Wix.com or Squaresoft.com) lets you use a standard installation of the software on their own servers (but are limited in your ability to customize the code yourself). But by downloading open-source SOFTWARE on your own, you have the freedom to fully customize any aspect of the code yourself. You are only required to find your own website host.

Think of it as the difference between renting a house and buying one.

  • WordPress.com is the renter you don’t really “own” (http://yourname.wordpress.com) – you can’t change all the wallpaper to exactly how you might like, and you have to call the landlord if something breaks
  • WordPress.org provides the home you “own” at your chosen address (http://www.yourname.net) – it comes with the complete freedom for you to redecorate and redesign as you please

So, in this way, WordPress.com is the best place for people starting out with the software to learn how it functions and how to best use it. Then, once you’re comfortable with it, you can move over to WordPress.org  to download your own version of the software.

In summary:

WordPress.com
  1. Is a hosting SERVICE
  2. Is like a house you rent
  3. Is limited in freedoms, but provides paid upgrades
WordPress.org
  1. Hosts the (downloadable) SOFTWARE and all documentation
  2. Gives you access to a house you can “own”
  3. Is virtually unlimited in customization options

How big is WordPress?

WordPress currently powers over 60,000,000 websites around the world – that’s 23% of all the world’s websites – and Automattic is valued at over $1 billion.

http://w3techs.com/technologies/history_overview/content_management/all/y/
http://w3techs.com/technologies/history_overview/content_management/all/y/

WordPress powers plenty of famous and popular websites like:

  1. The New York Times blogs
  2. CNN blogs
  3. Forbes blogs
  4. Reuters blogs
  5. Jay-Z
  6. Katy Perry
  7. TechCrunch
  8. The GOP (US Republicans)
  9. Mashable

For a more robust list, see WordPress.com’s Notable Users page. And for a FULL list, see WordPress.org’s Showcase.

And in Korea, I’ve found WordPress powers:

  1. Seoul City’s homepage
  2. Bloter.net
  3. Samsung Electronics
  4. LG Electronics
  5. Yonhap News TV
  6. Insight of GS Caltex
  7. KB Rockstar
  8. Hyundai Corporation
  9. WebActually

There are some nice collections of sites at isquery.com and hwangc.com, or you can see a random selection of 4 WordPress sites in the Showcase on ko.wordpress.org.

Why should you care?

#1: It’s Free

Because of its open-source nature and the GPL2 license, you never have to pay any kind of licensing fees to use or modify the software.

#2: It’s Powerful

There are:

Whatever your mind can conceive and believe, you can achieve. – Napoleon Hill

#3: It’s Scalable

WordPress.com is the world’s largest SINGLE INSTALLATION of WordPress. There are over 500 million users with their own unique database tables that are running on a SINGLE code base. Now that’s pretty impressive!

In the same way, WordPress can scale to meet any of your website needs – whether you are a blogger writing a daily diary, or a Fortune 500 company that needs individual store sites for each of its +1,000 stores (Best Buy).

#4: It’s Growing

In 2014, there were 81 WordCamps (large-scale WordPress conferences) held in over a dozen countries. And 2014 was also the first year that non-English downloads of WordPress surpassed English downloads. This shows the company is growing internationally as well as in the US market.

Additionally, the number of monthly unique visitors to WordPress.com is comparable to the number of monthly unique visitors to Facebook – though the company is much smaller.

http://automattic.com/about/
http://automattic.com/about/
#5: It’s Comparatively Easy

I’ve worked with, customized, and programmed:

  1. Static HTML sites
  2. Moodle
  3. Joomla!

And I can say from experience that WordPress has the LEAST complicated administrator backend.

Years ago, Joomla! may have been more powerful than WordPress, but with the 5 major releases of WordPress in 2014 and continual development from a fine community of programmers, it is no longer.

In fact, after transferring one site (TheJeonjuHub.com) from static HTML to Joomla! in 2011, I ended up transferring it over to WordPress within 2 years to better enable the content creators of the site to work. Joomla! menus and the backend just ended up being more complex than they needed to be.

Generally, a full WordPress site can be:

  1. Setup in 5 minutes
  2. Built in 4-5 weeks

If you can Word, then you can WordPress. The Editor interface is virtually the same.

#6: It’s great for Platform Building

If you want to sell anything, you need a platform. WordPress is an amazing platform building tool that makes it easy for anyone to take a simple blog with 30 views per month to over 30,000 views per month (I speak from experience).

KeyToKorean.com site stats
KeyToKorean.com site stats

Main idea:

If you have a story worth telling, then you have a platform worth building.

#7: Korea is a Growing Market

According to a graph of Google Search trends I recently looked up, South Korea has a Search Volume Index of only 15 with regards to searches for WordPress and WordPress related topics. Compare this with neighboring countries and you can see there is a lot of potential for growth in Korea:

  1. South Korea: 15
  2. Japan: 26
  3. Russia: 25
  4. China: 20
  5. Mongolia: 34
  6. Philippines: 57
  7. Malaysia: 40
  8. Indonesia: 76
  9. United States: 46

Additionally, there is great support for WordPress in Korean provided by the WordPress community here.

#8: The WordPress Community

The WordPress community is quite large and very supportive, helpful, and friendly. WordPress Meetups are held all over the world to teach and help others build WordPress websites.

I’ve begun a WordPress Meetup in Jeonju because I wanted to a place to get together regularly with other WordPress users help them build their websites. I actively encouraged the Liberal Arts department at Jeonju University to start using WordPress for “flipped classrooms” and teacher websites and a majority of the 33 foreign teachers took my advice and created their teaching sites on WordPress.com. I’ve run a number of workshops and helped individual teachers improve their sites on numerous occasions, so I decided it was about time to do something more regularly.

I’d initially begun the Meetup with the idea to only target foreign expat users who might want to run a teaching site or blog, but thanks to my invitation here and the encouragement to present in Korean (something I’m still quite shy about), I’ve decided to extend the Jeonju Meetup for an extra hour or two and invite Korean speakers to come in and share about WordPress there as well. (Hopefully I’ll also be able to “level up” my Korean speaking skills there.)

WordPress Support Staff call themselves “Happiness Engineers” and make it their job to “deliver happiness” on the user forums:

  1. WordPress.com Forums (WordPress.com hosted sites)
  2. WordPress.org Forums (self-hosted sites)

In fact, a “recommended read” for their Happiness Engineers is Delivering Happiness by Tony Hsieh, CEO of Zappos.com.

Deliveringhappiness

What can you do with it?

#1: Build Websites

In my own experience, I’ve built:

  1. Classroom sites
  2. Academy sites
  3. School & organizational sites
  4. Educational sites
  5. Church websites + podcasting
  6. Portfolio websites
  7. And personal blog sites (like this one)
#2: Contribute to the Community

There are numerous ways to get involved with the WordPress Community – and you’re already participating in one by attending this WordCamp. The others are suggestions from make.wordpress.org:

  1. Contribute to Core development
  2. Build plugins
  3. Design themes
  4. Create Web apps
  5. Help out in the Support Forums
  6. Help write documentation or training materials – even tutorials on your blogs
  7. Help translate the core, themes, or plugins
  8. Join (or form) a WordPress Meetup

Again:

Whatever your mind can conceive and believe, you can achieve. – Napoleon Hill

So the real question isn’t “What can you do with it?” but rather:

What will you do with it?


Liked my PPT and talk (article)? Leave me a comment below.

Or for our Meetup members, feel free to ask any questions you might have about WordPress or give me suggestions for the next Meetup subject and talk!~

오픈 소스, 워드프레스, 그리고 커뮤니티

워드프레스는 현재 인터넷 상위 사이트의 25 % 이상을 지원합니다. 무엇이며, 무엇 때문에 그렇게 유명하고 강력합니까? 이 강연은 워드프레스인 “출판의 민주화”에 대해 소개합니다.

Read in English

비디오

안녕하세요. 제 이름은 에런 스노버거예요. 저는 워드프레스 테마와 프러그인 취미 개발자, 프리렌스 그래픽 디자이너, 그리고 전주대학교 영어 교수입니다. 저는 전주에서 워드프레스 미트업과 워크숍을 주최하고있으며 여기 서울 미트업으로 오늘 저는 워드프레스에 대한 일반적 개요를 말씀드리려고 이곳에 초대 받았습니다. 그래서, 이 프리젠테이션은 첫번째 전주 미트업 프리젠테이션을 조금 수정한 것입니다.

보통 영어로 발표를 하지만 이 번에는 제 친구로부터 한국말로 발표를 해 보라는 도전을 받아서, 그렇게 할겁니다. 한국말은 제 두번째 언어니까, 조금 인내와 자비를 베풀어 주시기 바랍니다. 그리고, 완벽하지는 않지만 지루하시지는 않을 거예요. 적어도 제 PPT 정말 멋지죠?

제 발표에서는 ‘오픈 소스, 워드프레스, 그리고 커뮤니티’라는 주제를 확장할 네가지 주요 포인트를 알려드리겠습니다:

  1. 워드프레스는 무엇 인가?
  2. 워드프레스는 얼마나 큰가?
  3. 왜 워드프레스에 관심을 가져야 한가?
  4. 워드프레스로 무엇을 하는가?

워드프레스는 무엇 인가?

워드프레스는 오픈 소스 콘텐츠 관리 시스템 입니다. 그것은 GPL2에 의해 인가됩니다.

오픈 소스

오픈 소스가 무엇 입니까?

  • ‘오픈’은 ‘볼 수 있게, 자유롭게, 가능하게 소프트웨어’ 뜻입니다.
  • ‘소스’는 프로그램을 만드는 컴퓨터 코드입니다.

그래서 ‘오픈 소스’는 모두에게 자유로운 공짜 컴퓨터 코드입니다. 누구나 사용할 수 있고, 바꿀 수 있고, 다른 사람과 나눌 수 있습니다. 이것은 분산 소프트웨어 모델과 광범위한 코드문서를 대중에게 공짜로 주고 커뮤니티 한테서 기부를 북돋웁니다. 이렇게 새로운 기능과 버그 수정을 더 빨리 합니다.

‘크로즈 소스’와는 대조적으로 코드와 기술은 회사에서 개발하고 판매합니다. 어떤 경우는 복제하거나, 수정, 재조립, 배부 소스 코드를 연구 하는 것 조차도 ‘범죄’가 될 수 있습니다.

예 보자:

  1. 마이크로소프트: 크로즈 / 리누크스: 오픈
  2. iOS: 크로즈 / 안드로이드: 오픈
  3. 위크스: 크로즈 / 워드프레스: 오픈

오픈 소스와 크로즈 소스의 장점

오픈 소스:

  1. 더 많은 개발자들의 도움 (누구나, 어디서나 할 수있습니다)
  2. 더 많은 사용자 정의 (더 많은 변형가능성)
  3. 더 안전함 (누구나 수정을 할 수있습니다)
  4. 더 큰 커뮤니티의 도움

크로즈 소스:

  1. 선택의 폭이 좁고 사용자의 혼동 1 적음 (소프트웨어 버전은 한개 밖에 없습니다)
  2. 사용자 경험의 통합 (에플에서 나온 것은 다 에플 같죠)
  3. 더 높은 상품가능성 (개발자들에게 사용료를 받고 경쟁자들을 배제 할 수있다)

콘텐츠 관리 시스템 (CMS)

CMS란 무엇입니까?

몇년전에 대부분 웹사이트들은 페이지 별로 만들어졌고 코드를 손으로 만들었고 정적인 콘텐츠들이 많았습니다. (제가 이런 웹사이트들을 만들어 본 적이 있어요.) 요즘은 웹사이트들이 매일 업데이트 되고 동적인 콘텐츠들이 가득합니다.

크고 변화 무쌍한 웹사이트 관리를 더 쉽게하기 위해서, 1990년초에 콘텐츠 관리 시스템들이 만들어졌습니다.페이지별로 손드로 코딩하는 필요를 없애기위해, 그리고 마이크로소프트 워드 처럼 생긴 웹 공개 인터페이스를 만들기 위해 인터넷이 연결되어있고 기본적인 워드프로세스 기술만 있으면 그들이 웹사이트에 다 아나믹한 컨텐드를 빠르게 만들어서 공개 할 수있습니다.

또한 헤더, 푸터, 사이드바, 그리고 다양한 컨텐츠 파트들은 따로 분리가 가능하고 이는 웹사이트가 열렸을 때 개별적으로 관리할수 있고 더 역동적으로 로딩됩니다.

각각의 웹페이지를 따로 관리하는 것이 훨씬 좋습니다. 푸더에 있는 로고를 바꾸는 작은 작업을 수행하기위해 따로 코딩된 웹페이지를 따로 열어야 하는 필요가 없으니까요.

GPL2

GPL2가 무엇입니까?

GPL의 뜻은 ‘그누 제너럴 펍릭 리이센스’라고 하고 워드프레스와 소스 코드를 관장하는 법적 라이센스 입니다. GPL2는 ‘카피레프트’ (카피라이트에서 나온 말)입니다. 사용되고 수정되고 배포되는 모든 소프트웨어는 법적으로 배포 되려면 같은 라이센스 계약을 해야 합니다.

이는 곧, 소프트웨어 회사나 다른 개발자들은 위드프레스의 라이센스를 클로즈 소스로 법적으로 바꿀 수 없습니다. 그러므로 워드프레스와 그 카피는 GPL라이센스 때문에 누구에게나 ‘영원히 무료’입니다.

최근 인터뷰에서, 워드프레스의 공동 제작자 매트 뮤렌웨그은 오픈 소스에 대새서 이렇게 설명 했습니다:

살면서 내가 들은 가장 중요한 생각은 소프트웨어의 권리 장전 과 같고 … 그 것은 ‘곧 당신이 오픈소스를 사용할때 변치 않는 권리를 주는 네가지 자유가 있다.’

소프트웨어는 다음 4가지에 있어 자유롭다:

  1. 상업적으로 사용할 수있고
  2. 수정 또는 구축할 수있고
  3. 배포할 수있고
  4. 보증이 되고

하지만 이 것은 지켜야 합니다:

  1. 소스 파일에 날짜 변경 기록
  2. 모든 수정은 똑같은 라이센스에 적용
  3. 소스 코드를 표면화

(See the simplified GPLv2 summary)

워드프레스의 간략한 역사

워드프레스는 2003년 미국의 메트 뮬렌웨그와 영국의 마이크 리틀이 합작한 소프트웨어 프로젝트로 시작되었습니다. 뮬렌웨그가 만든 b2(카페로그)라 불리는 오픈소스 블로깅 플랫폼의 다른 유형이었습니다. (fork)

뮬렌웨그은 이렇게 설명 했습니다:

워드프레스는 다른 오픈소스 프로젝트에 포크 분할로 시작했습니다. 내가 사용하고 블로깅하는 b2라 불리는 것이 있었는데 만든사람이 사라졌어요. 저와 영국에사는 이 분 마이크 리틀은 이 b2를 가져다가 다시 개발하기 시작했습니다.

결국 둘은 런던에서 2005년에 만났고 같은 해 뮬렌웨그는 Automattic회사 (‘Matt’가 보이시죠?)를 만들고 위드프레스.com도 온라인에 등장 하게 되었습니다.

Automattic은 워드프레스.com과 여러 워드프레스의 가장 유명한 Akismet같은 스팸 댓글을 막는 플럭인과, 워드프레스 설치를 업그레이드 시켜주는 Jetpack 플러그인의 추진력이 되고 있습니다.

워드프레스.com워드프레스.org의 다른 점

이 주제는 제가 전주에서 미트업 할 때 꼭 짚고 넘어가야 겠다고 생각했는데 왜냐하면 사람들이 이 둘의 차이를 헷갈려하고 있었기 때문입니다. 워드프레스.com과 워드프레스.org 주요 차이점은 .com은 서비스이고 .org는 소프트웨어를 다운로드해 주는 커뮤니티입니다.

이 둘의 차이를 전세와 매매라고 생각 해 봅시다:

  • 워드프레스.com은 집전세라고 생각하면 돼요. 워드프레스.com에 리모델링 옵션은 제한 되고 만약 웹사이트가 고장 나면 주인한테 연락 하고 고쳐야 합니다.
  • 반면, 워드프레스.org은 집매매라고 생각하면 되요. 당신은 워드프레스 소프트웨어를 다운로드하면 원하는 데로 재단장하고 재 디자인 할 수 있습니다.

그러므로 워드프레스.com은 초보자들이 웹사이트가 어떻게 운용되고 어떻게 잘 사용하는지 배울 수 있는 가장 좋은 곳입니다. 이렇게 익숙해지고 나면 워드프레스.org로 넘어가서 원하는 버전의 소프트웨어를 다운로드 하면 됩니다.

워드프레스.com은:

  1. 웹호스트 서비스
  2. 전세한 집과 같다
  3. 자유가 제한적이지만 돈을 내면 업그레이드를 할 수 있다

워드프레스.org는:

  1. 소프트웨어 다운로드와 코드 문서 장소
  2. 산집과 같아요
  3. 무제한 수정 (customization) 옵션

워드프레스는 얼마나 큰가?

지금은 워드프레스는 세계적으로 6천만 웹사이트에 설치 되어 있는데 이는 세계의 모든 웹사이트의 23%를 차지합니다. 또 Automattic회사는 10조 달라의 가치가 있습니다.

http://w3techs.com/technologies/history_overview/content_management/all/y/
http://w3techs.com/technologies/history_overview/content_management/all/y/

워드프레스는 다음과 같은 인기있고 유명한 웹사이트를 지원하고 있습니다:

  1. 뉴욕 타임스 블로그들
  2. CNN 블로그
  3. 포브스 블로그
  4. 로이터스 블로그
  5. Jay-Z
  6. 케이티 페리
  7. 텍크런치
  8. GOP (미국의 공화당)
  9. 메쉬어블

더 자세한 목록을 보려면, 워드프레스.com의 주목 할만한 사용자 페이지로 가세요. 전체 목록을 보려면, 워드프레스.org의 쇼케이스로 가세요.

한국에서 워드프레스를 사요하는 사이트 입니다:

  1. 서울시 홈페이지
  2. 블로터.net
  3. 삼성전자
  4. LG전자
  5. 연합뉴스TV
  6. GS 칼텍스
  7. KB 록스타
  8. 현대기업
  9. 웹엑츄얼리

isquery.com하고 hwangc.com에 좋은 워드프레스 웹사이트 모음이 있고 ko.wordpress.org에서 쇼케이스에 란덤 워드프레스 사이트 네개까지 있습니다.

왜 워드프레스는 관심을 가져야 하는가?

첫번째: 무료(공짜)니까

오픈소스의 성격상, GPL2라이센스 때문에 소프트웨어를 수정할 때 라이슨스 비용을 지불할 될요가 없습니다.

두번째: 강력하니까

당신의 생각이 지각하고 믿는 한 당신은 이룰 수 있습니다. –나폴레옹 힐

세번째: 확장이 무한대이니까

워드프레스.com세계의 제일 큰 워드프레스 설치 입니다. 단 하나의 코드를 가지고 각자의 독특한 데이타베이스 테이블을 만들어 쓰고 있는 5조 이상의 사용자들이 있습니다. 대단하지요!~

같은 방식으로 워드프레스는 당신의 웹사이트의 필요한 것을 채우기 위해 확장할 수 있습니다. 당신이 단순히 일기를 쓰는 블로그이거나 (1,000이상) 각각의 스토어 사이트가 필요한 포춘500 기업이든 상관없습니다.

네번째: 성장하고 있으니까

2014년에 12나라에서 81개 워드캠프를 했습니다. 또, 2014년은 워드프레스의 비영어 다운로드수가 영어 다운로드수를 능가한 첫 해였습니다. 이것은 워드프레스가 미국 뿐만 아니라 국제적으로 성장 하고 있다는 것을 보여주고 있습니다.

또, 워드프레스.com은 회사 규모가 훨씬 작지만 월별 방문자 수가 페이스북과 비슷합니다.

http://automattic.com/about/
http://automattic.com/about/

다섯번째: 쉬우니까

저는 HTML, 무들, 그리고 줌라 사이트를 프로그램잉 해 본 적이 있습니다. 제 경험상 워드프레스가 관리자 백앤드가 제일 쉽습니다. 몇년전 만해도 줌라는 워드프레스 보다 더 강했지만 2014년 워드프레스 5개 주요 발표와 아주 훌륭한 프로그래머 커뮤니티의 계속적인 발전으로 지금은 상황이 반전되었습니다.

사실, 제 경험에 2011년에 (theJeonjuHub.com)사이트를 HTML에서 줌라로 바꾼후에 2년안에 워드프레스로 결국 바꿨습니다. 왜냐하면, 줌라의 메뉴와 관리자 백앤드는 더 복잡 했기때문입니다.

보통은 워드프레스 사이트는:

  1. 5분 안에 설치할 수있고
  2. 4-5주 안에 만들 수있습니다

만약 MS워드할 수 있으면, 워드프레스 도 할 수 있습니다. 인터페이스는 비슷합니다.

여섯번째: 플랫폼을 만드는데 최고이니까

무엇인가 팔고 싶다면 플랫폼이 필요합니다. 워드프레스는 단순히 한달에 30명이 보는 블로그에서부터 한 달에 3만명이 보는 블로그까지 플렛폼을 쉽게 만드는 놀라운 도구입니다. (이것은 제 경험에 비취본 것입니다.)

KeyToKorean.com site stats
KeyToKorean.com site stats

일곱변째: 한국은 성장하는 시장이니까

최근에 본 구글서치 드렌드에 나온 그래프에 따르면, 검색이 남한은 워드프레스와 워드프레스 관련 주제에 대한 검색순위15 이었습니다. 주변국들과 비교해 보았을 때 한국의 성장 가능성이 많음을 알수 있습니다.

  1. 한국: 15
  2. 일본: 26
  3. 러시어: 25
  4. 중국: 20
  5. 몽골: 34
  6. 필리린: 57
  7. 말라시아: 40
  8. 인도네시아: 76
  9. 미국: 46

게다가, 현지 워드프레스 커뮤니티에 의한 한국 워드프레스는 엄청난 지원을 받고 있습니다.

여덟번째: 워드프레스 커뮤니티

워드프레스 커퓨니티는 상당히 크고 큰 도움을 주며 유용하고 친절합니다. 워드프레스 미업은 전세계에서 열리며 다른 사람들이 워드프레스 웹사이트를 만드는 것을 가르쳐주고 도와주고 있습니다.

저는 전주에서 워드프레스 미트업을 시잣했는데 이는 다른 워드프레스 사용자들이 웹사이트를 만드는 것을 돕기 위해 정기적으로 서로 만나는 자니를 마련하고 싶었기 때문입니다.

전주대에서 외국인 교수들한테 여러 워드프레스 워크숍을 열었고 개인적으로 1대1 워드프레스 웹사이트 조언과 훈련을 했습니다. 그래서 제 생각에 이베 정기적으로 워드프레스 도움을 위한 자리를 마련해야 갰다고 생각했습니다. 전주 워드프레스 미트업을 2015년 1월부터 시작 했습니다.

그러므로 지금은 ‘해피니스 엔진이어‘라고 생각하고 있습니다. 워드프레스의 ‘해피니스 엔진이어’는 워드프레스 포럼에서 도움과 행복준 종업원이지만 진짜 종업원은 되면 필요 없습니다. 필요한 유일한 것은 다른 워드프레스 사용자에게 도움과 행복을 주려고 싶습니다. 마냑 ‘해피니스 엔진이어’의 생각을 알고 싶으면, 재포스.com의 CEO 토니 셰이의 책 ‘딜리버링 해피니스‘을 읽어 보세요. 이 책은 모든 ‘해피니스 엔진이어’에 추천 도서입니다.

L

워드프레스로 무엇을 할 수 있습니까?

첫째: 웹사이트를 만들 수 있습니다

제 개인적으로는 다음과 같은 것을 만들었습니다:

  1. 교실에서 사용하는 사이트
  2. 학업용 사이트
  3. 학교와 기업 사이트
  4. 교육용 사이트
  5. 교회 웹사이트와 팟케스팅
  6. 포트폴리오 웹사이트
  7. 개인적 블로그 사이트 (이것과 같은)

두번째: 커뮤니티에 기여할 수 있습니다

워드프레스 커뮤니티에 참여하는 방법은 많습니다. 여기 워드프레스 미트업을 와서 벌써 참여하고 있습니다. 다른 참여 방법은 make.wordpress.org에 있습니다:

  1. 코어 (메인 소스코드) 개발하기
  2. 플러그인 만들기
  3. 테마 디자인하기
  4. 웹앱 만들기
  5. 도움 포럼에서 돕기
  6. 문서나 훈련서, 투토리얼를 쓰기
  7. 코어와 테마와 플러그인을 번역하기
  8. 워드프레스 미트업을 가입하거나 만드기

다시:

당신의 생각이 지각하고 믿는 한 당신은 이룰 수 있습니다. –나폴레옹 힐

그래서 가장 중요한 질문은 ‘무엇을 할 수 있습니까?’가 아니라:

‘무엇을 하겠습니까?’입니다.

All You Ever Wanted to Know About WordPress in 10 Minutes or Less

Here’s a quick rundown of my talk at the first WordPress Meetup Jeonju for 2015 (January 24).

In this talk, I covered 4 points:

  1. What is WordPress?
  2. How big is WordPress?
  3. Why should you care?
  4. What can you do with it?

What is it?

WordPress is an open-source Content Management System licensed under the GNU General Public License (GPL) version 2 license. This means the software is completely FREE to:

  1. Use commercially
  2. Modify or build upon
  3. Distribute
  4. Place under warranty

So long as you:

  1. Track dates/changes in the source files
  2. Keep all modifications under the same GPLv2 license
  3. Disclose the source code

(See the simplified GPLv2 summary)

WordPress was started as a joint software project by Matt Mullenweg and Mike Little in 2003. The two met personally in London in 2005, the same year that Matt formed the company Automattic and WordPress.com went live.

The Difference Between WordPress.com and WordPress.org

The major difference between WordPress.com and WordPress.org is that the .com will host your blog for FREE at http://yourname.wordpress.com (and you can’t change that address unless you pay for a premium upgrade), and the .org is where you can download your own full version of the software to upload it to your own self-hosted domain (http://www.yourname.net).

So, in this way, WordPress.com is the best place for people starting out with the software to learn the ropes, and once you’re comfortable with everything, then it’s time to move over to downloading your own software from WordPress.org.

Here are some more differences in a quick list:

WordPress.com
  1. Hosts your site for FREE at yourname.wordpress.com
  2. Limits your ability to customize colors, code, etc
  3. Has a limited number of plugins and FREE themes
  4. Offers upgrades you can pay for (premium themes, your own domain name, customizations, etc)
WordPress.org
  1. Is the DOWNLOAD location for the WordPress software, themes, and plugins
  2. Requires you own your own domain name and have a hosting provider
  3. The open source software allows FULL customization (depending on how deep you want to go)
  4. You have the ability to find and install your own themes and plugins, or even write your own

Think of it as the difference between renting a house and buying one.

WordPress.com is the renter where you can’t really change all the wallpaper to exactly how you might like, and you have to call the landlord if something breaks.

WordPress.org is the purchased home that provides the full software for you to freely download and do with as you please.

How big is WordPress?

WordPress powers over 60,000,000 websites around the world – 23% of all the world’s websites!

http://w3techs.com/technologies/history_overview/content_management/all/y/
http://w3techs.com/technologies/history_overview/content_management/all/y/

It powers plenty of famous and popular websites like:

  1. The New York Times blogs
  2. CNN blogs
  3. Forbes blogs
  4. Reuters blogs
  5. The Rolling Stones
  6. Jay-Z
  7. Katy Perry
  8. TechCrunch
  9. The GOP (US Republicans)
  10. Mashable

For a more robust list, see WordPress.com’s Notable Users page. And for a FULL list, see WordPress.org’s Showcase.

Why should you care?

#1: It’s Free

Because of its open-source nature and the GPL2 license, you never have to pay any kind of licensing fees to use or modify the software.

#2: It’s Powerful

There are:

Whatever your mind can conceive and believe, you can achieve. – Napoleon Hill

#3: It’s Scalable

WordPress.com is the world’s largest SINGLE INSTALLATION of WordPress. There are over 500 million users with their own unique database tables that are running on a SINGLE code base. Now that’s pretty impressive!

In the same way, WordPress can scale to meet any of your website needs – whether you are a blogger writing a daily diary, or a Fortune 500 company that needs individual store sites for each of its +1,000 stores (Best Buy).

#4: It’s Growing

In 2014, there were 81 WordCamps (large-scale WordPress conferences) held in over a dozen countries. And 2014 was also the first year that non-English downloads of WordPress surpassed English downloads. This shows the company is growing internationally as well as in the US market.

Additionally, the number of monthly unique visitors to WordPress.com is comparable to the number of monthly unique visitors to Facebook – though the company is much smaller.

http://automattic.com/about/
http://automattic.com/about/
#5: It’s Comparatively Easy

I’ve worked with, customized, and programmed:

  1. Static HTML sites
  2. Moodle
  3. Joomla!

And I can say from experience that WordPress has the LEAST complicated administrator backend.

Years ago, Joomla! may have been more powerful than WordPress, but with the 5 major releases of WordPress in 2014 and continual development from a fine community of programmers, it is no longer.

In fact, after transferring one site (TheJeonjuHub.com) from static HTML to Joomla! in 2011, I ended up transferring it over to WordPress within 2 years to better enable the content creators of the site to work. Joomla! menus and the backend just ended up being more complex than they needed to be.

Generally, a full WordPress site can be:

  1. Setup in 5 minutes
  2. Built in 4-5 weeks

If you can Word, then you can WordPress. The Editor interface is virtually the same.

#6: (Not in the PPT) The WordPress Community

The WordPress community is quite large and very supportive, helpful, and friendly. WordPress Meetups are held FREE of charge all over the world to teach and help others build WordPress websites.

WordPress Support Staff call themselves “Happiness Engineers” and make it their job to “deliver happiness” on the user forums:

  1. WordPress.com Forums (WordPress.com hosted sites)
  2. WordPress.org Forums (self-hosted sites)

In fact, a “recommended read” for their Happiness Engineers is Delivering Happiness by Tony Hsieh, CEO of Zappos.com.

#7: It’s great for Platform Building

If you want to sell anything, you need a platform. WordPress is an amazing platform building tool that makes it easy for anyone to take a simple blog with 30 views per month to over 30,000 views per month (I speak from experience).

KeyToKorean.com site stats
KeyToKorean.com site stats

Main idea:

If you have a story worth telling, then you have a platform worth building.

What can you do with it?

From my own experience, I’ve built:

  1. Classroom sites
  2. Academy sites
  3. School & organizational sites
  4. Educational sites
  5. Church websites + podcasting
  6. Portfolio websites
  7. And personal blog sites (like this one)

Again:

Whatever your mind can conceive and believe, you can achieve. – Napoleon Hill

So the real question isn’t “What can you do with it?” but rather:

What will you do with it?


Liked my short PPT and talk (article)? Leave me a comment below.

Or for our Meetup members, feel free to ask any questions you might have about WordPress or give me suggestions for the next Meetup subject and talk!~

Quick Tip: How to Add FontAwesome (or Other Icon Fonts) to your WP Theme or Plugin

So, you want to use FontAwesome in your Theme, eh? Add the following snippet to your functions.php file:

wp_enqueue_style( 'font-awesome', '//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css' );

Do you want to use it in your Plugin? Just place that code in one of your functions within your plugin file and hook into the wp_enqueue_scripts Action:

add_action( 'wp_enqueue_scripts', 'plugin_slug_load_iconfont' );

function plugin_slug_load_iconfont() {
    wp_enqueue_style( 'font-awesome', '//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css' );
}

The same principle holds true for the other icon fonts that are available online.

But here, this one’s even easier: Dashicons. They’re already included as part of the WordPress admin dashboard, so in order for you to get them working for non-logged in users, all you have to do is:

add_action( 'wp_enqueue_scripts', 'plugin_slug_load_dashicons' );

function plugin_slug_load_dashicons() {
    wp_enqueue_style( 'dashicons' );
}

Simple, right?

How to Enable Social Icons in the WordPress Theme Customizer

I figure I might as well write about this before I deprecate it in my upcoming Theme. Social Nav Menus are much better.

A week or two ago as I was getting deep into developing a new WordPress Theme, I stumbled upon some pretty good looking code that would allow me to add Social Media Icons to the Theme Customizer like so:

theme_customizer_social_icons

At the time, it was a superb idea. I was just learning about all the possibilities the Theme Customizer affords developers and it was fun to implement the code and watch it work so smoothly.

However, after watching Morten Rand-Hendriksen’s Building Themes from Scratch Using Underscores and reading Justin Tadlock’s post on building Social Nav menus, I think I will scratch this bit of code in favor of Tadlock’s solution.

It just makes sense to not want to have to re-enter your Social Media links in every new Theme you install. Why not just leave all the Social links you want in a nav menu and use your Theme to style and output it specifically as a Social menu?

TwentyFifteen also does just that. (See #3 in this post.)

Nevertheless, I felt that the code itself was worth my time to invest in learning, so I’m reproducing it here for reference. This code is modified slightly from the example I found – I’ve included email as an option. It should be pretty easy to see how it’s done:

add_section(), add_setting(), add_control()

 /**
 * Social site icons for Quick Menu bar
 * 
 * @link: https://www.competethemes.com/social-icons-wordpress-menu-theme-customizer/
 */
 $wp_customize->add_section( 'social_settings', array(
     'title' => __( 'Social Media Icons', 'theme_slug' ),
     'priority' => 100,
 ));
 
 $social_sites = theme_slug_get_social_sites();
 $priority = 5;
 
 foreach( $social_sites as $social_site ) {
 
     $wp_customize->add_setting( "$social_site", array(
         'type' => 'theme_mod',
         'capability' => 'edit_theme_options',
         'sanitize_callback' => 'esc_url_raw',
     ));
 
     $wp_customize->add_control( $social_site, array(
         'label' => ucwords( __( "$social_site URL:", 'social_icon' ) ),
         'section' => 'social_settings',
         'type' => 'text',
         'priority' => $priority,
     ));
 
     $priority += 5;
 }

function theme_slug_get_social_sites()

/**
 * Social Media icon helper functions
 * 
 * @return array
 * 
 * @link: https://www.competethemes.com/social-icons-wordpress-menu-theme-customizer/
 */
function theme_slug_get_social_sites() {
 
     // Store social site names in array
     $social_sites = array(
         'twitter', 
         'facebook', 
         'google-plus',
         'flickr',
         'pinterest', 
         'youtube',
         'vimeo',
         'tumblr',
         'dribbble',
         'rss',
         'linkedin',
         'instagram',
         'email'
     );
 return $social_sites;
}

function theme_slug_show_social_icons()

// Get user input from the Customizer and output the linked social media icons
function theme_slug_show_social_icons() {
 
     $social_sites = theme_slug_get_social_sites();
 
     // Any inputs that aren't empty are stored in $active_sites array
     foreach( $social_sites as $social_site ) {
         if ( strlen( get_theme_mod( $social_site ) ) > 0 ) {
             $active_sites[] = $social_site;
         }
     }
 
     // For each active social site, add it as a list item
     if ( !empty( $active_sites ) ) {
         echo "<ul class='social-media-icons'>";
 
         foreach ( $active_sites as $active_site ) { ?>

             <li>
             <a href="<?php echo get_theme_mod( $active_site ); ?>">
             <?php if( $active_site == 'vimeo' ) { ?>
                 <i class="fa fa-<?php echo $active_site; ?>-square"></i> <?php
             } else if( $active_site == 'email' ) { ?>
                 <i class="fa fa-envelope"></i> <?php
             } else { ?>
                 <i class="fa fa-<?php echo $active_site; ?>"></i> <?php
             } ?>
             </a>
             </li> <?php
         }
         echo "</ul>";
     }
}

Oh, and obviously you’ll need to remember to enqueue FontAwesome in your WordPress Theme in order to make this all function properly. Then, the CSS styling is totally up to you.

6 Choices for a localhost Web Development Environment

For web development, the bare minimum you need access to is AMP:

  1. Apache server
  2. MySQL database
  3. PHP programming language

You can install these as a collection on your computer locally using various OS-specific installations:

  1. Windows: WAMP
  2. Mac: MAMP
  3. Linux: LAMP
  4. Cross-platform: XAMPP

Or, if you prefer an auto-installerBitnami is an excellent option. (And Softaculous also looks promising.)

Wikipedia also lists plenty of other Apache, MySQL, and PHP bundles if you’re interested in checking out any of the other ones, but in this post, I’ve taken screenshots of each major offering for you to compare:

#1. WAMP

WAMP homepage and server window
WAMP Server Homepage

#2. MAMP

MAMP homepage and server window
MAMP Server Homepage

#3. LAMP

LAMP Wikipedia and install
LAMP Software Bundle on Wikipedia

As the above picture indicates, if you want a straight up LAMP installation, you’ll likely be doing it all piece-by-piece – or through your Linux distribution’s get or yum installers. But if you’re a Linux user, you’re probably already comfortable with that kind of thing. Here are instructions for installing LAMP on various Linux distributions (source: Wikipedia):

#4. XAMPP

XAMPP homepage and server window
XAMPP Server Homepage

#5. AMPPS

AMPPS homepage and server window
AMPPS Homepage

#6. Bitnami

Bitnami homepage and server window
Bitnami Homepage

I’ve personally used WAMP, MAMP, and XAMPP and none has really been disappointing.

  • XAMPP is slightly more complicated and has more features (but that’s to be expected because it’s a Linux program as well).
  • WAMP is a good and simple option for Windows – I’ve used it with my high school students.
  • MAMP is a clean and simple option for Mac and I’ve used it exclusively on Mac before.
  • MAMP PRO is also a good option if you’re willing to pay a little bit because it allows multiple WordPress installations on the same localhost.

However, recently, I’ve been using Bitnami quite a bit on the recommendation of Morten Rand-Hendriksen, from Lynda.com, and I’ve quite enjoyed it. It’s very easy to download and install and the Server Manager program is very clean and well designed. It’s a simple one-click START or STOP for your servers and a one-click ACCESS SITE to go to your localhost install right from the Manager.

Which installation do you prefer? Leave me a comment with your thoughts.

This post has been modified slightly from my original post on aaronsnowberger.com

Default WordPress Theme Customizer Controls

I’ve recently been messing around with the WP Theme Customizer a bunch and have been looking for the names of all the default settings, sections, and controls. I found them in a file in the wp-includes folder:

/wp-includes/class-wp-customize-manager.php

The various default section names, setting names, and 'priority' are listed below.This is mostly useful if you’re trying to simply rearrange the position ('priority' => 20) of some options, or want to rename some of them like so:

$wp_customize->get_section( 'nav' )->title = __( 'Menus', 'theme_slug' );
$wp_customize->get_control( 'blogname' )->priority = 10;
$wp_customize->get_setting( 'background_color' )->default = '#169A70';
  1. Site Title & Tagline ('title_tagline'), 20
    1. 'blogname'
    2. 'blogdescription'
    3. 'display_header_text'
  2. Colors ('colors'), 40
    1. 'header_textcolor'
    2. 'background_color'
  3. Header Image ('header_image'), 60
    1. 'header_image'
    2. 'header_image_data'
  4. Background Image ('background_image'), 80
    1. 'background_image_thumb'
    2. 'background_repeat'
    3. 'background_position_x'
    4. 'background_attachment'
  5. Navigation ('nav'), 100
    1. "nav_menu_locations[{$location}]"
  6. Widgets ('widgets'), 110
  7. Static Front Page ('static_front_page'), 120
    1. 'show_on_front'
    2. 'page_on_front'
    3. 'page_for_posts'

The code specifically for 'widgets' is located in:

/wp-includes/class-wp-customize-widgets.php

The full code for the default Theme Customizer settings is here:

 /**
 * Register some default controls.
 *
 * @since 3.4.0
 */
 public function register_controls() {

 /* Control Types (custom control classes) */
 $this->register_control_type( 'WP_Customize_Color_Control' );
 $this->register_control_type( 'WP_Customize_Upload_Control' );
 $this->register_control_type( 'WP_Customize_Image_Control' );
 $this->register_control_type( 'WP_Customize_Background_Image_Control' );

 /* Site Title & Tagline */

 $this->add_section( 'title_tagline', array(
 'title' => __( 'Site Title & Tagline' ),
 'priority' => 20,
 ) );

 $this->add_setting( 'blogname', array(
 'default' => get_option( 'blogname' ),
 'type' => 'option',
 'capability' => 'manage_options',
 ) );

 $this->add_control( 'blogname', array(
 'label' => __( 'Site Title' ),
 'section' => 'title_tagline',
 ) );

 $this->add_setting( 'blogdescription', array(
 'default' => get_option( 'blogdescription' ),
 'type' => 'option',
 'capability' => 'manage_options',
 ) );

 $this->add_control( 'blogdescription', array(
 'label' => __( 'Tagline' ),
 'section' => 'title_tagline',
 ) );

 /* Colors */

 $this->add_section( 'colors', array(
 'title' => __( 'Colors' ),
 'priority' => 40,
 ) );

 $this->add_setting( 'header_textcolor', array(
 'theme_supports' => array( 'custom-header', 'header-text' ),
 'default' => get_theme_support( 'custom-header', 'default-text-color' ),

 'sanitize_callback' => array( $this, '_sanitize_header_textcolor' ),
 'sanitize_js_callback' => 'maybe_hash_hex_color',
 ) );

 // Input type: checkbox
 // With custom value
 $this->add_control( 'display_header_text', array(
 'settings' => 'header_textcolor',
 'label' => __( 'Display Header Text' ),
 'section' => 'title_tagline',
 'type' => 'checkbox',
 ) );

 $this->add_control( new WP_Customize_Color_Control( $this, 'header_textcolor', array(
 'label' => __( 'Header Text Color' ),
 'section' => 'colors',
 ) ) );

 // Input type: Color
 // With sanitize_callback
 $this->add_setting( 'background_color', array(
 'default' => get_theme_support( 'custom-background', 'default-color' ),
 'theme_supports' => 'custom-background',

 'sanitize_callback' => 'sanitize_hex_color_no_hash',
 'sanitize_js_callback' => 'maybe_hash_hex_color',
 ) );

 $this->add_control( new WP_Customize_Color_Control( $this, 'background_color', array(
 'label' => __( 'Background Color' ),
 'section' => 'colors',
 ) ) );


 /* Custom Header */

 $this->add_section( 'header_image', array(
 'title' => __( 'Header Image' ),
 'theme_supports' => 'custom-header',
 'priority' => 60,
 ) );

 $this->add_setting( new WP_Customize_Filter_Setting( $this, 'header_image', array(
 'default' => get_theme_support( 'custom-header', 'default-image' ),
 'theme_supports' => 'custom-header',
 ) ) );

 $this->add_setting( new WP_Customize_Header_Image_Setting( $this, 'header_image_data', array(
 // 'default' => get_theme_support( 'custom-header', 'default-image' ),
 'theme_supports' => 'custom-header',
 ) ) );

 $this->add_control( new WP_Customize_Header_Image_Control( $this ) );

 /* Custom Background */

 $this->add_section( 'background_image', array(
 'title' => __( 'Background Image' ),
 'theme_supports' => 'custom-background',
 'priority' => 80,
 ) );

 $this->add_setting( 'background_image', array(
 'default' => get_theme_support( 'custom-background', 'default-image' ),
 'theme_supports' => 'custom-background',
 ) );

 $this->add_setting( new WP_Customize_Background_Image_Setting( $this, 'background_image_thumb', array(
 'theme_supports' => 'custom-background',
 ) ) );

 $this->add_control( new WP_Customize_Background_Image_Control( $this ) );

 $this->add_setting( 'background_repeat', array(
 'default' => get_theme_support( 'custom-background', 'default-repeat' ),
 'theme_supports' => 'custom-background',
 ) );

 $this->add_control( 'background_repeat', array(
 'label' => __( 'Background Repeat' ),
 'section' => 'background_image',
 'type' => 'radio',
 'choices' => array(
 'no-repeat' => __('No Repeat'),
 'repeat' => __('Tile'),
 'repeat-x' => __('Tile Horizontally'),
 'repeat-y' => __('Tile Vertically'),
 ),
 ) );

 $this->add_setting( 'background_position_x', array(
 'default' => get_theme_support( 'custom-background', 'default-position-x' ),
 'theme_supports' => 'custom-background',
 ) );

 $this->add_control( 'background_position_x', array(
 'label' => __( 'Background Position' ),
 'section' => 'background_image',
 'type' => 'radio',
 'choices' => array(
 'left' => __('Left'),
 'center' => __('Center'),
 'right' => __('Right'),
 ),
 ) );

 $this->add_setting( 'background_attachment', array(
 'default' => get_theme_support( 'custom-background', 'default-attachment' ),
 'theme_supports' => 'custom-background',
 ) );

 $this->add_control( 'background_attachment', array(
 'label' => __( 'Background Attachment' ),
 'section' => 'background_image',
 'type' => 'radio',
 'choices' => array(
 'scroll' => __('Scroll'),
 'fixed' => __('Fixed'),
 ),
 ) );

 // If the theme is using the default background callback, we can update
 // the background CSS using postMessage.
 if ( get_theme_support( 'custom-background', 'wp-head-callback' ) === '_custom_background_cb' ) {
 foreach ( array( 'color', 'image', 'position_x', 'repeat', 'attachment' ) as $prop ) {
 $this->get_setting( 'background_' . $prop )->transport = 'postMessage';
 }
 }

 /* Nav Menus */

 $locations = get_registered_nav_menus();
 $menus = wp_get_nav_menus();
 $num_locations = count( array_keys( $locations ) );

 $this->add_section( 'nav', array(
 'title' => __( 'Navigation' ),
 'theme_supports' => 'menus',
 'priority' => 100,
 'description' => sprintf( _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) ) . "\n\n" . __('You can edit your menu content on the Menus screen in the Appearance section.'),
 ) );

 if ( $menus ) {
 $choices = array( 0 => __( '&mdash; Select &mdash;' ) );
 foreach ( $menus as $menu ) {
 $choices[ $menu->term_id ] = wp_html_excerpt( $menu->name, 40, '&hellip;' );
 }

 foreach ( $locations as $location => $description ) {
 $menu_setting_id = "nav_menu_locations[{$location}]";

 $this->add_setting( $menu_setting_id, array(
 'sanitize_callback' => 'absint',
 'theme_supports' => 'menus',
 ) );

 $this->add_control( $menu_setting_id, array(
 'label' => $description,
 'section' => 'nav',
 'type' => 'select',
 'choices' => $choices,
 ) );
 }
 }

 /* Static Front Page */
 // #WP19627

 $this->add_section( 'static_front_page', array(
 'title' => __( 'Static Front Page' ),
 // 'theme_supports' => 'static-front-page',
 'priority' => 120,
 'description' => __( 'Your theme supports a static front page.' ),
 ) );

 $this->add_setting( 'show_on_front', array(
 'default' => get_option( 'show_on_front' ),
 'capability' => 'manage_options',
 'type' => 'option',
 // 'theme_supports' => 'static-front-page',
 ) );

 $this->add_control( 'show_on_front', array(
 'label' => __( 'Front page displays' ),
 'section' => 'static_front_page',
 'type' => 'radio',
 'choices' => array(
 'posts' => __( 'Your latest posts' ),
 'page' => __( 'A static page' ),
 ),
 ) );

 $this->add_setting( 'page_on_front', array(
 'type' => 'option',
 'capability' => 'manage_options',
 // 'theme_supports' => 'static-front-page',
 ) );

 $this->add_control( 'page_on_front', array(
 'label' => __( 'Front page' ),
 'section' => 'static_front_page',
 'type' => 'dropdown-pages',
 ) );

 $this->add_setting( 'page_for_posts', array(
 'type' => 'option',
 'capability' => 'manage_options',
 // 'theme_supports' => 'static-front-page',
 ) );

 $this->add_control( 'page_for_posts', array(
 'label' => __( 'Posts page' ),
 'section' => 'static_front_page',
 'type' => 'dropdown-pages',
 ) );
 }

Quick Tip: You have reached a domain that is pending ICANN verification

icann-registration-pending
Just tried to log into one of my client’s websites this morning and was met with the lovely notification you see here. I’ve never encountered this before on any of the other sites I’ve built.

So, why am I seeing this now? Apparently, the domain owner’s name and email address were never verified via the follow-up email they sent out after the domain was registered.

Here’s what Ryan Your Tech Guy says:

The domain has to be verified. You will have to verify the domain with the email sent to the whois contact email. Once you have verified the domain, ICANN will un-suspend the domain.

So, if you find yourself facing a similar message one day when trying to visit or work on your site (or any other site for that matter), do yourself a favor and (1) check your email, then (2) verify your contact info (or be helpful and “resend verification email” to the site owner – hopefully with an Inbox full of those emails, they’ll remember to click on one to verify their info).

Here’s some additional info:

  1. Dreamhost’s Official Verification Policy
  2. Ryan Your Tech Guy’s Write-up
  3. TechRepublic’s News Article

(Actually, I’m a bit surprised to be seeing this now. I’ve worked on and built up the site since July 2014. Why suspend it after 6 months of production? Why not earlier?)

Quick Tip: Problems After Upgrading WordPress? Try Some of These Suggestions

If you get stuck in a redirect loop, or get any number of HTTP errors (404, 500, 302, etc), then it probably has something to do with your .htaccess file.

  1. WordPress htaccess Rules
  2. Extended Instructions for Upgrading WordPress
  3. phpMyAdmin Fix