3. DESCRIPTION
• Oenology is designed to be a simple, minimalist, yet feature-complete and fully documented
Theme intended to serve as a base for child Themes and as an educational reference for
Theme development using WordPress functions, action/filter hooks, and template tags.
Oenology includes built-in breadcrumb navigation, and supports the Theme Customizer,
Contextual Help, Post Formats, Navigation Menus, Post Thumbnails, Custom Backgrounds,
Custom Image Headers, and Custom Editor Style. Oenology features a responsive design, and
includes plug-and-play support for the WP-Paginate and Yoast Breadcrumbs plugins.
• <strong>Requires WordPress 3.5, and is compatible up to WordPress 3.6.</strong>
4. == DESCRIPTION ==
• Oenology is the study of all aspects of wine-making. Much like wine-making, WordPress Theme
development is both a science and an art.
• Much like wine-making, WordPress Theme development is the result of a fermentation process
that transforms something simple into something beautiful and complex. Much like wine-
making, WordPress Theme development involves an understanding of both the "indoor" (the
back-end data management) and the "outdoor" (website design) elements of the process. Much
like a fine wine, a great WordPress Theme is often the result of years of study by a passionate
developer.
• Oenology doesn't purport to be a fine wine or even a great WordPress Theme. Rather,
Oenology is designed to help others learn the art and science of WordPress Theme
development.
• Consider Oenology as the fertile soil from which your own enjoyment and passion for
WordPress Theme development can grow.
• You, too, can become an Oenologist!
5. == INSTALLATION ==
• Manual installation:
1. Upload the „oenology‟ folder to the „/wp-content/themes/‟ directory
• Installation using “Add New Theme”
1. From your Admin UI (Dashboard), use the menu to select Themes -> Add New
2. Search for „oenology‟
3. Click the „Install‟ button to open the theme's repository listing
4. Click the „Install‟ button
• Activiation and Use
1. Activate the Theme through the „Themes‟ menu in WordPress
2. See Appearance -> Oenology Options for Theme Options
6. == FREQUENTLY ASKED QUESTIONS ==
• = So, how do I learn from Oenology? =
• Each Theme template file includes a considerable amount of inline documentation,
explaining the code use. Also, the Theme includes a function reference, that lists
each function, hook, and tag used in the Theme, along with a WordPress Codex
reference, an explanation of the function, and example usage.
• = What is the Oenology Reference admin page? =
• The Oenology Reference admin page contains the latest updates to general Theme
notes, the FAQ, Changelog, License, and, perhaps most importantly, the Code
Reference.
• The Code Reference tab of the Oenology Reference page now replaces the
"oenology-reference.txt" file, as the master cross-reference file, that contains all of
the functions, template tags, and hooks used in the Theme
7. == FREQUENTLY ASKED QUESTIONS ==
• = What happened to oenology-reference.txt? =
• oenology-reference.txt has been replaced by the "Code Reference" Tab of the "Oenology Reference"
admin page. See Dashboard -> Appearance -> Oenology Reference -> Code Reference.
• = Why so many template files? =
• Oenology is likely broken down into more template parts than the average Theme. This deconstruction
is by design, in order to facilitate easier Child-Theming.
• = What's in store for the future? =
• First and foremost, since Oenology is intended to be a learning tool, the inline and reference
documentation will be a continual work-in-progress, based upon user feedback. This documentation is
complete as of Oenology Version 1.0, but will continue to be updated and improved.
• Other features that may be added in the future:
• - Others, as determined by user feedback and demand
8. • = What About SEO? =
• I am a firm believer that the single, most important criterion for SEO is good content. That said, the Theme does take apply
some SEO considerations:
1. The Theme assumes that the H1 heading tag will only be applied to the Post Title, and not to any post-entry
content. Accordingly, if you use an H1 heading in the post-entry content, you'll find that it is styled rather similarly to
the H2 heading tag.
2. The Theme template files ensure that the most important content - the post-entry content - is rendered as early as
possible. The loop.php template file is called first, and the sidebar-left.php and sidebar-right.php files are called
second.
3. The Theme supplies a default breadcrumb navigation function.
4. The Theme includes plug-and-play support for the following plugins: WP-Paginate, Yoast Breadcrumbs
• Most of the rest is really up to the user. The Theme is intended to be SEO-neutral: neither hurting your SEO, nor going out of
its way (and adding considerable bloat that is better added via the many good plugins available) to improve it.
14. TRANSLATION FUNCTION
• Never include PHP variables
• $string = sprintf( __('You have %d tacos', 'plugin-domain'), $number );
• Singular plural different strings
• $string = sprintf( _n('You have %d taco.', 'You have %d tacos.', $number, 'plugin-domain'),
$number );
• Order of variables (argument swapping) **DO NOT use double quote
• $string = sprintf( __('You have %1$d tacos and %2$d burritos', 'plugin-domain'),
$taco_count, $burrito_count );
• Disambiguate
• $string = _x( 'Buffalo', 'an animal', 'plugin-domain' );
• $string = _x( 'Buffalo', 'a city in New York', 'plugin-domain' );
• $string = _x( 'Buffalo', 'a verb meaning to confuse somebody', 'plugin-domain' );
15. APIS
• Plugin API - Hooks, Actions, and Filters to use in your Plugins (version 2.1; has links to
older version articles)
• Shortcode API - A tutorial and reference for the shortcode API (new in version 2.5)
• Dashboard Widgets API - A reference with examples for adding new widgets to the admin
dashboard.
• Settings API - A reference with examples for adding new settings to existing settings
screens.
• Options API - Details about the generic option storage system.
• Transients API - Details about the temporary/time-constrained data storage system.
• Widgets API - A reference with examples for creating widgets for use in sidebars.
• Quicktags API - A reference for adding buttons to the HTML editor.
• Rewrite API - Details about the URL rewriting API.
27. User meta User insertion/removal
add_user_meta wp_create_user
delete_user_meta wp_delete_user
get_user_meta wp_insert_user
update_user_meta wp_update_user
get_the_author_meta