A presentation for WordCamp Louisville on how to prepare a theme for distribution. It mainly follows the theme review process outlined at WordPress.org. It also discusses reasons to release a theme and briefly highlights ways to stand out from the crowd.
Learn the basics of building WordPress themes. This presentation is appropriate for people who are somewhat familiar with PHP and databases.
To Learn More, check out http://techliminal.com
Submitting to the WordPress Theme DirectoryAnthony Hortin
Learn about the steps involved in getting a WordPress theme ready for submission to the WordPress Theme Directory. It covers the Theme Review Guidelines, WordPress development standards and the GPL requirements along with testing requirements. Everything you need to know about making your theme submission as smooth as possible.
Responsive Theme Workshop - WordCamp Columbus 2015
Take Underscore Starter theme from Automattic and add in Foundation5 css library from Zurb to build a responsive starter theme.
Go over a quick crash course into what it takes to develop a WordPress theme and then jump into some deeper waters on how to utilize Custom Post Types, create custom theme options, and custom meta boxes.
Learn the basics of building WordPress themes. This presentation is appropriate for people who are somewhat familiar with PHP and databases.
To Learn More, check out http://techliminal.com
Submitting to the WordPress Theme DirectoryAnthony Hortin
Learn about the steps involved in getting a WordPress theme ready for submission to the WordPress Theme Directory. It covers the Theme Review Guidelines, WordPress development standards and the GPL requirements along with testing requirements. Everything you need to know about making your theme submission as smooth as possible.
Responsive Theme Workshop - WordCamp Columbus 2015
Take Underscore Starter theme from Automattic and add in Foundation5 css library from Zurb to build a responsive starter theme.
Go over a quick crash course into what it takes to develop a WordPress theme and then jump into some deeper waters on how to utilize Custom Post Types, create custom theme options, and custom meta boxes.
The Re-brand WordPress Admin is for developers who want to give their clients a more personalized and less confusing content management system with amazing look and feel.
Pour ce second talk de la saison, nous allons nous intéresser à Wordpress et à son usage en tant que plateforme de développement. Cette présentation va vous donner les clés pour adapter votre workflow de développement avec ce CMS et vous permettre d’aller plus loin que son système de blogging de base.
“A Full day of WordPress2.5, focused on design and development. We’ll cover the essentials of setup, installation, and management. We’ll learn how to build custom themes using CSS, PHP, and image
architecture. We’ll also jump into custom code and template files, best practices for design and management, integrating Flash, and how to build and install WP and custom plug-ins.”
In Drupal 7, I used contrib base themes like Bootstrap, Omega, or Zen as a starting point for most of the themes I created. Primarily, themers use base themes to improve accessibility, get more semantic markup, make responsive websites, and save time.
The Drupal 8 theme system provides more accessible, semantic markup in core and is responsive out-of-the-box. It's the perfect time to try theming without a contrib base theme. If you're deciding how to structure your first Drupal 8 theme and which base theme to use, this is the talk for you. The talk will include:
Overview of Drupal 8 core themes
Tips for building a responsive theme from scratch
Adding a grid system
Responsive navigation
Structuring CSS or SASS
Learn How to Use Atomic Design to Make Your Site Manageable and AdaptableAcquia
<p>Future-proof your website, speed its delivery and promote consistency by building with Atomic Design principles. Modern websites assume more business responsibility and importance than ever before. As a result, they’ve grown into immensely complex organisms. With their greater size, you now need formal systems to make large websites manageable again - which is why today’s top digital organizations are turning to Atomic design.</p>
<p>Atomic design is a methodology of creating and maintaining design systems that rely on components to produce fully functioning and scalable pages. By building and reusing atoms, you can accelerate your team’s workflow, keep code consistent, avoid redundant work and streamline future site updates. Join FFW’s UK Technical Director and Acquia’s UX Manager to learn high level concepts and anecdotal deep-dives to see how Atomic Design can make your organization more efficient.</p>
<p>You’ll come away with:</p>
<ul>
<li>An introduction and overview of Atomic Design</li>
<li>The tangible benefits of Atomic Design: from content reusability to built in consistency</li>
<li>How we use Atomic Design and how you can use Atomic Design too</li></ul>
The Re-brand WordPress Admin is for developers who want to give their clients a more personalized and less confusing content management system with amazing look and feel.
Pour ce second talk de la saison, nous allons nous intéresser à Wordpress et à son usage en tant que plateforme de développement. Cette présentation va vous donner les clés pour adapter votre workflow de développement avec ce CMS et vous permettre d’aller plus loin que son système de blogging de base.
“A Full day of WordPress2.5, focused on design and development. We’ll cover the essentials of setup, installation, and management. We’ll learn how to build custom themes using CSS, PHP, and image
architecture. We’ll also jump into custom code and template files, best practices for design and management, integrating Flash, and how to build and install WP and custom plug-ins.”
In Drupal 7, I used contrib base themes like Bootstrap, Omega, or Zen as a starting point for most of the themes I created. Primarily, themers use base themes to improve accessibility, get more semantic markup, make responsive websites, and save time.
The Drupal 8 theme system provides more accessible, semantic markup in core and is responsive out-of-the-box. It's the perfect time to try theming without a contrib base theme. If you're deciding how to structure your first Drupal 8 theme and which base theme to use, this is the talk for you. The talk will include:
Overview of Drupal 8 core themes
Tips for building a responsive theme from scratch
Adding a grid system
Responsive navigation
Structuring CSS or SASS
Learn How to Use Atomic Design to Make Your Site Manageable and AdaptableAcquia
<p>Future-proof your website, speed its delivery and promote consistency by building with Atomic Design principles. Modern websites assume more business responsibility and importance than ever before. As a result, they’ve grown into immensely complex organisms. With their greater size, you now need formal systems to make large websites manageable again - which is why today’s top digital organizations are turning to Atomic design.</p>
<p>Atomic design is a methodology of creating and maintaining design systems that rely on components to produce fully functioning and scalable pages. By building and reusing atoms, you can accelerate your team’s workflow, keep code consistent, avoid redundant work and streamline future site updates. Join FFW’s UK Technical Director and Acquia’s UX Manager to learn high level concepts and anecdotal deep-dives to see how Atomic Design can make your organization more efficient.</p>
<p>You’ll come away with:</p>
<ul>
<li>An introduction and overview of Atomic Design</li>
<li>The tangible benefits of Atomic Design: from content reusability to built in consistency</li>
<li>How we use Atomic Design and how you can use Atomic Design too</li></ul>
A short introduction to web components. The talk covers the basic standard specified by W3c like HTML imports, templates, shadow DOM and custom elements.
Further a short overview of polyme, x-tags/Brick is given and shows how these bring together native browser implementation, polyfills and framework code to leverage web components technology today.
Grok Drupal (7) Theming - 2011 Feb updateLaura Scott
These are slides from my presentation at Drupal Design Camp Los Angeles, February 2011. Video with rather low resolution version of the slides (we inadvertently recorded my presentation notes screen rather than the projector screen) can be viewed on blip:
http://ladrupal.blip.tv/file/4731722/
The sequels of steps the browser goes through to convert HTML, CSS and JavaScript into actual pixels on the screen – that’s the critical rendering path. By understanding what happens between writing the markup and looking at our websites we can optimize the performance of each page.
Jonathan's presentation provided great examples of some awesome sites and design companies that are using ExpressionEngine. He then gave an excellent walkthrough of the features and power of this designer-friendly CMS.
The major takeaway from his presentation is that he and Nate are "not programmers" and that you don't have to be to learn and utilize ExpressionEngine. It is built to work within your code to add functionality and deliver content dynamically.
Introductory talk on Deliverance for Word Plone Day 2010 Boston. For this presentation, both a Plone site and Wordpress site were themed using Deliverance.
Presentation for the Denver HTML5 Users Group on advanced HTML techniques.
Focuses, specifically, on semantic markup (POSH), new HTML5 structural elements, microformats, microdata and ARIA landmark roles
"As frontend developers, it’s often our job to integrate (X)HTML and CSS with various content management systems, forums and discussion boards, ecommerce platforms and other software.
So, are all theming experiences the same? Obviously not. This talk aims to promote discussion about best practice in theming/templating/skinning, with a view to leaving us techies all more enlightened. Richard Carter, Creative Director at Peacock Carter Ltd, takes us through a selection of popular open source software packages and the ups, downs and total cock-ups he’s seen along the way."
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
82. CODE QUALITY
Themes are required to generate no
JavaScript errors.
Sounds good.
83. CODE QUALITY
Themes are required to have a valid HTML
document HEAD:
• Valid DOCTYPE declaration
• <html> tag includes language_attributes()
• Correct XFN profile link in <head> tag: <head profile="http://gmpg.org/
xfn/11"> (Exception: Wholly HTML 5 themes must not have the profile, as
HTML 5 does not support it.)
• Correct content-type meta declaration
• <title> includes bloginfo() for title and description
84. CODE QUALITY
Themes are required to have a valid HTML
document HEAD:
• Valid DOCTYPE declaration
85. CODE QUALITY: Valid Doctype
With HTML 5 it’s simple.
header.php
<!DOCTYPE html>
86. CODE QUALITY
Themes are required to have a valid HTML
document HEAD:
• Valid DOCTYPE declaration
• <html> tag includes language_attributes()
88. CODE QUALITY
Themes are required to have a valid HTML
document HEAD:
• Valid DOCTYPE declaration
• <html> tag includes language_attributes()
• Correct XFN profile link in <head> tag:
<head profile="http://gmpg.org/xfn/11">
(Exception: Wholly HTML 5 themes must not have the profile, as HTML 5 does not support it.)
90. CODE QUALITY
Themes are required to have a valid HTML
document HEAD:
• Valid DOCTYPE declaration
• <html> tag includes language_attributes()
• Correct XFN profile link in <head> tag:
<head profile="http://gmpg.org/xfn/11">
(Exception: Wholly HTML 5 themes must not have the profile, as HTML 5 does not support it.)
• Correct content-type meta declaration
91. CODE QUALITY: Content-Type
Again, with HTML 5 it’s easy.
header.php
<head>
<meta charset="<?php bloginfo('charset'); ?>" />
92. CODE QUALITY
Themes are required to have a valid HTML
document HEAD:
• Valid DOCTYPE declaration
• <html> tag includes language_attributes()
• Correct XFN profile link in <head> tag:
<head profile="http://gmpg.org/xfn/11">
(Exception: Wholly HTML 5 themes must not have the profile, as HTML 5 does not support it.)
• Correct content-type meta declaration
• <title> includes bloginfo() for title and description
93. CODE QUALITY: <title> tag
Copied from the Twenty Ten theme.
header.php
<title>
<?php
// Print the <title> tag based on what is being viewed.
// Taken from the 2010 theme.
global $page, $paged;
wp_title('—', true, 'right');
// Add the blog name.
bloginfo('name');
// Add the blog description for the home/front page.
$site_description = get_bloginfo('description', 'display');
if ($site_description && (is_home() || is_front_page()))
echo " — $site_description";
// Add a page number if necessary:
if ($paged >= 2 || $page >= 2)
echo ' — ' . sprintf('Page %s', max($paged, $page));
?>
</title>
94. FUNCTIONALITY
Theme is required to incorporate the following
WordPress core functionality:
95. FUNCTIONALITY
Theme is required to incorporate the following
WordPress core functionality:
• Automatic Feed Links
96. FUNCTIONALITY: Automatic Feed Links
Add default posts and comments RSS feed links via wp_head()
functions.php
// Add default posts and comments RSS feed links to head
add_theme_support('automatic-feed-links');
97. FUNCTIONALITY
Theme is required to incorporate the following
WordPress core functionality:
• Automatic Feed Links
• Widgets
98. FUNCTIONALITY: Widgets
Initiate widget area in the admin and set HTML output. (1 of 2)
functions.php
function magnolia_widgets_init() {
register_sidebar(array(
'name' => 'Main Sidebar',
'id' => 'main-sidebar',
'description' => 'The main sidebar of the site.',
'before_widget' => '<section id="%1$s" class="secondary-block %2$s"><div>',
'after_widget' => '</div></section>',
'before_title' => '</div><header class="secondary-block-label"><h1 class="secondary-
block-title">',
'after_title' => '</h1></header><div class="secondary-block-content">',
));
}
//Register sidebars by running magnolia_widgets_init() on the widgets_init hook.
add_action('widgets_init', 'magnolia_widgets_init');
99. FUNCTIONALITY: Widgets
Define widget area in theme. (2 of 2)
sidebar.php
<?php if (!dynamic_sidebar('main-sidebar')) : ?>
<!-- STUFF -->
<?php endif; ?>
100. FUNCTIONALITY
Theme is required to incorporate the following
WordPress core functionality:
• Automatic Feed Links
• Widgets
• Comments
101. FUNCTIONALITY: Comments
Set single comment display and functionality (taken from Twenty Ten
theme). (1 of 4)
functions.php
if (!function_exists('magnolia_comment')) :
function magnolia_comment($comment, $args, $depth) {
// Comment function data from Twenty Ten theme.
}
endif;
102. FUNCTIONALITY: Comments
PHP template tag to output appropriate JS for threaded comments.
(2 of 4)
header.php
<?php if (is_singular()) { wp_enqueue_script('comment-reply'); } ?>
<?php wp_head(); ?>
</head>
105. FUNCTIONALITY: Comments
Call comments.php from single.php (and page.php). (3 of 4)
single.php & page.php
<aside class="comments">
<?php
// The first parameter is the file to call. Defaults to comments.php.
// The second parameter is whether to separate comments by comment type.
// (pingback, trackbacks, comment, etc.)
comments_template('', true);
?>
</aside>
106. FUNCTIONALITY: Comments
Copied from Twenty Ten theme. (4 of 4)
comments.php
// OTHER STUFF
// Copied from Twenty Ten theme.
// Have to change a few things though.
// Primarily the call to the function we created in functions.php
<?php wp_list_comments(array('callback' => 'magnolia_comment')); ?>
// OTHER STUFF
107. FUNCTIONALITY
Theme is recommended to incorporate the following
WordPress core functionality, but is not required to do so.
108. FUNCTIONALITY
Theme is recommended to incorporate the following
WordPress core functionality, but is not required to do so.
• Navigation Menus
109. FUNCTIONALITY: Navigation Menus
Register the navigation menu. (1 of 2)
functions.php
// This theme uses wp_nav_menu() in one location.
register_nav_menus(array(
'primary' => 'Primary Navigation',
));
110. FUNCTIONALITY: Navigation Menus
Add it to the theme. (2 of 2)
header.php
<?php if (has_nav_menu('primary')) { ?>
<nav class="main-nav">
<?php
wp_nav_menu(
array(
'theme_location' => 'primary',
'container' => '',
'menu_class' => 'main-nav-list',
'depth' => '0', // Sub pages are shown beneath the tabs.
)
);
?>
<span class="clear"></span>
</nav>
<?php } ?>
111. FUNCTIONALITY
Theme is recommended to incorporate the following
WordPress core functionality, but is not required to do so.
• Navigation Menus
• Post Thumbnails
112. FUNCTIONALITY: Post Thumbnails
Register support. (1 of 2)
functions.php
// This theme uses post thumbnails
add_theme_support('post-thumbnails');
113. FUNCTIONALITY: Post Thumbnails
Add it to the theme. (2 of 2)
single.php, index.php & archive.php
<?php if (has_post_thumbnail()) { ?>
<p class="post-thumbnail"><?php the_post_thumbnail('thumbnail'); ?></p>
<?php } ?>
114. FUNCTIONALITY
Theme is recommended to incorporate the following
WordPress core functionality, but is not required to do so.
• Navigation Menus
• Post Thumbnails
• Custom Header
115. FUNCTIONALITY
Theme is recommended to incorporate the following
WordPress core functionality, but is not required to do so.
• Navigation Menus
• Post Thumbnails
• Custom Header
• Custom Background
116. FUNCTIONALITY
Theme is recommended to incorporate the following
WordPress core functionality, but is not required to do so.
• Navigation Menus
• Post Thumbnails
• Custom Header
• Custom Background
• Visual Editor CSS
117. TEMPLATE TAGS & HOOKS
All template tags and hooks used in a Theme are required
to be implemented properly. The following template tags
and hooks are required to be included where appropriate:
118. TEMPLATE TAGS & HOOKS
All template tags and hooks used in a Theme are required
to be implemented properly. The following template tags
and hooks are required to be included where appropriate:
• wp_head()
119. TEMPLATE TAGS & HOOKS
Required to be placed directly before the <body> tag.
header.php
<?php wp_head(); ?>
</head>
120. TEMPLATE TAGS & HOOKS
All template tags and hooks used in a Theme are required
to be implemented properly. The following template tags
and hooks are required to be included where appropriate:
• wp_head()
• body_class()
122. TEMPLATE TAGS & HOOKS
All template tags and hooks used in a Theme are required
to be implemented properly. The following template tags
and hooks are required to be included where appropriate:
• wp_head()
• body_class()
• $content_width
123. TEMPLATE TAGS & HOOKS
Used for images and content.
functions.php
/* Set width for content and images.
--- The layout is fluid with max- and min-width constraints.
The value below represents the half-way width between
*/
if (!isset($content_width))
$content_width = 556;
124. TEMPLATE TAGS & HOOKS
All template tags and hooks used in a Theme are required
to be implemented properly. The following template tags
and hooks are required to be included where appropriate:
• wp_head()
• body_class()
• $content_width
• post_class()
125. TEMPLATE TAGS & HOOKS
Same as the body_class() but for posts.
index.php, single.php & archive.php
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
126. TEMPLATE TAGS & HOOKS
All template tags and hooks used in a Theme are required
to be implemented properly. The following template tags
and hooks are required to be included where appropriate:
• wp_head()
• body_class()
• $content_width
• post_class()
• wp_link_pages()
127. TEMPLATE TAGS & HOOKS
If a post or page is paginated.
index.php, single.php & archive.php
<?php wp_link_pages(array('before' => '<div class="post-pages">' . '<span class="post-pages-
label">Pages:</span> ', 'after' => '</div>')); ?>
128. TEMPLATE TAGS & HOOKS
All template tags and hooks used in a Theme are required
to be implemented properly. The following template tags
and hooks are required to be included where appropriate:
• wp_head()
• body_class()
• $content_width
• post_class()
• wp_link_pages()
• paginate_comments_links() or
previous_comments_link()/next_comments_link()
130. TEMPLATE TAGS & HOOKS
All template tags and hooks used in a Theme are required
to be implemented properly. The following template tags
and hooks are required to be included where appropriate:
• wp_head()
• body_class()
• $content_width
• post_class()
• wp_link_pages()
• paginate_comments_links() or
previous_comments_link()/next_comments_link()
• posts_nav_link(), or previous_posts_link()/
next_posts_link(), or paginate_links()
133. TEMPLATE TAGS & HOOKS
All template tags and hooks used in a Theme are required
to be implemented properly. The following template tags
and hooks are required to be included where appropriate:
• wp_head()
• body_class()
• $content_width
• post_class()
• wp_link_pages()
• paginate_comments_links() or
previous_comments_link()/next_comments_link()
• posts_nav_link(), or previous_posts_link()/
next_posts_link(), or paginate_links()
• wp_footer()
134. TEMPLATE TAGS & HOOKS
Directly before the closing </body> tag.
footer.php
<?php wp_footer(); ?>
</body>
135. INCLUDING FILES
If incorporated into the Theme, standard template files are
required to be called using the correct template tag
136. INCLUDING FILES
If incorporated into the Theme, standard template files are
required to be called using the correct template tag
header.php
137. INCLUDING FILES
If incorporated into the Theme, standard template files are
required to be called using the correct template tag
header.php
<?php get_header(); ?>
GOOD!
138. INCLUDING FILES
If incorporated into the Theme, standard template files are
required to be called using the correct template tag
header.php
<?php include(TEMPLATEPATH . '/header.php') ?>
BAD!
139. INCLUDING FILES
If incorporated into the Theme, standard template files are
required to be called using the correct template tag
header-secondary.php
<?php get_template_part('header', 'secondary'); ?>
140. INCLUDING FILES
If incorporated into the Theme, standard template files are
required to be called using the correct template tag
html5.js
<!--[if lt IE 9]>
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js"></script>
<![endif]-->
141. SITE INFORMATION
If incorporated into the Theme, site information is
required to be called using the correct template tag.
This is what we talked
about in the “Build” section
142. WORDPRESS-GENERATED CSS CLASSES
Themes are required to support the following WordPress-
defined CSS classes, or similar elements
Alignment Classes:
.aligncenter
.alignleft
.alignright
Caption Related Classes:
.wp-caption
.wp-caption-text
.gallery-caption
143. WORDPRESS-GENERATED CSS CLASSES
Themes are required to support the following WordPress-
defined CSS classes, or similar elements
Alignment Classes:
.aligncenter
.alignleft
.alignright
Caption Related Classes:
.wp-caption
.wp-caption-text
.gallery-caption
146. WORDPRESS-GENERATED CSS CLASSES
Themes are required to support the following WordPress-
defined CSS classes, or similar elements
Alignment Classes:
.aligncenter
.alignleft
.alignright
Caption Related Classes:
.wp-caption
.wp-caption-text
.gallery-caption
149. WORDPRESS-GENERATED CSS CLASSES
Themes are recommended to support the following
WordPress-generated classes.
Post Classes:
.sticky
Comment Classes:
.bypostauthor
150. WORDPRESS-GENERATED CSS CLASSES
Themes are recommended to support the following
WordPress-generated classes.
Post Classes:
.sticky
Comment Classes:
.bypostauthor
153. WORDPRESS-GENERATED CSS CLASSES
Themes are recommended to support the following
WordPress-generated classes.
Post Classes:
.sticky
Comment Classes:
.bypostauthor
159. THEME TEMPLATE FILES
Submitted theme are recommended not to include files
named like the following.
• page-foobar.php
• category-foobar.php
• tag-foobar.php
• taxonomy-foobar.php
160. THEME TEMPLATE FILES
Themes are recommended to use core markup for the
following forms, using the indicated template tag:
• Login Form — wp_login_form()
• Search Form — wp_search_form()
161. THEME TEMPLATE FILES
Themes are recommended to use core markup for the
following forms, using the indicated template tag:
• Login Form — wp_login_form()
• Search Form — wp_search_form()
searchform.php
162. LICENSING
Themes are required to be 100% GPL-licensed, or use a
GPL-compatible license. This includes all PHP, HTML, CSS,
images, fonts, icons, and everything else.
All of the theme must be GPL-Compatible.
163. THEME NAME
Theme Name Guidelines are required for new Themes,
and recommended for existing Themes.
164. THEME NAME
Theme Name Guidelines are required for new Themes,
and recommended for existing Themes.
• Don’t use “WordPress” in the name
165. THEME NAME
Theme Name Guidelines are required for new Themes,
and recommended for existing Themes.
• Don’t use “WordPress” in the name
• Don’t use “Theme” in the name
166. THEME NAME
Theme Name Guidelines are required for new Themes,
and recommended for existing Themes.
• Don’t use “WordPress” in the name
• Don’t use “Theme” in the name
• Don’t use HTML or CSS or any other version-specific,
markup-related term
167. THEME NAME
Theme Name Guidelines are required for new Themes,
and recommended for existing Themes.
• Don’t use “WordPress” in the name
• Don’t use “Theme” in the name
• Don’t use HTML or CSS or any other version-specific,
markup-related term
• Don’t credit yourself in the name.
168. THEME NAME
Theme Name Guidelines are required for new Themes,
and recommended for existing Themes.
• Don’t use “WordPress” in the name
• Don’t use “Theme” in the name
• Don’t use HTML or CSS or any other version-specific,
markup-related term
• Don’t credit yourself in the name.
• Feel free to use the WP in the name.
169. CREDIT LINKS
Themes may optionally designate Author URI and Theme
URI in style.css.
Themes may optionally include a public-facing credit link
in the Theme footer.
Themes may optionally include a Theme Option to display
additional credit links or text.
BOOKMARK
http://themeshaper.com/sample-theme-options/
170. THEME DOCUMENTATION
Please be clear about the following in your
Theme documentation.
1. Indicate what the theme will do.
2. Adhere to the standard naming conventions.
3. Indicate deficiencies, if any.
4. Clearly reference anything out of the ordinary with comments in the code.
5. If you have any special requirements indicate these explicitly.
6. Provide contact information, if possible, for support and questions.
171. THEME UNIT TESTS
The Theme must meet all the requirements of the
Theme Unit Test.
Referenced in the beginning of
the “Build” section.
172.
173.
174.
175.
176. THEME OBSOLESCENCE
Themes must be kept current once submitted, approved,
and accepted into the Theme Repository.