Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tharsheblows/c4f3aeeb67ee8ff0d856399c6a34b103 to your computer and use it in GitHub Desktop.
Save tharsheblows/c4f3aeeb67ee8ff0d856399c6a34b103 to your computer and use it in GitHub Desktop.
beginners' wordpress development workshop site oct 2017
<?xml version="1.0" encoding="UTF-8" ?>
<!-- This is a WordPress eXtended RSS file generated by WordPress as an export of your site. -->
<!-- It contains information about your site's posts, pages, comments, categories, and other content. -->
<!-- You may use this file to transfer that content from one site to another. -->
<!-- This file is not intended to serve as a complete backup of your site. -->
<!-- To import this information into a WordPress site follow these steps: -->
<!-- 1. Log in to that site as an administrator. -->
<!-- 2. Go to Tools: Import in the WordPress admin panel. -->
<!-- 3. Install the "WordPress" importer from the list. -->
<!-- 4. Activate & Run Importer. -->
<!-- 5. Upload this file using the form provided on that page. -->
<!-- 6. You will first be asked to map the authors in this export file to users -->
<!-- on the site. For each author, you may choose to map to an -->
<!-- existing user on the site or to create a new user. -->
<!-- 7. WordPress will then import each of the posts, pages, comments, categories, etc. -->
<!-- contained in this file into your site. -->
<!-- generator="WordPress/4.8.2" created="2017-10-10 12:26" -->
<rss version="2.0"
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:wp="http://wordpress.org/export/1.2/"
>
<channel>
<title>TECH(K)NOW WordPress workshop</title>
<link>http://tkwrkshp.wpengine.com</link>
<description>Welcome to WordPress!</description>
<pubDate>Tue, 10 Oct 2017 12:26:19 +0000</pubDate>
<language>en-GB</language>
<wp:wxr_version>1.2</wp:wxr_version>
<wp:base_site_url>http://tkwrkshp.wpengine.com</wp:base_site_url>
<wp:base_blog_url>http://tkwrkshp.wpengine.com</wp:base_blog_url>
<wp:author><wp:author_id>1</wp:author_id><wp:author_login><![CDATA[wpengine]]></wp:author_login><wp:author_email><![CDATA[bitbucket@wpengine.com]]></wp:author_email><wp:author_display_name><![CDATA[wpengine]]></wp:author_display_name><wp:author_first_name><![CDATA[]]></wp:author_first_name><wp:author_last_name><![CDATA[]]></wp:author_last_name></wp:author>
<wp:author><wp:author_id>2</wp:author_id><wp:author_login><![CDATA[tkwrkshp]]></wp:author_login><wp:author_email><![CDATA[wp.beginners.wrkshp@gmail.com]]></wp:author_email><wp:author_display_name><![CDATA[tkwrkshp]]></wp:author_display_name><wp:author_first_name><![CDATA[]]></wp:author_first_name><wp:author_last_name><![CDATA[]]></wp:author_last_name></wp:author>
<wp:category>
<wp:term_id>2</wp:term_id>
<wp:category_nicename><![CDATA[techknow-workshop]]></wp:category_nicename>
<wp:category_parent><![CDATA[]]></wp:category_parent>
<wp:cat_name><![CDATA[TECH(K)NOW workshop]]></wp:cat_name>
</wp:category>
<wp:category>
<wp:term_id>1</wp:term_id>
<wp:category_nicename><![CDATA[uncategorized]]></wp:category_nicename>
<wp:category_parent><![CDATA[]]></wp:category_parent>
<wp:cat_name><![CDATA[Uncategorized]]></wp:cat_name>
</wp:category>
<wp:term>
<wp:term_id><![CDATA[2]]></wp:term_id>
<wp:term_taxonomy><![CDATA[category]]></wp:term_taxonomy>
<wp:term_slug><![CDATA[techknow-workshop]]></wp:term_slug>
<wp:term_parent><![CDATA[]]></wp:term_parent>
<wp:term_name><![CDATA[TECH(K)NOW workshop]]></wp:term_name>
</wp:term>
<wp:term>
<wp:term_id><![CDATA[3]]></wp:term_id>
<wp:term_taxonomy><![CDATA[nav_menu]]></wp:term_taxonomy>
<wp:term_slug><![CDATA[top-menu]]></wp:term_slug>
<wp:term_parent><![CDATA[]]></wp:term_parent>
<wp:term_name><![CDATA[top menu]]></wp:term_name>
</wp:term>
<wp:term>
<wp:term_id><![CDATA[1]]></wp:term_id>
<wp:term_taxonomy><![CDATA[category]]></wp:term_taxonomy>
<wp:term_slug><![CDATA[uncategorized]]></wp:term_slug>
<wp:term_parent><![CDATA[]]></wp:term_parent>
<wp:term_name><![CDATA[Uncategorized]]></wp:term_name>
</wp:term>
<wp:term><wp:term_id>3</wp:term_id><wp:term_taxonomy>nav_menu</wp:term_taxonomy><wp:term_slug><![CDATA[top-menu]]></wp:term_slug><wp:term_name><![CDATA[top menu]]></wp:term_name>
</wp:term>
<generator>https://wordpress.org/?v=4.8.2</generator>
<item>
<title>Hello world!</title>
<link>http://tkwrkshp.wpengine.com/hello-world/</link>
<pubDate>Tue, 20 Jun 2017 20:39:42 +0000</pubDate>
<dc:creator><![CDATA[wpengine]]></dc:creator>
<guid isPermaLink="false">http://wpengine.com8/?p=1</guid>
<description></description>
<content:encoded><![CDATA[Welcome to WordPress. This is your first post. Edit or delete it, then start writing!]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>1</wp:post_id>
<wp:post_date><![CDATA[2017-06-20 20:39:42]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-06-20 20:39:42]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[open]]></wp:comment_status>
<wp:ping_status><![CDATA[open]]></wp:ping_status>
<wp:post_name><![CDATA[hello-world]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[post]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[2]]></wp:meta_value>
</wp:postmeta>
<wp:comment>
<wp:comment_id>1</wp:comment_id>
<wp:comment_author><![CDATA[A WordPress Commenter]]></wp:comment_author>
<wp:comment_author_email><![CDATA[wapuu@wordpress.example]]></wp:comment_author_email>
<wp:comment_author_url>https://wpengine.com/</wp:comment_author_url>
<wp:comment_author_IP><![CDATA[]]></wp:comment_author_IP>
<wp:comment_date><![CDATA[2017-06-20 20:39:42]]></wp:comment_date>
<wp:comment_date_gmt><![CDATA[2017-06-20 20:39:42]]></wp:comment_date_gmt>
<wp:comment_content><![CDATA[Hi, this is a comment.
To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.
Commenter avatars come from <a href="https://gravatar.com">Gravatar</a>.]]></wp:comment_content>
<wp:comment_approved><![CDATA[1]]></wp:comment_approved>
<wp:comment_type><![CDATA[]]></wp:comment_type>
<wp:comment_parent>0</wp:comment_parent>
<wp:comment_user_id>0</wp:comment_user_id>
</wp:comment>
</item>
<item>
<title>Sample Page</title>
<link>http://tkwrkshp.wpengine.com/sample-page/</link>
<pubDate>Tue, 20 Jun 2017 20:39:42 +0000</pubDate>
<dc:creator><![CDATA[wpengine]]></dc:creator>
<guid isPermaLink="false">http://wpengine.com8/?page_id=2</guid>
<description></description>
<content:encoded><![CDATA[This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:
<blockquote>Hi there! I'm a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like pi&#241;a coladas. (And gettin' caught in the rain.)</blockquote>
...or something like this:
<blockquote>The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.</blockquote>
As a new WordPress user, you should go to <a href="http://wpengine.com8/wp-admin/">your dashboard</a> to delete this page and create new pages for your content. Have fun!]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>2</wp:post_id>
<wp:post_date><![CDATA[2017-06-20 20:39:42]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-06-20 20:39:42]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[open]]></wp:ping_status>
<wp:post_name><![CDATA[sample-page]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[page]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<wp:postmeta>
<wp:meta_key><![CDATA[_wp_page_template]]></wp:meta_key>
<wp:meta_value><![CDATA[default]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_wp_page_template]]></wp:meta_key>
<wp:meta_value><![CDATA[default]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>Some general notes on WordPress themes</title>
<link>http://tkwrkshp.wpengine.com/some-general-notes-on-wordpress-themes/</link>
<pubDate>Mon, 02 Oct 2017 13:49:45 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://techknowwrkshp.wpengine.com/?p=4</guid>
<description></description>
<content:encoded><![CDATA[<a href="https://developer.wordpress.org/themes/">The official WordPress theme developer handbook is here.</a>
<a href="https://developer.wordpress.org/themes/advanced-topics/child-themes/">We're going to be using a child theme.</a>
<blockquote>A child theme allows you to change small aspects of your site’s appearance yet still preserve your theme’s look and functionality.</blockquote>
It's for those times when you like most of what a theme does and just want to change a few things. (More importantly, it allows us to demonstrate a few key concepts in a short time!)
<!--more-->
The parent theme we're using is <a href="https://en-gb.wordpress.org/themes/twentyseventeen/">Twenty Seventeen.</a> <a href="https://codex.wordpress.org/Twenty_Seventeen">Here is an overview</a> and you can <a href="https://make.wordpress.org/core/2016/11/29/theming-with-twenty-seventeen/">find some information on theming on the WordPress blog, Make WordPress Core</a>.
The child theme we'll be editing is the creatively named "Child of Twenty Seventeen" and you'll find it in <a href="/wp-admin/themes.php">Appearance-&gt;Themes</a>. There are no changes so far, so the site will look exactly the same as the Twenty Seventeen theme.
Today we're going to use the new code editor which is included with the core software but when you go to develop something properly, don't use this!  It's a tool that allows you to edit the files on your live site (yikes). We're only doing it today because time is short. In real life, you'd use version control and have a deployment process.
With that caveat, <a href="/wp-admin/theme-editor.php">go to the code editor in Appearace-&gt;Editor</a> and have a look at the files included.]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>5</wp:post_id>
<wp:post_date><![CDATA[2017-10-02 13:49:45]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-02 13:49:45]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[some-general-notes-on-wordpress-themes]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[post]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="category" nicename="techknow-workshop"><![CDATA[TECH(K)NOW workshop]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[4]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>Style and style.css</title>
<link>http://tkwrkshp.wpengine.com/style-and-style-css/</link>
<pubDate>Tue, 03 Oct 2017 11:16:43 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://techknowwrkshp.wpengine.com/?p=7</guid>
<description></description>
<content:encoded><![CDATA[All WordPress themes require style.  Well, a style.css file to be precise. This file tells WordPress the name of the theme and, if it's a child theme, the theme to which it belongs. It needs to be at the top level of the theme directory and must have comments at the top to initialise the theme — <a href="https://developer.wordpress.org/themes/basics/main-stylesheet-style-css/">here are details about the header comments required</a>.
<ul>
<li><a href="/wp-admin/theme-editor.php">Have a look here at the Child of Twentyseventeen theme's style.css file.</a></li>
</ul>
<!--more-->
The parent theme's css file is loaded elsewhere for performance reasons. But the important bit is that it's loaded first, so anything in the child theme's style.css file will overwrite it.
Have a play with it however you'd like, adding any styles below the comments. <em>Don't delete those! </em>Remember that they are required for WordPress to know to load our theme.
Maybe try the one or more of the following:
<ul>
<li>Turn the .site-content div background yellow</li>
<li>Transform all the text in the body to uppercase</li>
<li>Make the site title red and blink*.</li>
</ul>
Once you're done, come back and we'll look at the theme's template files and html.
*Just copy and paste this (<a href="https://stackoverflow.com/questions/13955163/imitating-a-blink-tag-with-css3-animations">thank you Neil from Stack Overflow</a>):
<pre class="snippet-code-css lang-css prettyprint prettyprinted"><code><span class="pun">.</span><span class="pln">site-title </span><span class="pun">{</span>
<span class="kwd">animation</span><span class="pun">:</span><span class="pln"> blink-animation </span><span class="lit">1s</span><span class="pln"> steps</span><span class="pun">(</span><span class="lit">5</span><span class="pun">,</span><span class="pln"> start</span><span class="pun">)</span><span class="pln"> infinite</span><span class="pun">;</span>
<span class="kwd">-webkit-animation</span><span class="pun">:</span><span class="pln"> blink-animation </span><span class="lit">1s</span><span class="pln"> steps</span><span class="pun">(</span><span class="lit">5</span><span class="pun">,</span><span class="pln"> start</span><span class="pun">)</span><span class="pln"> infinite</span><span class="pun">;</span>
<span class="pun">}
</span>body.has-header-image .site-title a{
color: red;
}
<span class="pun">@</span><span class="pln">keyframes blink-animation </span><span class="pun">{</span><span class="pln">
to </span><span class="pun">{</span>
<span class="kwd">visibility</span><span class="pun">:</span><span class="pln"> hidden</span><span class="pun">;</span>
<span class="pun">}</span>
<span class="pun">}</span>
<span class="pun">@-</span><span class="pln">webkit-keyframes blink-animation </span><span class="pun">{</span><span class="pln">
to </span><span class="pun">{</span>
<span class="kwd">visibility</span><span class="pun">:</span><span class="pln"> hidden</span><span class="pun">;</span>
<span class="pun">}</span>
<span class="pun">}</span></code></pre>]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>7</wp:post_id>
<wp:post_date><![CDATA[2017-10-03 11:16:43]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-03 11:16:43]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[style-and-style-css]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[post]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="category" nicename="techknow-workshop"><![CDATA[TECH(K)NOW workshop]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[2]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>Welcome!</title>
<link>http://tkwrkshp.wpengine.com/</link>
<pubDate>Tue, 03 Oct 2017 11:18:23 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://techknowwrkshp.wpengine.com/?page_id=8</guid>
<description></description>
<content:encoded><![CDATA[Hi! This is the front page of the site you can use to play with during the TECH(K)NOW workshop. You will be cowboy coding, ie coding on a live site with the potential to accidentally kill it. In real life, you should never ever edit your code like this, but this is just to play with it and we don't have a lot of time so just this once it's ok (famous last words... ☺️ )
You can <a href="/wp-login.php">log into the site here</a> with the details you've been given.
Make sure you're on the staging site — the url should be [installname].staging.wpengine.com. This is so that if the site breaks, it's easier to fix.
<a href="http://tkwrkshp.wpengine.com/some-general-notes-on-wordpress-themes/">The workshop bit starts here with a brief description of themes.</a>]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>8</wp:post_id>
<wp:post_date><![CDATA[2017-10-03 11:18:23]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-03 11:18:23]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[welcome]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[page]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[2]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>Template files are building blocks</title>
<link>http://tkwrkshp.wpengine.com/template-files-are-building-blocks/</link>
<pubDate>Tue, 03 Oct 2017 11:58:24 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://techknowwrkshp.wpengine.com/?p=13</guid>
<description></description>
<content:encoded><![CDATA[Themes are composed of template files — files which layout the content they get into a set format. Each page uses a template which includes all the code necessary to render the page. Some bits of the template are in separate files and reused, eg header.php and footer.php will be the top and bottom (respectively) of almost every page on this site. If there's a sidebar, then sidebar.php will be included.
<!--more-->
Below is a high level overview of single.php, the template used for this page.
<img class="alignnone size-full wp-image-61" src="https://tkwrkshp.wpengine.com/wp-content/uploads/2017/10/header-footer-sidebar.jpg" alt="" width="2100" height="2000" />
&nbsp;
<ul>
<li><a href="/wp-admin/theme-editor.php?file=footer.php&amp;theme=child-of-twentyseventeen">Go to footer.php in the theme editor</a> and uncomment the image tag, then have a look back at the site to see where it showed up and on which pages.</li>
<li>Do the same for <a href="/wp-admin/theme-editor.php?file=sidebar.php&amp;theme=child-of-twentyseventeen">sidebar.php</a></li>
<li>If you have time, try the one in <a href="/wp-admin/theme-editor.php?file=archive.php&amp;theme=child-of-twentyseventeen">archive.php</a>. (Archive.php is used on archive pages, eg <a href="/2017/10/">date archives</a> or <a href="/category/techknow-workshop/">category archives</a>. We'll get back to this one in a second, so don't worry if you can't find it.)</li>
</ul>
<h3>A helpful plugin for when template files get confusing</h3>
You can see which template a page is using by clicking on the Query Monitor link at the top then choosing "Template: [template filename]". <a href="https://wordpress.org/plugins/query-monitor/">Query Monitor is a WordPress plugin</a> which provides a lot of detail about what is happening on the page — it's one of my must haves when developing. The link is not labelled as such but looks like this:
<img class="alignnone size-full wp-image-63" src="https://tkwrkshp.wpengine.com/wp-content/uploads/2017/10/query-monitor-is-here.jpg" alt="" width="2000" height="120" />
&nbsp;
You'll come to this table: <img class="alignnone size-full wp-image-64" src="https://tkwrkshp.wpengine.com/wp-content/uploads/2017/10/templates.jpg" alt="" width="1654" height="950" />
Going through them one by one:
<ul>
<li><strong>Template File:</strong> this is the template file this page is using</li>
<li><strong>Template Hierarchy:</strong> the page uses whichever template file it hits first. This theme doesn't have a template file specific to this page (single-post-template-files-are-building-blocks.php) or a template file specific to the post type (single-post.php) so it uses single.php. The default for all pages is index.php</li>
<li><strong>Template Parts:</strong> the template file calls other template files to keep the code neat. These are some of the files it uses. (This plugin only includes files in the template-parts directory in this list so header.php, footer.php and sidebar.php and any files outside this directory are not included here.)</li>
<li><strong>Child Theme:</strong> Our lovely child-of-twentyseventeen theme</li>
<li><strong>Parent Theme:</strong> twentyseventeen</li>
</ul>]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>13</wp:post_id>
<wp:post_date><![CDATA[2017-10-03 11:58:24]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-03 11:58:24]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[template-files-are-building-blocks]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[post]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="category" nicename="techknow-workshop"><![CDATA[TECH(K)NOW workshop]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[2]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>9. Adding js and css files</title>
<link>http://tkwrkshp.wpengine.com/9-adding-js-and-css-files/</link>
<pubDate>Mon, 09 Oct 2017 12:40:24 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/?p=49</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>49</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 12:40:24]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 12:40:24]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[9-adding-js-and-css-files]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>11</wp:menu_order>
<wp:post_type><![CDATA[nav_menu_item]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="nav_menu" nicename="top-menu"><![CDATA[top menu]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_type]]></wp:meta_key>
<wp:meta_value><![CDATA[post_type]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_menu_item_parent]]></wp:meta_key>
<wp:meta_value><![CDATA[58]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object_id]]></wp:meta_key>
<wp:meta_value><![CDATA[42]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object]]></wp:meta_key>
<wp:meta_value><![CDATA[post]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_target]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_classes]]></wp:meta_key>
<wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_xfn]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_url]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>6. Hooks</title>
<link>http://tkwrkshp.wpengine.com/5-hooks/</link>
<pubDate>Mon, 09 Oct 2017 12:40:24 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/?p=50</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>50</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 12:40:24]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 12:40:24]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[5-hooks]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>8</wp:menu_order>
<wp:post_type><![CDATA[nav_menu_item]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="nav_menu" nicename="top-menu"><![CDATA[top menu]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_type]]></wp:meta_key>
<wp:meta_value><![CDATA[post_type]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_menu_item_parent]]></wp:meta_key>
<wp:meta_value><![CDATA[58]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object_id]]></wp:meta_key>
<wp:meta_value><![CDATA[48]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object]]></wp:meta_key>
<wp:meta_value><![CDATA[post]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_target]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_classes]]></wp:meta_key>
<wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_xfn]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_url]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>7. Hooks part 1: Filters</title>
<link>http://tkwrkshp.wpengine.com/6-hooks-part-1-filters/</link>
<pubDate>Mon, 09 Oct 2017 12:40:24 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/?p=51</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>51</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 12:40:24]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 12:40:24]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[6-hooks-part-1-filters]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>9</wp:menu_order>
<wp:post_type><![CDATA[nav_menu_item]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="nav_menu" nicename="top-menu"><![CDATA[top menu]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_type]]></wp:meta_key>
<wp:meta_value><![CDATA[post_type]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_menu_item_parent]]></wp:meta_key>
<wp:meta_value><![CDATA[58]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object_id]]></wp:meta_key>
<wp:meta_value><![CDATA[35]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object]]></wp:meta_key>
<wp:meta_value><![CDATA[post]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_target]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_classes]]></wp:meta_key>
<wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_xfn]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_url]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>8. Hooks Part 2: Actions</title>
<link>http://tkwrkshp.wpengine.com/7-hooks-part-2-actions/</link>
<pubDate>Mon, 09 Oct 2017 12:40:24 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/?p=52</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>52</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 12:40:24]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 12:40:24]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[7-hooks-part-2-actions]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>10</wp:menu_order>
<wp:post_type><![CDATA[nav_menu_item]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="nav_menu" nicename="top-menu"><![CDATA[top menu]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_type]]></wp:meta_key>
<wp:meta_value><![CDATA[post_type]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_menu_item_parent]]></wp:meta_key>
<wp:meta_value><![CDATA[58]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object_id]]></wp:meta_key>
<wp:meta_value><![CDATA[37]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object]]></wp:meta_key>
<wp:meta_value><![CDATA[post]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_target]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_classes]]></wp:meta_key>
<wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_xfn]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_url]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>5. Plugin basics</title>
<link>http://tkwrkshp.wpengine.com/8-plugin-basics/</link>
<pubDate>Mon, 09 Oct 2017 12:40:24 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/?p=53</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>53</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 12:40:24]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 12:40:24]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[8-plugin-basics]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>7</wp:menu_order>
<wp:post_type><![CDATA[nav_menu_item]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="nav_menu" nicename="top-menu"><![CDATA[top menu]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_type]]></wp:meta_key>
<wp:meta_value><![CDATA[post_type]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_menu_item_parent]]></wp:meta_key>
<wp:meta_value><![CDATA[58]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object_id]]></wp:meta_key>
<wp:meta_value><![CDATA[44]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object]]></wp:meta_key>
<wp:meta_value><![CDATA[post]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_target]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_classes]]></wp:meta_key>
<wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_xfn]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_url]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>1. Some general notes on WordPress themes</title>
<link>http://tkwrkshp.wpengine.com/1-some-general-notes-on-wordpress-themes/</link>
<pubDate>Mon, 09 Oct 2017 12:40:24 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/?p=54</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>54</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 12:40:24]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 12:40:24]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[1-some-general-notes-on-wordpress-themes]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>3</wp:menu_order>
<wp:post_type><![CDATA[nav_menu_item]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="nav_menu" nicename="top-menu"><![CDATA[top menu]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_type]]></wp:meta_key>
<wp:meta_value><![CDATA[post_type]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_menu_item_parent]]></wp:meta_key>
<wp:meta_value><![CDATA[58]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object_id]]></wp:meta_key>
<wp:meta_value><![CDATA[5]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object]]></wp:meta_key>
<wp:meta_value><![CDATA[post]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_target]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_classes]]></wp:meta_key>
<wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_xfn]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_url]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>2. Style and style.css</title>
<link>http://tkwrkshp.wpengine.com/2-style-and-style-css/</link>
<pubDate>Mon, 09 Oct 2017 12:40:24 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/?p=55</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>55</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 12:40:24]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 12:40:24]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[2-style-and-style-css]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>4</wp:menu_order>
<wp:post_type><![CDATA[nav_menu_item]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="nav_menu" nicename="top-menu"><![CDATA[top menu]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_type]]></wp:meta_key>
<wp:meta_value><![CDATA[post_type]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_menu_item_parent]]></wp:meta_key>
<wp:meta_value><![CDATA[58]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object_id]]></wp:meta_key>
<wp:meta_value><![CDATA[7]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object]]></wp:meta_key>
<wp:meta_value><![CDATA[post]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_target]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_classes]]></wp:meta_key>
<wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_xfn]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_url]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>3. Template files are building blocks</title>
<link>http://tkwrkshp.wpengine.com/3-template-files-are-building-blocks/</link>
<pubDate>Mon, 09 Oct 2017 12:40:24 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/?p=56</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>56</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 12:40:24]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 12:40:24]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[3-template-files-are-building-blocks]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>5</wp:menu_order>
<wp:post_type><![CDATA[nav_menu_item]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="nav_menu" nicename="top-menu"><![CDATA[top menu]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_type]]></wp:meta_key>
<wp:meta_value><![CDATA[post_type]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_menu_item_parent]]></wp:meta_key>
<wp:meta_value><![CDATA[58]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object_id]]></wp:meta_key>
<wp:meta_value><![CDATA[13]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object]]></wp:meta_key>
<wp:meta_value><![CDATA[post]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_target]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_classes]]></wp:meta_key>
<wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_xfn]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_url]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>4. The Loop</title>
<link>http://tkwrkshp.wpengine.com/4-the-loop/</link>
<pubDate>Mon, 09 Oct 2017 12:40:24 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/?p=57</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>57</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 12:40:24]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 12:40:24]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[4-the-loop]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>6</wp:menu_order>
<wp:post_type><![CDATA[nav_menu_item]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="nav_menu" nicename="top-menu"><![CDATA[top menu]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_type]]></wp:meta_key>
<wp:meta_value><![CDATA[post_type]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_menu_item_parent]]></wp:meta_key>
<wp:meta_value><![CDATA[58]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object_id]]></wp:meta_key>
<wp:meta_value><![CDATA[23]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object]]></wp:meta_key>
<wp:meta_value><![CDATA[post]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_target]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_classes]]></wp:meta_key>
<wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_xfn]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_url]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title></title>
<link>http://tkwrkshp.wpengine.com/58/</link>
<pubDate>Mon, 09 Oct 2017 12:40:24 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/?p=58</guid>
<description></description>
<content:encoded><![CDATA[ ]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>58</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 12:40:24]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 12:40:24]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[58]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>2</wp:menu_order>
<wp:post_type><![CDATA[nav_menu_item]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="nav_menu" nicename="top-menu"><![CDATA[top menu]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_type]]></wp:meta_key>
<wp:meta_value><![CDATA[taxonomy]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_menu_item_parent]]></wp:meta_key>
<wp:meta_value><![CDATA[0]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object_id]]></wp:meta_key>
<wp:meta_value><![CDATA[2]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object]]></wp:meta_key>
<wp:meta_value><![CDATA[category]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_target]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_classes]]></wp:meta_key>
<wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_xfn]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_url]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>Home</title>
<link>http://tkwrkshp.wpengine.com/home/</link>
<pubDate>Mon, 09 Oct 2017 12:40:24 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/?p=59</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>59</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 12:40:24]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 12:40:24]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[home]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>1</wp:menu_order>
<wp:post_type><![CDATA[nav_menu_item]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="nav_menu" nicename="top-menu"><![CDATA[top menu]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_type]]></wp:meta_key>
<wp:meta_value><![CDATA[custom]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_menu_item_parent]]></wp:meta_key>
<wp:meta_value><![CDATA[0]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object_id]]></wp:meta_key>
<wp:meta_value><![CDATA[59]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_object]]></wp:meta_key>
<wp:meta_value><![CDATA[custom]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_target]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_classes]]></wp:meta_key>
<wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_xfn]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_menu_item_url]]></wp:meta_key>
<wp:meta_value><![CDATA[/]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>header-footer-sidebar</title>
<link>http://tkwrkshp.wpengine.com/template-files-are-building-blocks/header-footer-sidebar/</link>
<pubDate>Mon, 09 Oct 2017 14:57:03 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/wp-content/uploads/2017/10/header-footer-sidebar.jpg</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>61</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 15:57:03]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 14:57:03]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[open]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[header-footer-sidebar]]></wp:post_name>
<wp:status><![CDATA[inherit]]></wp:status>
<wp:post_parent>13</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[attachment]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<wp:attachment_url><![CDATA[http://tkwrkshp.wpengine.com/wp-content/uploads/2017/10/header-footer-sidebar.jpg]]></wp:attachment_url>
<wp:postmeta>
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
<wp:meta_value><![CDATA[2017/10/header-footer-sidebar.jpg]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2100;s:6:"height";i:2000;s:4:"file";s:33:"2017/10/header-footer-sidebar.jpg";s:5:"sizes";a:6:{s:9:"thumbnail";a:4:{s:4:"file";s:33:"header-footer-sidebar-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:33:"header-footer-sidebar-300x286.jpg";s:5:"width";i:300;s:6:"height";i:286;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:33:"header-footer-sidebar-768x731.jpg";s:5:"width";i:768;s:6:"height";i:731;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:34:"header-footer-sidebar-1024x975.jpg";s:5:"width";i:1024;s:6:"height";i:975;s:9:"mime-type";s:10:"image/jpeg";}s:30:"twentyseventeen-featured-image";a:4:{s:4:"file";s:35:"header-footer-sidebar-2000x1200.jpg";s:5:"width";i:2000;s:6:"height";i:1200;s:9:"mime-type";s:10:"image/jpeg";}s:32:"twentyseventeen-thumbnail-avatar";a:4:{s:4:"file";s:33:"header-footer-sidebar-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"1";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>query-monitor-is-here</title>
<link>http://tkwrkshp.wpengine.com/template-files-are-building-blocks/query-monitor-is-here/</link>
<pubDate>Mon, 09 Oct 2017 14:57:37 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/wp-content/uploads/2017/10/query-monitor-is-here.jpg</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>63</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 15:57:37]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 14:57:37]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[open]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[query-monitor-is-here]]></wp:post_name>
<wp:status><![CDATA[inherit]]></wp:status>
<wp:post_parent>13</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[attachment]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<wp:attachment_url><![CDATA[http://tkwrkshp.wpengine.com/wp-content/uploads/2017/10/query-monitor-is-here.jpg]]></wp:attachment_url>
<wp:postmeta>
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
<wp:meta_value><![CDATA[2017/10/query-monitor-is-here.jpg]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:2000;s:6:"height";i:120;s:4:"file";s:33:"2017/10/query-monitor-is-here.jpg";s:5:"sizes";a:6:{s:9:"thumbnail";a:4:{s:4:"file";s:33:"query-monitor-is-here-150x120.jpg";s:5:"width";i:150;s:6:"height";i:120;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:32:"query-monitor-is-here-300x18.jpg";s:5:"width";i:300;s:6:"height";i:18;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:32:"query-monitor-is-here-768x46.jpg";s:5:"width";i:768;s:6:"height";i:46;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:33:"query-monitor-is-here-1024x61.jpg";s:5:"width";i:1024;s:6:"height";i:61;s:9:"mime-type";s:10:"image/jpeg";}s:30:"twentyseventeen-featured-image";a:4:{s:4:"file";s:34:"query-monitor-is-here-2000x120.jpg";s:5:"width";i:2000;s:6:"height";i:120;s:9:"mime-type";s:10:"image/jpeg";}s:32:"twentyseventeen-thumbnail-avatar";a:4:{s:4:"file";s:33:"query-monitor-is-here-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"1";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>templates</title>
<link>http://tkwrkshp.wpengine.com/template-files-are-building-blocks/templates/</link>
<pubDate>Mon, 09 Oct 2017 14:58:00 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://tkwrkshp.wpengine.com/wp-content/uploads/2017/10/templates.jpg</guid>
<description></description>
<content:encoded><![CDATA[]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>64</wp:post_id>
<wp:post_date><![CDATA[2017-10-09 15:58:00]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-09 14:58:00]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[open]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[templates]]></wp:post_name>
<wp:status><![CDATA[inherit]]></wp:status>
<wp:post_parent>13</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[attachment]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<wp:attachment_url><![CDATA[http://tkwrkshp.wpengine.com/wp-content/uploads/2017/10/templates.jpg]]></wp:attachment_url>
<wp:postmeta>
<wp:meta_key><![CDATA[_wp_attached_file]]></wp:meta_key>
<wp:meta_value><![CDATA[2017/10/templates.jpg]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_wp_attachment_metadata]]></wp:meta_key>
<wp:meta_value><![CDATA[a:5:{s:5:"width";i:1654;s:6:"height";i:950;s:4:"file";s:21:"2017/10/templates.jpg";s:5:"sizes";a:5:{s:9:"thumbnail";a:4:{s:4:"file";s:21:"templates-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:21:"templates-300x172.jpg";s:5:"width";i:300;s:6:"height";i:172;s:9:"mime-type";s:10:"image/jpeg";}s:12:"medium_large";a:4:{s:4:"file";s:21:"templates-768x441.jpg";s:5:"width";i:768;s:6:"height";i:441;s:9:"mime-type";s:10:"image/jpeg";}s:5:"large";a:4:{s:4:"file";s:22:"templates-1024x588.jpg";s:5:"width";i:1024;s:6:"height";i:588;s:9:"mime-type";s:10:"image/jpeg";}s:32:"twentyseventeen-thumbnail-avatar";a:4:{s:4:"file";s:21:"templates-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"1";s:8:"keywords";a:0:{}}}]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>The Loop</title>
<link>http://tkwrkshp.wpengine.com/the-loop/</link>
<pubDate>Tue, 03 Oct 2017 14:09:13 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://techknowwrkshp.wpengine.com/?p=23</guid>
<description></description>
<content:encoded><![CDATA[The Loop is what WordPress calls the code that actually gets the post or page's content (including title and other details) and displays it on the webpage.
<!--more-->
Remember the greyed out part in the illustration of the single.php template?
<img class="alignnone size-full wp-image-61" src="https://tkwrkshp.wpengine.com/wp-content/uploads/2017/10/header-footer-sidebar.jpg" alt="" width="2100" height="2000" />
That's the bit which will have the loop of the main query's returned posts. So, for example, on the TECH(K)NOW workshop category archive page, the main query will be (translated from php to English) "Get all the posts which  are in the TECH(K)NOW workshop category". Once those posts have been gotten, they're looped over one by one and each is passed through functions and partial templates which format it for the web page. (For a single page, the query gets only a single post but it still loops over it; it's just that it only runs once.)
The best way is to look at the code. So let's <a href="/wp-admin/theme-editor.php?file=archive.php&amp;theme=child-of-twentyseventeen">go to archive.php</a> which is the template responsible for any archives (eg the <a href="/2017/10/">October date archive</a> or the <a href="/category/techknow-workshop/">TECH(K)NOW workshop category archive</a>)
<ul>
<li>Uncomment the image tag in the file and see where it shows up</li>
<li>Move it somewhere else in the Loop</li>
<li>Move it outside the Loop</li>
</ul>]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>23</wp:post_id>
<wp:post_date><![CDATA[2017-10-03 14:09:13]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-03 14:09:13]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[the-loop]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[post]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="category" nicename="techknow-workshop"><![CDATA[TECH(K)NOW workshop]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[2]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>Hooks part 1: Filters</title>
<link>http://tkwrkshp.wpengine.com/hooks-part-1-filters/</link>
<pubDate>Wed, 04 Oct 2017 13:31:18 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://techknowwrkshp.wpengine.com/?p=35</guid>
<description></description>
<content:encoded><![CDATA[Filters allow us to edit content and values programatically. They give us a value and usually some context to that value and expect a modified value to be returned to use in the original value's place.
Wait, what?
<!--more-->
An example: Say we wanted to add a smiley face emoji to the end of each post title. So "Hooks part 1: Filters" would be "Hooks part 1: Filters 😊" We could do this with a filter, in particular, <a href="https://codex.wordpress.org/Plugin_API/Filter_Reference/the_title">the the_title filter</a>.
Filtering something requires two functions. One function to do the mechanics of filtering the value and the other function to let WordPress know a filter has been added.
For the first, we need to make a *uniquely named* function that accepts the filterable value and any contextual values passed to it then returns the filtered value we want.
In the case of the <code>'the_title'</code> filter, the function should accept two arguments, the title of the post and the ID of the post. It should return the filtered title.
To add a happy face to the end of each post title, we could use this function:
<code>function tkwp_title( $title, $id ){
return $title . '😊';
}</code><code></code>
To let WordPress know to add a function to a filter, we use  <code>add_filter( 'hook_name', 'your_function', [priority], [accepted_args])</code>
where
<em>'hook_name':</em> Name of the filter. In this case, it's 'the_title'
<em>'your_filter':</em> Function which we will use to return the new value. Make sure this is unique!
<em>[priority]:</em>  (optional) There might be more than one filter, when should this happen? The default is 10 and higher numbers happen later
<em>[accepted_args]:</em> (optional) At least one, the value to filter! <code>'the_title'</code> filter has 2 args, the title and the post ID
So in our case, to add the function tkwp_title to the 'the_title' filter — it has two args, the title and the post id — we'd use:
<code>add_filter( 'the_title', 'tkwp_title', 10, 2);</code>
<ul>
<li>add the code above to <a href="/wp-admin/plugin-editor.php?file=dysfunctionality%2Fdysfunctionality.php&amp;plugin=dysfunctionality%2Fdysfunctionality.php">the main Dysfuncionality plugin file</a>. <a href="https://gist.github.com/tharsheblows/4c8acb4af3f7fa0640b4e8f555c09d95">Here's a gist to copy and paste. It's the first exercise.</a></li>
<li>the php function to reverse a string is <code>strrev( $string )</code> and the filter for the post content is <code>'the_content'</code>. Try it! <a href="https://gist.github.com/tharsheblows/4c8acb4af3f7fa0640b4e8f555c09d95">The second exercise in the gist reverses the content.</a></li>
</ul>]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>35</wp:post_id>
<wp:post_date><![CDATA[2017-10-04 13:31:18]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-04 13:31:18]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[hooks-part-1-filters]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[post]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="category" nicename="techknow-workshop"><![CDATA[TECH(K)NOW workshop]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[2]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>Hooks Part 2: Actions</title>
<link>http://tkwrkshp.wpengine.com/hooks-part-2-actions/</link>
<pubDate>Fri, 06 Oct 2017 13:39:46 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://techknowwrkshp.wpengine.com/?p=37</guid>
<description></description>
<content:encoded><![CDATA[Actions do something at a certain point in the code. They usually give some context beyond the name to what's happening at that point so you can decide what you'd like to do. For example, if you'd like to send an email every time a post is updated and saved, you could add this in using <a href="https://developer.wordpress.org/reference/hooks/save_post/">the action 'save_post'</a>.<!--more-->
Actions work the same way as filters: you make a function that does what you'd like, then add it to the list of actions to be done at a certain place in the code. Eg the action mentioned above, <code>'save_post'</code> , fires every time a post is saved. If a function is hooked to this action via <code>add_action('save_post', 'your_function_name')</code> then it will run then.
Let's add something a bit more dramatic to the <code>'save_post'</code> action. We'll make the site trigger an error message for someone every time they save a post.
<ul>
<li>make the site trigger an error message for you whenever a post is saved by adding <a href="https://gist.github.com/tharsheblows/f35495707ee31a888d20b361903f62a7">the first exercise in this gist</a> to <a href="/wp-admin/plugin-editor.php?file=dysfunctionality%2Fdysfunctionality.php&amp;plugin=dysfunctionality%2Fdysfunctionality.php">the main Dysfunctionality plugin file </a>then <a href="/wp-admin/edit.php">editing a post</a> (anything!) and saving it.</li>
</ul>
&nbsp;]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>37</wp:post_id>
<wp:post_date><![CDATA[2017-10-06 13:39:46]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-06 13:39:46]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[hooks-part-2-actions]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[post]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="category" nicename="techknow-workshop"><![CDATA[TECH(K)NOW workshop]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[4]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>Adding js and css files</title>
<link>http://tkwrkshp.wpengine.com/adding-js-and-css-files/</link>
<pubDate>Fri, 06 Oct 2017 15:10:59 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://techknowwrkshp.wpengine.com/?p=42</guid>
<description></description>
<content:encoded><![CDATA[WordPress has its own, peculiar but useful once understood, way to add js and css files.
<!--more-->
Order matters with js and css files. If you're going to use jQuery in your javascript, it needs to be available to use; if you're going to overwrite a style in your cascading stylesheet, you need to make sure it's loaded first so it doesn't overwrite yours. Luckily WordPress has ways to deal with these dependencies.
The process for adding a new stylesheet or js file is this:
<ol>
<li>Make a function which registers and enqueues any files to be loaded.</li>
<li>Add the function which  registers and enqueues the js and css files to the <code>'wp_enqueue_scripts'</code> action so that it runs in the proper place on the page.</li>
</ol>
<h3>Step 1: Make a function which registers and enqueues files to be loaded</h3>
You'll need to wrap the functions below — the WordPress functions which will actually do the enqueuing of the files — in a uniquely named function so that you can add that uniquely named function to the action 'wp_enqueue_scripts' in Step 2.
There are two different WordPress functions used to enqueue files. One is for javascript files, <a href="https://developer.wordpress.org/reference/functions/wp_enqueue_script/">wp_enqueue_script()</a> and the other is for css files, <a href="https://developer.wordpress.org/reference/functions/wp_enqueue_style/">wp_enqueue_style()</a>
<em>wp_enqueue_script( <span class="arg-type">string</span> <span class="arg-name">$handle</span>, <span class="arg-type">string</span> <span class="arg-name">$src</span> = <span class="arg-default">''</span>,  <span class="arg-type">array</span> <span class="arg-name">$deps</span> = <span class="arg-default">array()</span>,  <span class="arg-type">string|bool|null</span> <span class="arg-name">$ver</span> = <span class="arg-default">false</span>, <span class="arg-type">bool</span> <span class="arg-name">$in_footer</span> = <span class="arg-default">false</span> )</em>
<em>wp_enqueue_style( <span class="arg-type">string</span> <span class="arg-name">$handle</span>, <span class="arg-type">string</span> <span class="arg-name">$src</span> = <span class="arg-default">''</span>, <span class="arg-type">array</span> <span class="arg-name">$deps</span> = <span class="arg-default">array()</span>, <span class="arg-type">string|bool|null</span> <span class="arg-name">$ver</span> = <span class="arg-default">false</span>,  <span class="arg-type">string</span> <span class="arg-name">$media</span> = <span class="arg-default">'all'</span> )</em>
<ul>
<li>$handle: a unique handle of the script or style you're registering</li>
<li>$src: the full URL of the stylesheet, or path of the stylesheet relative to the WordPress root directory</li>
<li>$deps: the dependencies your file needs. This is array of the <em>handles</em> of the dependencies. <a href="https://developer.wordpress.org/reference/functions/wp_enqueue_script/#default-scripts-included-and-registered-by-wordpress">WordPress has included and registered a number of scripts already.</a> If your script depends on one of those, you should use the handle of that in the dependencies array — you don't need to worry about enqueuing it yourself. A script which depended on jQuery would have array( 'jquery' ) for this.</li>
<li>$ver: the version number, used for cache-busting</li>
<li>For wp_enqueue_script(), the final arg is $in_footer which determines where the script is put — if $in_footer is true, then it's in the footer just above &lt;/body&gt;. If not, it's in the header.</li>
<li>For wp_enqueue_style(), the final arg is $media which is accepts media types like 'all', 'print' or 'screen' and media queries. The default is 'all'.</li>
</ul>
<h3>Step 2: Add the function above to the 'wp_enqueue_scripts' action</h3>
The <a href="https://codex.wordpress.org/Plugin_API/Action_Reference/wp_enqueue_scripts">'wp_enqueue_scripts'</a> action is the one used to add scripts and styles. It handles making sure the files are loaded in the right order and everything is included that you're expecting.
Ok, right. Right? It's a little easier to understand looking at an example so let's do that.
<ul>
<li>Look at <a href="/wp-admin/plugin-editor.php?file=dysfunctionality%2Fdysfunctionality.php&amp;plugin=dysfunctionality%2Fdysfunctionality.php">the Dysfunctionality plugin's main file</a> and figure out the dependencies of each script and style.</li>
</ul>
&nbsp;]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>42</wp:post_id>
<wp:post_date><![CDATA[2017-10-06 15:10:59]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-06 15:10:59]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[adding-js-and-css-files]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[post]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="category" nicename="techknow-workshop"><![CDATA[TECH(K)NOW workshop]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[4]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_oembed_a10c1cfc25c9a8dc08ed8d8e8337bd1c]]></wp:meta_key>
<wp:meta_value><![CDATA[{{unknown}}]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>Plugin basics</title>
<link>http://tkwrkshp.wpengine.com/plugin-basics/</link>
<pubDate>Tue, 03 Oct 2017 13:18:43 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://techknowwrkshp.wpengine.com/?p=44</guid>
<description></description>
<content:encoded><![CDATA[Plugins are used to extend the functionality of your site. They are responsible for adding contact forms, getting your SEO in order and making sure commenters don't post spam. If you look in <a href="/wp-admin/plugins.php">the "Plugins" area</a>, you'll see which ones this site has running. These plugins live in the wp-content/plugins directory in the install.
<!--more-->
Each plugin needs its own directory so each requires a unique directory name. In this directory, the main plugin file tends to be [directory-name].php. WordPress recognises the plugin in much the same way it recognises themes, by using <a href="https://developer.wordpress.org/plugins/the-basics/header-requirements/">header comments as outlined here</a>.
There is not that much more to it than that!
<ul>
<li><a href="/wp-admin/plugin-editor.php?file=dysfunctionality%2Fdysfunctionality.php&amp;plugin=dysfunctionality%2Fdysfunctionality.php">Take a look at the "Dysfunctionality" plugin's code here.</a></li>
</ul>]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>44</wp:post_id>
<wp:post_date><![CDATA[2017-10-03 14:18:43]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-03 13:18:43]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[plugin-basics]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[post]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="category" nicename="techknow-workshop"><![CDATA[TECH(K)NOW workshop]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[4]]></wp:meta_value>
</wp:postmeta>
</item>
<item>
<title>Hooks</title>
<link>http://tkwrkshp.wpengine.com/hooks/</link>
<pubDate>Tue, 03 Oct 2017 15:17:00 +0000</pubDate>
<dc:creator><![CDATA[tkwrkshp]]></dc:creator>
<guid isPermaLink="false">http://techknowwrkshp.wpengine.com/?p=48</guid>
<description></description>
<content:encoded><![CDATA[So if editing WordPress core isn't a good thing to do, how can we edit what it does? Hooks! Hooks are specific places in the code which allow you to either:
<ol>
<li>edit a value being passed through the functions</li>
<li>do something right then and there</li>
</ol>
The first is called a "filter" and the second is called an "action".]]></content:encoded>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>48</wp:post_id>
<wp:post_date><![CDATA[2017-10-03 15:17:00]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-10-03 15:17:00]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[closed]]></wp:ping_status>
<wp:post_name><![CDATA[hooks]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[post]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<category domain="category" nicename="techknow-workshop"><![CDATA[TECH(K)NOW workshop]]></category>
<wp:postmeta>
<wp:meta_key><![CDATA[_edit_last]]></wp:meta_key>
<wp:meta_value><![CDATA[2]]></wp:meta_value>
</wp:postmeta>
</item>
</channel>
</rss>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment