<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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:atom="http://www.w3.org/2005/Atom" version="2.0">

<channel>
	<title>Epic Alex :: Web Design</title>
	
	<link>http://epicalex.com</link>
	<description />
	<pubDate>Mon, 01 Sep 2008 08:00:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/epicalex" type="application/rss+xml" /><item>
		<title>WordPress Greasemonkey Competition</title>
		<link>http://epicalex.com/wordpress-greasemonkey-competition/</link>
		<comments>http://epicalex.com/wordpress-greasemonkey-competition/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 08:00:38 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[Competition]]></category>

		<category><![CDATA[Greasemonkey]]></category>

		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://epicalex.com/?p=70</guid>
		<description><![CDATA[I would like to announce the WordPress Greasemonkey Competition. If you&#8217;ve never come across Greasemonkey scripts before, they allow the user to edit the appearance and function of a web page. There are currently only a few scripts available for WordPress, so this competition is designed to create more, often time saving tools.
One of the [...]]]></description>
			<content:encoded><![CDATA[<p>I would like to announce the WordPress Greasemonkey Competition. If you&#8217;ve never come across <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey scripts</a> before, they allow the user to edit the appearance and function of a web page. There are currently only a few scripts available for WordPress, so this competition is designed to create more, often time saving tools.<span id="more-70"></span></p>
<p>One of the most effective ways of using Greasemonkey scripts with WordPress is with the administration pages. For example, <a href="http://internetducttape.com/2007/09/13/akismet-maintenance-akismet-auntie-spam/">Engtech&#8217;s Akismet Auntie Spam</a> speeds up your spam checking, by limiting each spam comment to one line, and grouping spam by the amount from one IP address.</p>
<p>The beauty of combining Greasemonkey with WordPress is that even WordPress.com users, who can&#8217;t always have access to plugins can alter their administration pages to improve their workflow. For more examples check out the <a href="http://userscripts.org/tags/wordpress">scripts tagged with WordPress on userscripts.org</a>. </p>
<p>The competition will be running for one month, and will therefore end on the 1st November 2008. Entries will be accepted until midnight UK time. All entries must be sent to greasemonkey [at] epicalex [dot] com.</p>
<p>To encourage you all to participate, every entrant will be featured in a blog post at the end of the competition. More details of that to follow. We also have some great prizes up for grabs, the list at the moment is as follows:</p>
<ul>
<li>1 $250 FlashDen voucher, and 2 $50 FlashDen vouchers.</li>
<li>A pre-approved Woopra invitation from <a href="http://lorelle.wordpress.com/">Lorelle</a>.</li>
<li>A signed copy of <a href="http://lorelle.wordpress.com/books/blogging-tips/">Lorelle&#8217;s Blogging Tips book</a>.</li>
<li>3 single user <a href="http://www.briangardner.com/themes">Revolution Theme</a> licences from <a href="http://briangardner.com/">Brian Gardner</a>.</li>
<li>A WordPress Mug, from me.</li>
</ul>
<p>If you wish to donate a prize, please email greasemonkey [at] epicalex [dot] com.</p>
<p>To find out more about Greasemonkey scripts, and how to write them, check out Engtech&#8217;s series of posts.</p>
<ul>
<li><a href="http://internetducttape.com/2007/08/23/howto-install-firefox-extensions-screenshots/">How to install Firefox extensions</a></li>
<li><a href="http://internetducttape.com/2007/08/24/howto-use-firefox-greasemonkey-userscripts-screenshots/">How to use Greasemonkey scripts</a></li>
<li><a href="http://internetducttape.com/2008/05/08/greasemonkey-ninja-jquery/">How to be a Greasemonkey Ninja</a></li>
<li><a href="http://internetducttape.com/2008/05/02/how-to-unminify-javascript-code/">Un-minifying Javascript</a></li>
</ul>
<p>The rules of the competition are as follows:</p>
<ul>
<li>All scripts must be designed for use with the WordPress administration pages, either .com or self-hosted.</li>
<li>All scripts must be newly written and released during the competition period.</li>
<li>All scripts must be available for download from <a href="http://userscripts.org/">Userscripts.org</a>.</li>
<li>A <a href="https://addons.mozilla.org/en-US/firefox/addon/1146">screenshot</a> of the script in action must be submitted along with your submission, which must also contain a description of what the script does, and why it is beneficial to a user.</li>
</ul>
<p>More details will be added with time. I look forward to receiving your scripts and trying them out!</p>

<p><a href="http://feeds.feedburner.com/~a/epicalex?a=duMwcp"><img src="http://feeds.feedburner.com/~a/epicalex?i=duMwcp" border="0"></img></a></p><img src="http://feeds.feedburner.com/~r/epicalex/~4/380322989" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://epicalex.com/wordpress-greasemonkey-competition/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Epic Theme Viewer</title>
		<link>http://epicalex.com/epic-theme-viewer/</link>
		<comments>http://epicalex.com/epic-theme-viewer/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 23:10:13 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Downloads]]></category>

		<category><![CDATA[Plugin]]></category>

		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[download]]></category>

		<category><![CDATA[theme viewer]]></category>

		<category><![CDATA[themes]]></category>

		<guid isPermaLink="false">http://epicalex.com/?p=77</guid>
		<description><![CDATA[
The beta versions and release candidates of WordPress 2.6 have a really cool new feature when choosing a theme to activate. A working version of the new theme is available in a thickbox, and I love this feature!
I decided to make a front end implementation of the themes.php page of the admin pages, and I [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://epicalex.com/wp-content/uploads/2008/07/themeviewer_big.png' rel="lightbox"><img src="http://epicalex.com/wp-content/uploads/2008/07/themeviewer_big.png" alt="The New Theme Viewer" title="themeviewer_big" /></a><br />
The beta versions and release candidates of <a href="http://wordpress.org/download/release-archive/">WordPress 2.6</a> have a really cool new feature when choosing a theme to activate. A working version of the new theme is available in a <a href="http://www.codylindley.com/Javascript/257/thickbox-one-box-to-rule-them-all">thickbox</a>, and I love this feature!<span id="more-77"></span></p>
<p>I decided to make a front end implementation of the themes.php page of the admin pages, and I modified a few files to do so. I have removed the activate links that you will find in the admin pages, and added some css to give the display some basic styling. <strong>This has only been tested on, and will only work on, Wordpress 2.6!</strong></p>
<p>I have several directions that I want to take this in, but for the moment I have written a simple plugin that will create a display of all the themes in your wp-content/themes/ directory. You can view the demo <a href="http://mysoutham.com/?page_id=13">here</a></p>
<p>My eventual intention is that I will develop this plugin into one that can be used for those who offer themes for download, so that it can be used instead of a separate database/install to demonstrate their themes, but I wanted to get this out there now!! Who knows, maybe the <a href="http://themes.wordpress.net">official theme browser</a> might adopt a similar technique, it certainly needs something doing to it!</p>
<h3>Usage</h3>
<ol>
<li>Unzip epicthemeviewer.zip and upload to your plugin folder.</li>
<li>Go to the plugin management page and activate &#8216;Epic Theme Viewer&#8217;.</li>
<li>Add <code>&lt;?php epic_theme_viewer(); ?&gt;</code> into a page template. See example below.</li>
<li>Create a page where you want to add the theme viewer, and assign your new Page Template to it.</li>
<li>Enjoy!</li>
</ol>
<h3>Example Page Template</h3>
<p>The example below uses the default K2 theme.<br />
<pre>
&lt;?php
/*
Template Name: Theme Viewer
*/
?&gt;
&lt;?php get_header(); ?&gt;
&lt;div id=&quot;content&quot; class=&quot;narrowcolumn&quot;&gt;
&lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;
&lt;div class=&quot;post&quot; id=&quot;post-&lt;?php the_ID(); ?&gt;&quot;&gt;
&lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;
&lt;div class=&quot;entry&quot;&gt;
&lt;?php epic_theme_viewer(); ?&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;?php endwhile; endif; ?&gt;
&lt;/div&gt;
&lt;?php get_footer(); ?&gt;
</pre></p>
<h3>Customisation</h3>
<p>If you want to change the amount of columns of themes, open up epicthemeviewer.php and find these lines, changing the number 2 to whatever you want.<br />
<pre>
$rows = ceil(count($theme_names) / 2);

for ( $col = 1; $col &lt;= 2; $col++ )

if ( $col == 2 ) $class[] = &#039;right&#039;;
</pre></p>
<p>By default, only 15 themes are shown per page, but you can change this here:<br />
<pre>
$per_page = 15;
</pre></p>
<p>I&#8217;d really love some feedback on this, especially ways to improve the plugin/directions to take the project in.</p>
<h3>Issues</h3>
<p><strong>Annoyingly, the plugin will only work for logged in users. I&#8217;m trying my best to work out why this is, but can&#8217;t find any hints as of yet.</strong></p>
<p>Download it here:<br />
<a href="http://epicalex.com/downloads/epicthemeviewer.zip" title="Version 0.1 downloaded 86 times" >Epic Theme Viewer (86)</a></p>

<p><a href="http://feeds.feedburner.com/~a/epicalex?a=3RXb7T"><img src="http://feeds.feedburner.com/~a/epicalex?i=3RXb7T" border="0"></img></a></p><img src="http://feeds.feedburner.com/~r/epicalex/~4/335522070" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://epicalex.com/epic-theme-viewer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Effectively Highlight Your Post Edits</title>
		<link>http://epicalex.com/effectively-highlight-your-post-edits/</link>
		<comments>http://epicalex.com/effectively-highlight-your-post-edits/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 11:00:41 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Tutorials]]></category>

		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[custom fields]]></category>

		<guid isPermaLink="false">http://epicalex.com/?p=76</guid>
		<description><![CDATA[After writing a post and publishing it, it often becomes necessary to add to or alter something in the post. But how do you let your readers know what was added later, without those edits becoming lost in the rest of the post? The majority of times when this happens, is when someone writes something [...]]]></description>
			<content:encoded><![CDATA[<p>After writing a post and publishing it, it often becomes necessary to add to or alter something in the post. But how do you let your readers know what was added later, without those edits becoming lost in the rest of the post?<span id="more-76"></span> The majority of times when this happens, is when someone writes something interesting in a comment, and you feel it is necessary to add it to your post. </p>
<p>The method below uses my <a href="http://epicalex.com/default-custom-fields/">new</a> <a href="http://http://epicalex.com/creating-dynamic-crossfading-recent-posts/">friend</a>, Custom Fields. We will add some code to our single.php that will nicely style our edits.</p>
<p>If you are unfamiliar with Custom Fields, I suggest reading the <a href="http://codex.wordpress.org/Using_Custom_Fields">codex entry</a>.</p>
<h3>Understanding The Custom Field Code</h3>
<p>Unlike some of my other tutorials that use Custom Fields, this one will be using a different call to <code>get_post_meta</code>. I will instead be using <code>get_post_custom_values</code>, as this will allow us to add more than one edit to each post. <code>get_post_custom_values($key)</code> works by retrieving a list of all the &#8216;values&#8217; associated with the &#8216;key&#8217; defined as a parameter. It then stores these &#8216;values&#8217; in an array.</p>
<h3>The Code</h3>
<p>We will be placing the code within the loop, just after <code>&lt;?php the_content(); ?&gt;</code>. The basic code below gets all of our values, and then echoes them out:<br />
<pre>
&lt;?php $my_edits = get_post_custom_values(&#039;Edit&#039;);
foreach ($my_edits as $key =&gt; $value) {
echo &quot;&lt;div class=&#039;post_edits&#039;&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&quot; . $value . &quot;&lt;/div&gt;&quot;;
} ?&gt;
</pre></p>
<p>&#8216;Edit&#8217; is the &#8216;key&#8217; that you add to your post when you want to add something, and you write your edit in the &#8216;value&#8217; field.</p>
<h3>Styling The Edits</h3>
<p>Now we can add to our style.css to make our edits stand out.</p>
<p><pre>
.post_edits {
background: #E3FED3;
border: 2px dashed #338833;
color: #3B5F17;
margin-bottom: 5px;
padding: 5px;
}
</pre></p>
<p>The CSS above is a nice green, but play around with it until it fits into your own theme.</p>
<h3>Extending The Code</h3>
<p>We also need to make sure that if there are no edits that we don&#8217;t have anything displayed that will look out of place. For this, we can use an if statement to check if the &#8216;key&#8217; is empty, as in my <a href="http://epicalex.com/default-custom-fields/">Default Custom Field Tutorial</a>.<br />
<pre>
&lt;?php $my_edits = get_post_custom_values(&#039;Edit&#039;);
if ($my_edits == &#039;&#039;) {}
else {
foreach ($my_edits as $key =&gt; $value) {
echo &quot;&lt;div class=&#039;post_edits&#039;&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&quot; . $value . &quot;&lt;/div&gt;&quot;;
}
} ?&gt;
</pre></p>
<p>This does the following: </p>
<ol>
<li>Creates a variable that stores an array of custom fields with the value of &#8216;Edit&#8217;.</li>
<li>It then checks whether that variable is empty.</li>
<li>If it is empty then nothing will be done.</li>
<li>The else then says that if the $my_edits variable IS NOT empty (i.e. You&#8217;ve made an edit), then the div is displayed with the edit information.</li>
</ol>
<p>See how creative you can be with this, and custom fields in general, the possibilities are endless!</p>

<p><a href="http://feeds.feedburner.com/~a/epicalex?a=J1Gajc"><img src="http://feeds.feedburner.com/~a/epicalex?i=J1Gajc" border="0"></img></a></p><img src="http://feeds.feedburner.com/~r/epicalex/~4/323534284" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://epicalex.com/effectively-highlight-your-post-edits/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Newspaper Style Posts</title>
		<link>http://epicalex.com/newspaper-style-posts/</link>
		<comments>http://epicalex.com/newspaper-style-posts/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 13:25:46 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Downloads]]></category>

		<category><![CDATA[Plugin]]></category>

		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[download]]></category>

		<category><![CDATA[news theme]]></category>

		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://epicalex.com/?p=75</guid>
		<description><![CDATA[This is a very simple plugin that splits your post into two columns, as you find in newspaper articles, which when used with a &#8216;News Theme&#8217;, adds that finishing touch.
The plugin will only work on single post pages, so your archives and homepage etc will remain as they are now.
There are currently no configurable options, [...]]]></description>
			<content:encoded><![CDATA[<p>This is a very simple plugin that splits your post into two columns, as you find in newspaper articles, which when used with a &#8216;News Theme&#8217;, adds that finishing touch.<span id="more-75"></span></p>
<p>The plugin will only work on single post pages, so your archives and homepage etc will remain as they are now.</p>
<p>There are currently no configurable options, however, in future versions it will be possible to define the amount of columns.</p>
<p>Download it here: <a href="http://epicalex.com/downloads/newspaperstyleposts.zip" title="Version 0.1 downloaded 774 times" >Newspaper Style Posts (774)</a></p>

<p><a href="http://feeds.feedburner.com/~a/epicalex?a=IBZaBZ"><img src="http://feeds.feedburner.com/~a/epicalex?i=IBZaBZ" border="0"></img></a></p><img src="http://feeds.feedburner.com/~r/epicalex/~4/313794215" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://epicalex.com/newspaper-style-posts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Default Custom Fields</title>
		<link>http://epicalex.com/default-custom-fields/</link>
		<comments>http://epicalex.com/default-custom-fields/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 02:10:05 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Tutorials]]></category>

		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[custom fields]]></category>

		<guid isPermaLink="false">http://epicalex.com/?p=56</guid>
		<description><![CDATA[As one of my previous tutorials on creating a dynamic slideshow from your posts showed, there are a lot of useful and interesting uses for Custom Fields. One use that I make of custom fields is to pull an image from a post and display it on my homepage, however I don&#8217;t always need something [...]]]></description>
			<content:encoded><![CDATA[<p>As one of my previous tutorials on <a href="http://epicalex.com/creating-dynamic-crossfading-recent-posts/">creating a dynamic slideshow</a> from your posts showed, there are a lot of useful and interesting uses for <a href="http://codex.wordpress.org/Using_Custom_Fields">Custom Fields</a>. One use that I make of custom fields is to pull an image from a post and display it on my homepage, however I don&#8217;t always need something different for each post. This is where this method is a real time saver!<span id="more-56"></span></p>
<p>Of course, you could just add the same custom field for every post where you want the &#8216;default&#8217; used, but why bother when we can make it easier for ourselves? The first example code below will show a basic method that can be adapted to your needs, and then the second example will develop that to demonstrate how I achieve my effect with images.</p>
<h3>The Basic Code</h3>
<p>The basic method will check if the desired custom field &#8216;key&#8217; has no defined &#8216;value&#8217;, or if it is absent. If it is missing, then the default text is shown, otherwise show the &#8216;value&#8217;.</p>
<p><pre>
&lt;?php
$var = get_post_meta($post-&gt;ID, &#039;My Custom Key&#039;, true);
if ($var == &#039;&#039;)
{ 
echo &quot;&lt;p&gt;I&#039;m the default text!&lt;/p&gt;&quot;;
} else { 
echo &quot;&lt;p&gt;&quot; . $var . &quot;&lt;/p&gt;&quot;; 
} ?&gt;
</pre></p>
<p>Simple!</p>
<h3>Default Image Display</h3>
<p>If you take a look at my <a href="http://epicalex.com/wordpress/">WordPress category page</a> you will see that some of the images for the posts are the same. I achieved this by extending the above code to include a default image if I didn&#8217;t need an image to specifically demonstrate the post.</p>
<p><pre>
&lt;?php
$thumb = get_post_meta($post-&gt;ID, &#039;Homepage Image&#039;, true);
if ($thumb == &#039;&#039;)
{ ?&gt;
</pre></p>
<p>First of all we store the &#8216;value&#8217; defined for the &#8216;key&#8217; Homepage Image for the current post in a variable called $thumb. We then check to see if $thumb is either blank, or if there is no Homepage Image &#8216;key&#8217; at all. If either of these is the case, then we do the following:</p>
<p><pre>
&lt;a href=&quot;&lt;?php the_permalink() ?&gt;&quot; title=&quot;&lt;?php the_title(); ?&gt;&quot;&gt;
&lt;img src=&quot;http://domain.com/images/defaultimage.jpg&quot; 
alt=&quot;&lt;?php the_title(); ?&gt;&quot;/&gt;
&lt;/a&gt;
</pre></p>
<p>This will output an image that is on my server each time there is no custom field available.</p>
<p><pre>
&lt;?php } else { ?&gt;
&lt;a href=&quot;&lt;?php the_permalink() ?&gt;&quot; title=&quot;&lt;?php the_title(); ?&gt;&quot;&gt;
&lt;img src=&quot;&lt;?php echo $thumb; ?&gt;&quot; alt=&quot;&lt;?php the_title(); ?&gt;&quot;/&gt;
&lt;/a&gt;
&lt;?php } ?&gt;
</pre></p>
<p>In addition to the if statement, we add an else. This says that if $thumb is not empty, ie it has a defined &#8216;value&#8217;, then output that &#8216;value&#8217; in the image source, and make it a link to the post. </p>
<p>This saves me a lot of time when posting, as I don&#8217;t need to find the url of my default image and add it to the custom fields, I can just post straight away, knowing that an image is going to be there where I need it.</p>

<p><a href="http://feeds.feedburner.com/~a/epicalex?a=Eua7s9"><img src="http://feeds.feedburner.com/~a/epicalex?i=Eua7s9" border="0"></img></a></p><img src="http://feeds.feedburner.com/~r/epicalex/~4/302135382" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://epicalex.com/default-custom-fields/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Per Category Intro Text</title>
		<link>http://epicalex.com/per-category-intro-text/</link>
		<comments>http://epicalex.com/per-category-intro-text/#comments</comments>
		<pubDate>Mon, 12 May 2008 18:38:31 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Tutorials]]></category>

		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[category page]]></category>

		<guid isPermaLink="false">http://epicalex.com/?p=55</guid>
		<description><![CDATA[Most blogs that use WordPress are set up so that their posts fall under different categories, and all these posts can be listed on one category page. But what if you wanted to add some kind of description about that category when viewing only those posts?
A category page is set up so that whatever category [...]]]></description>
			<content:encoded><![CDATA[<p>Most blogs that use WordPress are set up so that their posts fall under different categories, and all these posts can be listed on one category page. But what if you wanted to add some kind of description about that category when viewing only those posts?<span id="more-55"></span></p>
<p>A category page is set up so that whatever category you are viewing, only those posts are seen, but only one file is needed in your theme to do this. That file is usually called category.php, but if that is missing, then archive.php is used, and if that is not there either, then finally index.php is used. </p>
<p>It is possible to create an infinite amount of different category pages by appending the id of that category to the file name, like <code>category-6.php</code>. You could then add some text to each of those files, describing each category.</p>
<p>But isn&#8217;t that a lot of work? Why not do all of that in one file? By using the <code>is_category()</code> function it is possible to do that. We can add the following outside of the loop, so that it isn&#8217;t repeated per post.</p>
<p><pre>
&lt;?php if (is_category(&#039;Category A&#039;)) { ?&gt;
&lt;p&gt;This is the text to describe category A&lt;/p&gt;
&lt;?php } elseif (is_category(&#039;Category B&#039;)) { ?&gt;
&lt;p&gt;This is the text to describe category B&lt;/p&gt;
&lt;?php } else { ?&gt;
&lt;p&gt;This is some generic text to describe all other category pages, 
I could be left blank&lt;/p&gt;
&lt;?php } ?&gt;
</pre></p>
<p>This does the following. Checks to see if we are looking at Category A, if we are then show the first bit of text, but if we&#8217;re not then check if we are looking at Category B. If we are then show that bit of text, and finally, if it is neither Category A or B, then show this default text.</p>
<p>You can keep adding an <code>elseif</code> for as many different category texts as you need.</p>

<p><a href="http://feeds.feedburner.com/~a/epicalex?a=cWj2XG"><img src="http://feeds.feedburner.com/~a/epicalex?i=cWj2XG" border="0"></img></a></p><img src="http://feeds.feedburner.com/~r/epicalex/~4/288869816" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://epicalex.com/per-category-intro-text/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Creating A Dynamic Crossfading Image Display Of Recent Posts</title>
		<link>http://epicalex.com/creating-dynamic-crossfading-recent-posts/</link>
		<comments>http://epicalex.com/creating-dynamic-crossfading-recent-posts/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 23:48:50 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Tutorials]]></category>

		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://epicalex.com/?p=51</guid>
		<description><![CDATA[Over the past few months, the WordPress theme community has been given a new lease of life with the advent of &#8216;News Themes&#8217;. These themes often have a very unconventional layout on their homepage that recreates the layout of a newspaper front page for example. One of the key features of these themes in my [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few months, the WordPress theme community has been given a new lease of life with the advent of &#8216;News Themes&#8217;. These themes often have a very unconventional layout on their homepage that recreates the layout of a newspaper front page for example. One of the key features of these themes in my eyes, is the functionality that they provide. In this tutorial, I&#8217;m going to demonstrate one way of creating some &#8216;Featured Content&#8217; using a crossfading image display of recent posts in WordPress.<span id="more-51"></span></p>
<p>Firstly, I know that there are a lot of different ways of doing this, and this is just one way that achieves one certain effect. The idea is that we use images to promote our &#8216;Featured&#8217; content, using the excerpt as well to provide a teaser, to really pull the user to where we want them to go. Of course you can just use this to show your latest posts, it doesn&#8217;t have to be featured. Have a look at my <a href="http://epicalex.com/crossfader-example/">example</a> first, so you can see what we&#8217;re aiming for!</p>
<p>The javascript that I use for this demonstration doesn&#8217;t use a library such as jQuery or Prototype, so the total script size is very small. You can download the <a href="http://www.brandspankingnew.net/archive/2006/09/javascript_css_crossfader.html">Crossfader script here</a>.</p>
<p>If you just want to download the full code and not bother reading the post, scroll to the bottom and click to the next page.</p>
<p>Now down to business!</p>
<h3>Including the Crossfader File</h3>
<p>Open your header.php file and add the following line, making sure that the url correctly points to where you uploaded the file on your server:<br />
<pre>
&lt;script type=&quot;text/javascript&quot; src=&quot;http://domain.com/crossfader.js&quot;&gt;
&lt;/script&gt;
</pre></p>
<h3>Constructing the HTML</h3>
<p>Taking a look at the example on <a href="http://www.brandspankingnew.net/">Brand Spanking New</a> where I got this code from, we can see the basic format of the HTML needed. We will expand on this later.<br />
<pre>
&lt;div id=&quot;cf_wrapper&quot;&gt;
        &lt;div id=&quot;cf1&quot; class=&quot;cf_element&quot;&gt;
        This is what we will see in the first crossfade.
        &lt;/div&gt;
        &lt;div id=&quot;cf2&quot; class=&quot;cf_element&quot;&gt;
        This is what we will see in the second crossfade.
        &lt;/div&gt;
        &lt;div id=&quot;cf3&quot; class=&quot;cf_element&quot;&gt;
        This is what we will see in the third crossfade.
        &lt;/div&gt;
&lt;/div&gt;
</pre></p>
<p>So, we have a <code>&lt;div id=&quot;cf_wrapper&quot;&gt;</code>that contains all of the items that we want to crossfade, which are contained in <code>&lt;div id=&quot;cf1&quot;&gt;</code> etc. Now to make it do something, we need that javascript&#8230;</p>
<h3>The Basic Script</h3>
<p>This needs to be added anywhere below the closing tag for the <code>&lt;div id=&quot;cf_wrapper&quot;&gt;</code>.</p>
<p><pre>
&lt;script type=&quot;text/javascript&quot;&gt;
var cf = new Crossfader( new Array(&#039;cf1&#039;,&#039;cf2&#039;,&#039;cf3&#039;), 1000, 3000 );
&lt;/script&gt;
</pre></p>
<p>What this does is basically interact with the script we placed in our header, providing the information it needs to rotate all of our divs. The 1000 (1 second) is how long the transition between divs takes, and the 3000 (3 seconds) is how long each div is shown for. </p>
<p>You can take a look at the basic demo of the script in action on the script&#8217;s site if you didn&#8217;t check mine out: <a href="http://www.brandspankingnew.net/specials/crossfader/bsn.Crossfader.html">Crossfader Demo</a> (external link).</p>
<p>Now that&#8217;s done, we can start to make things a bit more interesting!</p>
<h3>Making the Content Dynamic</h3>
<p>As we&#8217;re dealing with WordPress, we have an easy way of providing dynamic content; the loop. By using the loop for this, we do not need to repeat the HTML structure for the <code>&lt;div id=&quot;cf1&quot;&gt;</code>, which means that if we do not have enough posts in the &#8216;Featured&#8217; category, we will not have empty divs displayed, and that we can create as many of them as we want, dynamically. This will hopefully become much clearer by looking at the code below. </p>
<p><pre>
&lt;?php $featured_posts = 
new WP_Query(&#039;category_name=Featured&amp;showposts=5&#039;);
while ($featured_posts-&gt;have_posts()) : $featured_posts-&gt;the_post();
$div_ids[] = get_the_ID();?&gt;
</pre></p>
<p>If you aren&#8217;t used to creating custom loops, that might look a bit crazy, so here is what&#8217;s going on:</p>
<ol>
<li>The first part starts a new query of the posts database, looking for the last 5 posts in the &#8216;Featured&#8217; category. (You&#8217;ll need to create that category) </li>
<li>This custom query is then stored in the variable <code>$featured_posts</code>.</li>
<li>Now we run the loop, using that new variable.</li>
<li>Finally, we create an array of the IDs of those posts that we just queried, and store that in the <code>$div_ids</code> variable for later use.</li>
</ol>
<p>Place this custom loop <strong>after</strong> <code>&lt;div id=&quot;cf_wrapper&quot;&gt;</code>, because we don&#8217;t need that to be repeated for every post. </p>
<p>Now we need to add our individual divs for our content. Remember, we only need to create one, and let the loop do the rest! Place this <strong>straight after</strong> our loop.</p>
<p><pre>
&lt;div id=&quot;cf&lt;?php the_ID(); ?&gt;&quot; class=&quot;cf_element&quot;&gt;
&lt;h3&gt;&lt;a href=&quot;&lt;?php the_permalink(); ?&gt;&quot; title=&quot;&lt;?php the_title(); ?&gt;&quot; 
rel=&quot;bookmark&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;?php the_excerpt(); ?&gt;
&lt;/div&gt;
&lt;?php endwhile; ?&gt; &lt;!-- this ends the loop --&gt;
&lt;/div&gt; &lt;!-- This closes off the cf_wrapper --&gt;
</pre></p>
<p>Because we don&#8217;t necessarily know how many divs will be created (remember there might not be enough posts in the chosen category) we cannot just make the cf# count up from one. Using <code>cf&lt;?php the_ID(); ?&gt;</code> means that the post ID is used as the cf#. This is a basic version, where just the title and excerpt of each post is used as the div content, but we can expand on that later. The importance of <code>class=&quot;cf_element&quot;</code>will become clear when we look at styling.</p>
<h3>Making the Script Pick Up Our Divs</h3>
<p>Now that the <code>&lt;div id=&quot;cf#&quot;&gt;</code>s are no longer known, we have to change the javascript to accommodate for that. As we are now outside of the loop, we need to go back to our <code>$div_ids</code> variable.</p>
<p><pre>
&lt;script type=&quot;text/javascript&quot;&gt;
var cf = new Crossfader( new Array(
&lt;?php
foreach ($div_ids as $id) {
$stringlist[] = &quot;&#039;cf&quot;.$id.&quot;&#039;&quot;;
}
echo implode (&#039;,&#039;,$stringlist);
?&gt;
), 1000, 5000 );
&lt;/script&gt;
</pre></p>
<p>Again, this might need some explaining.</p>
<ol>
<li>We start the javascript as before, but where we list the cf#s, we use our variable.</li>
<li>Next we say that for every <code>$div_ids</code> we will have <code>$id</code></li>
<li>We then get back the array of these <code>$div_ids</code> and build a string from them.</li>
<li>Then this string is &#8216;imploded&#8217;, where the string of cf#s is put together with commas between them.</li>
<li>This is echoed back to the page, and the script continues.</li>
</ol>
<p>We now add this to the code so far, I put it in between the end of the loop and the end of the cf_wrapper div.</p>
<p>You can take a look at all that code together <a href="http://epicalex.com/files/sample_crossfader.txt">here</a></p>
<p>You can now be as imaginative as you like, Click below to go to the next page and read about incorporating images into the mix!</p>

<p><a href="http://feeds.feedburner.com/~a/epicalex?a=t1Tksb"><img src="http://feeds.feedburner.com/~a/epicalex?i=t1Tksb" border="0"></img></a></p><img src="http://feeds.feedburner.com/~r/epicalex/~4/279711324" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://epicalex.com/creating-dynamic-crossfading-recent-posts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>High Quality Photoshop Brick Brushes</title>
		<link>http://epicalex.com/high-quality-photoshop-brick-brushes/</link>
		<comments>http://epicalex.com/high-quality-photoshop-brick-brushes/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 14:00:07 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Downloads]]></category>

		<category><![CDATA[Photoshop]]></category>

		<category><![CDATA[download]]></category>

		<guid isPermaLink="false">http://epicalex.com/?p=45</guid>
		<description><![CDATA[
I recently took some pictures of bricks that I see on my way to uni everyday, and converted them to Photoshop brushes.
They have been made in Photoshop CS3, but I&#8217;m not sure if they are compatible with other versions. All the brushes are high quality, that is, 2500px x 2500px.
Download
Photoshop Brick Brushes (1065)
Installing the Brushes

Download [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://epicalex.com/wp-content/uploads/2008/04/bricks-lb.jpg" rel="lightbox" title="Photoshop Brick Brushes"><img src="http://epicalex.com/wp-content/uploads/2008/04/bricks-big.jpg" alt="Photoshop Brick Brushes" title="Photoshop Brick Brushes" /></a><br />
I recently took some pictures of bricks that I see on my way to uni everyday, and converted them to Photoshop brushes.</p>
<p>They have been made in Photoshop CS3, but I&#8217;m not sure if they are compatible with other versions. All the brushes are high quality, that is, 2500px x 2500px.<span id="more-45"></span></p>
<h3>Download</h3>
<p><a href="http://epicalex.com/downloads/Bricks.zip" title="Version 1 downloaded 1065 times" >Photoshop Brick Brushes (1065)</a></p>
<h3>Installing the Brushes</h3>
<ol>
<li>Download and unzip the file.</li>
<li>Copy the unzipped .abr file to Photoshop/Presets/Brushes.</li>
<li>Now open Photoshop, and go to the Brushes palette, click on &#8216;Load Brushes&#8217;.</li>
<li>Find the bricks.abr file and load it.</li>
</ol>
<p>Enjoy!</p>

<p><a href="http://feeds.feedburner.com/~a/epicalex?a=90oQZs"><img src="http://feeds.feedburner.com/~a/epicalex?i=90oQZs" border="0"></img></a></p><img src="http://feeds.feedburner.com/~r/epicalex/~4/270203051" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://epicalex.com/high-quality-photoshop-brick-brushes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>10 Things To Do To Help Your New Blog</title>
		<link>http://epicalex.com/10-things-to-help-your-new-blog/</link>
		<comments>http://epicalex.com/10-things-to-help-your-new-blog/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 10:28:58 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[blogging]]></category>

		<category><![CDATA[marketing]]></category>

		<category><![CDATA[promotion]]></category>

		<guid isPermaLink="false">http://epicalex.com/?p=44</guid>
		<description><![CDATA[As this blog is new on the scene, I&#8217;m doing a lot to try and promote my posts. It therefore seemed like a great time to write a post about what I&#8217;ve done, and what I&#8217;m planning on doing, so that others can use it to help them on their way too.
In time honoured tradition, [...]]]></description>
			<content:encoded><![CDATA[<p>As this blog is new on the scene, I&#8217;m doing a lot to try and promote my posts. It therefore seemed like a great time to write a post about what I&#8217;ve done, and what I&#8217;m planning on doing, so that others can use it to help them on their way too.<span id="more-44"></span></p>
<p>In time honoured tradition, I&#8217;m going to make this a &#8216;10 things&#8230;&#8217; post, but I&#8217;m going to try to suggest things that might not spring to mind straight away. I would still recommend doing all of those normal things, such as Technorati, Digg and Feedburner, of course.</p>
<p><strong>EDIT:</strong> The post is tailored towards those in the same field as this blog, i.e. WordPress, but the tips are of course transferable. The Key, as Lorelle highlights, is to target the right demographic when submitting your news to news sites. Enjoy!</p>
<p>This is the first in a two part series, the second post will deal with monetization.</p>
<ol>
<li><a href="http://lorelle.wordpress.com/2006/01/23/blogging-tips-hundreds-of-resources-for-finding-content-for-your-blog/">Lorelle&#8217;s Resource Page for Content Topics</a> - There is no use submitting your site to Digg, or creating a Technorati Profile if you have no content to promote. Getting started on a blog can be a daunting process, and it seems like you have a massive void to fill. Lorelle has a great post listing a huge number of resources to find things to write about, I would seriously consider using this list to find inspiration if you are struggling!</li>
<li>Now that you have your new content, the world needs to know about it. Aside from the afore mentioned methods, I also suggest searching for your post topic in google and visiting as many of the blogs as you can that discuss the same thing, and let them know about your post. There are two ways you can do this, firstly &#8216;Pingbacks/Trackbacks&#8217;. Copy the URL of the post you were just reading, and add it to the bottom of your post under a &#8216;Further Reading&#8217; header, this way you are providing more useful content to your visitors, and also letting the other post author know about what you have written. The other method involves posting a comment directly on the similar post that you have been reading, saying that you have written something similar that the readers might find interesting. Commenting on lots of related sites can also help build up your web identity, and provide valuable traffic.</li>
<li><a href="http://weblogtoolscollection.com/news/">Weblog Tools Collection News</a>. Did you know that Weblog Tools Collection has a section on their site where you can submit news? It is basically a bb-press forum, but the main guys at WLTC look there, and it is where they find out about the new plugin releases that they feature that you might have seen in the RSS feed on your WordPress dashboard. Not only might the article get picked up by them and featured, assuming the content is interesting enough, but you will pretty much guarantee yourself some traffic. I submitted one article there, and I got 50 hits within the first day (I know this through Google Analytics).</li>
<li>Similarly to above, lots of sites have places that you can submit news, for example:
<ul>
<li><a href="http://wpcandy.com/submit/">WPCandy</a></li>
<li><a href="http://www.bloggingpro.com/contact/">BloggingPro</a></li>
<li><a href="http://www.blogherald.com/contact-us/">The Blog Herald</a></li>
<li><a href="http://www.blogospherenews.com/">Blogosphere News</a></li>
</ul>
<p>These are just a few to get you started, but searching for more WordPress resources on Google will find you some more.
</li>
<li>When you submit your posts to these sites, the chances of people visiting your site are dependent on what they read on that news site, the post title. Writing an effective post title can be a tricky thing, but there are plenty of resources on the internet to help you out. I suggest starting at <a href="http://www.copyblogger.com/magnetic-headlines/">CopyBlogger</a> and taking it form there.</li>
<li>Make sure you sign up to Google Analytics so you can track how all of this work you are doing  is helping get you traffic. I cannot recommend any other stats software, as Google Analytics is the only one that I&#8217;ve used, and I have to say that I&#8217;ve never needed to consider another one.</li>
<li>On the same note, Google Analytics will help you to reduce your bounce rate. It shows you top exit points from your blog, in other words, which post people were reading when they left your site. Knowing this can help you in several ways. Take a look at the post were people left from most, is it lacking quality? Is it too long? Or did people get what they wanted from it and then leave? In my case, it is the later (;-)). People were visiting my blog and downloading my plugin, and then leaving without looking around, so I knew that I had to encourage people to stay here somehow!</li>
<li>This brings me to the next point. I believe one of the most effective ways of keeping people on your site is by showing them related content to what they were just looking at. Say, for example, that someone came straight to a post on your blog, and didn&#8217;t see the homepage, how would they know what else you had written. I have just installed a great plugin called <a href="http://wordpress.org/extend/plugins/related-posts/">Related Posts</a>. What this plugin does is generate a list of other posts that you have written with the same tags. Therefore it is quite likely that the people reading that post will be interested in these others. I have placed these links at the bottom of each post, so that they are there when people finish reading. The more people stay on your site and see the quality of what you are writing, the more likely they are to subscribe to your feed, and through that keep coming back.</li>
<li>Give something away free. You need to be careful with this one, make sure you have some visitors before you try and do this, especially if it is a contest you are running, otherwise it might be a bit embarrassing if no one enters!! If you have the knowhow, writing a plugin or a theme is a great way  of getting people to come to your blog. (I&#8217;m releasing a theme when my exams are over in May) If this isn&#8217;t something you can do, then maybe give away something that you have bought or can buy and has a lot of value to someone. Depending on your niche, maybe a membership to something like <a href="http://www.wpdesigner.com/themes-club/">WPDesigners Theme Club</a> would work (admittedly that a bit in limbo at the moment, but you get the idea). Publicising this contest in the blogosphere can easily bring people to your blog.</li>
<li>Keep at it! I know from experience that if there is a drought in posts, that this will adversely effect your hits. Keep commenting on other peoples blogs, and keep finding high quality content to post about.</li>
</ol>
<p>I hope that you&#8217;ve found this post useful, and can use it to promote your new blog to bring in visitors to help you with the next part of this series: monetization. I will be posting updates to this post if I find other good methods.</p>

<p><a href="http://feeds.feedburner.com/~a/epicalex?a=7YKYVf"><img src="http://feeds.feedburner.com/~a/epicalex?i=7YKYVf" border="0"></img></a></p><img src="http://feeds.feedburner.com/~r/epicalex/~4/267621598" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://epicalex.com/10-things-to-help-your-new-blog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WordPress 2.5 Plugin Style Guide</title>
		<link>http://epicalex.com/wordpress-25-plugin-style-guide/</link>
		<comments>http://epicalex.com/wordpress-25-plugin-style-guide/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 12:07:23 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Tutorials]]></category>

		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://epicalex.com/?p=33</guid>
		<description><![CDATA[As I&#8217;ve been running the 2.5 release candidates on this blog, I thought it was the perfect opportunity to upgrade my plugin New User Email Setup to make it display in line with the new admin interface being implemented.
Now that the full 2.5 has been released, it is even more important that other plugin authors [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://epicalex.com/wp-content/uploads/2008/03/wp25-big.jpg" rel="lightbox"><img src="http://epicalex.com/wp-content/uploads/2008/03/wp25-big.jpg" alt="The New WordPress 2.5 Style Guide" title="Wp25-big" /></a>As I&#8217;ve been running the 2.5 release candidates on this blog, I thought it was the perfect opportunity to upgrade my plugin <a href="http://epicalex.com/new-user-email-set-up/">New User Email Setup</a> to make it display in line with the new admin interface being implemented.<span id="more-33"></span></p>
<p>Now that the full 2.5 has been released, it is even more important that other plugin authors also update their plugins to fit the new admin style.</p>
<p>Hopefully, this is fairly conclusive, so should act as a good guide for all the different ways of displaying data. Some of this might be a bit trivial, but it wouldn&#8217;t be conclusive without it! (NB - This post does not deal with any of the changes to hooks etc)</p>
<h3>Main Page &#8216;Frame&#8217;</h3>
<p>As with previous versions of WordPress, 2.5 wraps all of the options page in a div as follows:<br />
<pre>
&lt;div class=&quot;wrap&quot;&gt;
     &lt;!-- Put all your plugin options here --&gt;
&lt;/div&gt;
</pre></p>
<h3>The Form Tag</h3>
<p>As all the plugin options need to be submitted, the plugin options page needs to be a form, therefore, we need to add this element in too. Thanks <a href="http://epicalex.com/wordpress-25-plugin-style-guide/#comment-827">Stephen</a>.<br />
<pre>
&lt;div class=&quot;wrap&quot;&gt;
&lt;form method=&quot;post&quot; action=&quot;&lt;?php echo $_SERVER[&quot;REQUEST_URI&quot;]; ?&gt;&quot;&gt;
     &lt;!-- Put all your plugin options here --&gt;
&lt;/form&gt;
&lt;/div&gt;
</pre></p>
<h3>Titles</h3>
<p>There is only one title that has a style rule in 2.5, which is your main page title:<br />
<pre>
&lt;h2&gt;My Plugin Options&lt;/h2&gt;
</pre><br />
</p>
<p>You can of course use h3 etc too, and the browser styling will be used, but with the new layout, individual titles for individual options have kind of been replaced:</p>
<h3>Layout</h3>
<p>The main layout used for plugin options is, unfortunately, tables, but it is easy to use, the structure is as follows, below that, I have listed all the different types of input that you can use.<br />
<pre>
&lt;table class=&quot;form-table&quot;&gt;
  &lt;tbody&gt;
    &lt;tr valign=&quot;top&quot;&gt;
      &lt;th scope=&quot;row&quot;&gt;Option 1&lt;/th&gt;&lt;!-- this is like your title --&gt;
      &lt;td&gt;&lt;input type=&quot;text&quot; size=&quot;40&quot; value=&quot;&quot; id=&quot;Option_1&quot; 
                                 name=&quot;Option_1&quot;/&gt;
        &lt;br /&gt;
        This is where you put a short description of this option field
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</pre></p>
<p>This looks like this:<br />
<img src="http://epicalex.com/wp-content/uploads/2008/06/text-box.png" alt="The New Text Input" title="Text Input" /></p>
<p>Now, to change the type of input, you can use the following (I&#8217;ve assumed that you already have your th scope=&#8221;row&#8221; in place for each one, just to save me writing it every time):</p>
<p><strong>Text Area</strong><br />
<pre>
&lt;td&gt;
&lt;textarea name=&quot;Option_1&quot; cols=&quot;60&quot; rows=&quot;4&quot; style=&quot;width: 98%; 
font-size: 12px;&quot; id=&quot;Option_1&quot;&gt;
This is where you would put your PHP options call, so that text is 
displayed in the text area
&lt;textarea&gt;
&lt;/td&gt;
</pre></p>
<p>An example text area:<br />
<img src="http://epicalex.com/wp-content/uploads/2008/06/textarea.png" alt="The New Textarea" title="Textarea"/></p>
<p><strong>Checkbox</strong><br />
<pre>
&lt;td&gt; 
  &lt;label for=&quot;Option_2&quot;&gt;
    &lt;input type=&quot;checkbox&quot; value=&quot;&quot; id=&quot;Option_2&quot; name=&quot;Option_2&quot;/&gt;
    The description for the first checkbox
  &lt;/label&gt;&lt;br/&gt;
  &lt;label for=&quot;Option_3&quot;&gt;
    &lt;input type=&quot;checkbox&quot; value=&quot;&quot; id=&quot;Option_3&quot; name=&quot;Option_3&quot;/&gt;
    This is the next description
  &lt;/label&gt;
&lt;/td&gt;
</pre></p>
<p>An Example checkbox:<br />
<img src="http://epicalex.com/wp-content/uploads/2008/06/checkbox.png" alt="The New Checkbox" title="Checkbox"/></p>
<p><strong>Dropdown Box</strong><br />
<pre>
&lt;td&gt;
&lt;label for=&quot;Option_4&quot;&gt;
  &lt;select id=&quot;Option_4&quot; name=&quot;Option_4&quot;&gt;
    &lt;option value=&quot;&quot;&gt;First Value Name&lt;/option&gt;
    &lt;option value=&quot;&quot;&gt;All Values are...&lt;/option&gt;
    &lt;option value=&quot;&quot;&gt;Where you put your PHP options&lt;/option&gt;
    &lt;option value=&quot;&quot;&gt;That are saved in the Database&lt;/option&gt;
    &lt;option value=&quot;&quot;&gt;Enjoy&lt;/option&gt;
  &lt;/select&gt;
&lt;/label&gt;
&lt;/td&gt;
</pre></p>
<p>An example dropdown box:<br />
<img src="http://epicalex.com/wp-content/uploads/2008/06/dropdown.png" alt="The New Dropdown Box" title="Dropdown Box"/></p>
<p><strong>Radio Buttons</strong><br />
<pre>
&lt;td&gt;
&lt;p&gt; &lt;!-- Note the extra p --&gt;
  &lt;label&gt;
    &lt;input type=&quot;radio&quot; value=&quot;&quot; name=&quot;Option_5&quot;/&gt;
    This describes the first radio button
  &lt;/label&gt;&lt;br/&gt;
  &lt;label&gt;
    &lt;input type=&quot;radio&quot; value=&quot;&quot; name=&quot;Option_6&quot;/&gt;
    This describes the next radio button
  &lt;/label&gt;
&lt;/p&gt;
&lt;/td&gt;
</pre></p>
<p>Example radio buttons:<br />
<img src="http://epicalex.com/wp-content/uploads/2008/06/radio.png" alt="The New Radio Buttons" title="Radio Buttons"/></p>
<h3>Submit Button</h3>
<p>What you put in &#8216;value&#8217; here will be the text on the button. Make sure to put this OUTSIDE the &#8216;table&#8217;.<br />
<pre>
&lt;div class=&quot;submit&quot;&gt;
  &lt;input type=&quot;submit&quot; value=&quot;Update Settings&quot; name=&quot;submit&quot;/&gt;
&lt;/div&gt;
</pre></p>
<p>An example submit button:<br />
<img src="http://epicalex.com/wp-content/uploads/2008/06/savechanges.png" alt="The New Submit Button" title="Submit Button"/></p>
<p>I hope that this covers all of the options that are available, if I discover any more I&#8217;ll add them on.</p>
<p>See also:<br />
<a href="http://www.joostdevalk.nl/wordpress-25-plugin-settings-pages-style-guide/">Joost de Valk&#8217;s Style Guide</a><br />
<a href="http://codex.wordpress.org/Migrating_Plugins_and_Themes/">Migrating Plugins and Themes</a></p>

<p><a href="http://feeds.feedburner.com/~a/epicalex?a=bbFgKx"><img src="http://feeds.feedburner.com/~a/epicalex?i=bbFgKx" border="0"></img></a></p><img src="http://feeds.feedburner.com/~r/epicalex/~4/261243229" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://epicalex.com/wordpress-25-plugin-style-guide/feed/</wfw:commentRss>
		</item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 1.491 seconds -->
