wordpress a cms for beginners, geeks and those in-between
DESCRIPTION
Slides used in presentation to the Cleveland Digital Publishing User Group at their August 30th 2012 meeting. The presentation was designed to give a broad overview of WordPress to users of varying skill levels including coders and non-coders alike.TRANSCRIPT
WordPressA CMS for Beginners, Geeks and Those In-Between
Heidi A. CoolAugust 30, 2012
A brief and incomplete tour.
With just a week to tour Europe we’ll just focus on a few highlights.
Why WordPress?
• Self-hosted & hosted options
• Open Source
• Supports W3C Web Standards
• Relatively simple learning curve for developers & clients
• WordPress sites don't need to look like blogs
If you can make it in HTML you can make it WordPress.
WordPress.org is a robust self-hosted content management system (CMS) originally developed for blogging, but now capable of running many types of Web sites. Using WordPress in place of a regular (X)HTML site makes it easier to maintain design consistency, include recurring elements in pages, produce RSS feeds, organize and archive, support search engine optimization, and much more.
Which WordPress?
WordPress.com WordPress.org
WordPress LiteHosted on WordPress.comFree w/Fees for Extra FeaturesEasy to Set-UpLimited CustomizationGood for beginning bloggers and very small/simple business sites.
WordPress on SteroidsSelf-Hosted on your Web Hosting AccountFree - (Paid Themes and Plug-ins available)Easy to Set-Up Basic SiteVirtually Unlimited CustomizationGood for blogging and developing sites of varying sizes and complexities.
Either will get you from A to B, but WordPress.org offers more raw power.
Installation
WordPress.com WordPress.org
• Sign-up• Choose a theme.• Start typing.
• Purchase Web Hosting from a provider that supports WordPress.org.
• Install WordPress in a subdirectory using “easy install” options.
• Choose a theme, or develop one yourself.
• Add Plug-Ins• Start Typing.
WordPress Dashboard (.org)
WordPress.orgWordPress.com
Upgrading to a self-hosted site? No worries, you’ll recognize the interface.
Dashboard Options
• Edit Blog Posts
• Upload Images & media
• Edit static pages
• Monitor comments
• Add functionality
• Add users
• Control Settings
Choosing Themes
Choosing Themes
Free, Commercial & Specialty, Frameworks
Choosing Themes
Free
Twenty-Eleven Default Theme Twenty-Eleven with Minor Modifications to Theme Options and Template Files
Choosing Themes
Commercial & Specialty
Choosing Themes
Frameworks
Choosing ThemesCustom Themes
Site Home vs. Blog Home
Static Pages
Pages are hierarchical.Parent Page
Child Page
Blog Posts
Posts are arranged by date and topic.
Browse chronologically or alphabetically.
Use Categories, Tags and Custom Taxonomies
CategoriesBroad topics, akin to sections of a grocery store such as
meat, produce and baked goods.Tags
Narrow topics, akin to items in the store. Custom Taxonomies
You decide how they should be used.
Custom Post TypesCustom Post Type: PortfolioTaxonomies: Portfolio Type, Location, Architects & Developers
Custom Post Type: FoodTaxonomies: Menus, Food Groups,
Course, Meal Type, Special Diets
Custom Post Types
Taxonomies
Post Type: Foods
MediaImages can be inserted or attached.
Inserted images appear on posts and pages.
Images that are only attached won’t always appear on the page, but may be used elsewhere.
Featured ImagesFeatured images may be used elsewhere.
Custom Fields<div class="foodinfo">! ! <?php the_content(); ?><h6><?php the_field('price'); ?> - <?php the_field('price_type'); ?> </h6> <div class="mealtype"><?php echo get_the_term_list($post->ID, 'mealtype', '<span>Meal Type:</span><em> ',', ','</em>'); ?></div><div class="course"><?php echo get_the_term_list($post->ID, 'course', '<span>Course:</span><em> ',', ','</em>'); ?></div> <div class="specialdiet"><?php echo get_the_term_list($post->ID, 'specialdiets', '<span>Special Diets:</span><em> ',', ','</em>'); ?></div> <div class="food"><?php echo get_the_term_list($post->ID, 'foodgroups', '<span>Food Group:</span><em> ',', ','</em>'); ?></div> <div class="menus"><?php echo get_the_term_list($post->ID, 'menus', '<span>Featured on these menus:</span><em> ',', ','</em>'); ?></div>
Useful Plug-insPlug-ins add features and functionality
• Calenders• Search Engine Optimization• Widgets• Mobile Layouts• Calculators• Database Back-Up• Podcasting• Social Media• Testimonials• Quotes• Audio• Video• Puzzles & Games...
Useful Plug-insTinyMCE Advanced let’s you control what users can format.
Text
<p><span style="text-decoration: underline;"><span style="color: #f35f0b;"><strong><span style="font-size: xx-large;">Giant Orange Underlined Headlines are Bad!</span></strong></span></span></p>
Remove Font Size and Text Color Buttons to prevent design abuse.
EEK! Non-semantic code, too many spans, and ugly orange type!!!
Custom Themes
Template Hierarchy
http://codex.wordpress.org/Template_Hierarchy
Custom Themes
Custom Page Template
Custom Themes
WordPress Loop
<div class="blogpostwrapper"><?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?><div class="blogpost"><h3 class="entrytitle" id="post-<?php the_ID(); ?>"> <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?> </a> </h3><?php the_content(); ?></div>
<?php endwhile; ?><?php else : ?><h6 class="center">Not Found</h6><p class="center">Sorry, but you are looking for something that isn't here.</p>
<?php include (TEMPLATEPATH . "/searchform.php"); ?><?php endif; ?></div>
http://www.coolwebdev.com/samplewordpress/the-wordpress-loop/
Custom Themes
Queries
Custom Themes
Wonderful little bits of PHP
We’ve just barely scratched the surface.
The WordPress Codex is your friend.
http://codex.wordpress.org/
Don’t Forget Security
• Choose a reliable hosting provider.
• Use something other than "Admin" as your username.
• Upgrade WordPress when upgrades are made available. These sometimes include security updates.
• Back-up your database regularly. This way if your site is compromised you can get it back up and running more quickly.
• Choose carefully when giving others Admin level access to the site.
• Check your file permissions to make sure others don't have write access.
• Store wp-config.php one level above your WordPress directory (when possible) and make sure it can only be read by you and your Web server.
• Check .htaccess to make sure your directory listings aren't browsable.
• Read up on security tips.
Any of us can be hacked.
Resourceshttp://www.coolwebdev.com/samplewordpress/
about/wordpress-links-resources/
Heidi A. Cool@hacool