<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Illuminati Karate, Inc. &#187; Wordpress</title>
	<atom:link href="http://illuminatikarate.com/blog/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://illuminatikarate.com</link>
	<description>creative web design, development and marketing</description>
	<lastBuildDate>Wed, 16 May 2012 23:38:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>WordPress: Send Notification E-mails On Publish</title>
		<link>http://illuminatikarate.com/blog/wordpress-send-notification-e-mails-on-publish/</link>
		<comments>http://illuminatikarate.com/blog/wordpress-send-notification-e-mails-on-publish/#comments</comments>
		<pubDate>Wed, 02 May 2012 23:52:00 +0000</pubDate>
		<dc:creator>Richard Gabriel</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://illuminatikarate.com/?p=843</guid>
		<description><![CDATA[We recently developed a site for a client that allows visitors to submit their stories using a custom form. The stories then go into a queue to be reviewed for approval by an Administrator. One requirement was that these user&#8217;s be notified by email if their story was approved. [...]]]></description>
			<content:encoded><![CDATA[<p>We recently developed a site for a client that allows visitors to submit their stories using a custom form.  The stories then go into a queue to be reviewed for approval by an Administrator.  One requirement was that these user&#8217;s be notified by email if their story was approved.</p>
<p>After not finding any plugins designed specifically to do this, I cooked up a little function that I thought I would share.<br />
<span id="more-843"></span></p>
<p><em>Note: this code assumes you already have the user&#8217;s email available as a custom field on the post.</em></p>
<p>First we need to create a function that loads the e-mail address from the published post&#8217;s ID and sends a message.  Add the following code to your theme&#8217;s functions.php:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p843code3'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p8433"><td class="code" id="p843code3"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//send notification e-mail on story publish</span>
<span style="color: #000000; font-weight: bold;">function</span> ik_send_email<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post_id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//get e-mail address from post meta field</span>
	<span style="color: #000088;">$email_address</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post_id</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'_ikcf_user_email'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$subject</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Your Subject Here!&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$body</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Thank you for your submission!  Your story has been approved!&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//use this to set the From address of the e-mail</span>
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'From: From Address &lt;from@address.com&gt;'</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>wp_mail<span style="color: #009900;">&#40;</span><span style="color: #000088;">$email_address</span><span style="color: #339933;">,</span> <span style="color: #000088;">$subject</span><span style="color: #339933;">,</span> <span style="color: #000088;">$body</span><span style="color: #339933;">,</span> <span style="color: #000088;">$headers</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">//mail sent!</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">//failure!</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>With that function in hand, we just need to add it to the &#8216;publish_post&#8217; hook:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p843code4'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p8434"><td class="code" id="p843code4"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//send notification e-mail on post publish</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'publish_post'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'ik_send_email'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>And that&#8217;s it!  A straightforward solution to send notification e-mails on publish.</p>
<p>Feel free to ask questions in the comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://illuminatikarate.com/blog/wordpress-send-notification-e-mails-on-publish/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Add Custom Fields to Media in WordPress</title>
		<link>http://illuminatikarate.com/blog/how-to-add-custom-fields-to-media-in-wordpress/</link>
		<comments>http://illuminatikarate.com/blog/how-to-add-custom-fields-to-media-in-wordpress/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 00:03:32 +0000</pubDate>
		<dc:creator>Richard Gabriel</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[custom wordpress functions]]></category>

		<guid isPermaLink="false">http://illuminatikarate.com/?p=781</guid>
		<description><![CDATA[Sometimes a WordPress project calls for custom fields on Media. We recently built a custom gallery widget that involved uploading multiple images that would have a caption, a heading, the ability to selectively output the image, and the ability to set the hex code color of the text that [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes a WordPress project calls for custom fields on Media.  We recently built a custom gallery widget that involved uploading multiple images that would have a caption, a heading, the ability to selectively output the image, and the ability to set the hex code color of the text that was output.</p>
<p>To achieve this, I created a custom field on images that would allow you to input a value to be used as the color for the text and a custom checkbox to indicate to output the image.</p>
<p>There are two steps to this:</p>
<ol>
<li>Add the custom field to the edit screen,</li>
<li>Process that field when saving / updating the media item.</li>
</ol>
<p><span id="more-781"></span></p>
<p>All of the following code can go into functions.php in your theme&#8217;s directory.</p>
<p><strong>Step 1: Adding the Custom Fields to the Edit Screen.</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p781code8'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p7818"><td class="code" id="p781code8"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> ik_image_attachment_fields_to_edit<span style="color: #009900;">&#40;</span><span style="color: #000088;">$form_fields</span><span style="color: #339933;">,</span> <span style="color: #000088;">$post</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//we use this variable to set whether or not the checkbox is currently checked</span>
	<span style="color: #666666; font-style: italic;">//defaults to not being checked</span>
	<span style="color: #000088;">$checked</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;_ik_is_hero&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> ? <span style="color: #0000ff;">&quot;CHECKED&quot;</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//to add a field to the form, there are a few values to set here</span>
	<span style="color: #666666; font-style: italic;">//label: the label of the field being output</span>
	<span style="color: #666666; font-style: italic;">//input: the type of input being output - can use 'html' as value for more custom control</span>
	<span style="color: #666666; font-style: italic;">//value: the current value of the input</span>
	<span style="color: #666666; font-style: italic;">//helps: the descriptive text shown below the field</span>
	<span style="color: #666666; font-style: italic;">//html: the custom html to use for a field if input is set to 'html' (see: 'ik_is_hero')</span>
	<span style="color: #000088;">$form_fields</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;ik_text_color&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">&quot;label&quot;</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Custom Text Color&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">&quot;input&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;text&quot;</span><span style="color: #339933;">,</span> <span style="color: #666666; font-style: italic;">// this is default if &quot;input&quot; is omitted</span>
		<span style="color: #0000ff;">&quot;value&quot;</span> <span style="color: #339933;">=&gt;</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;_ik_text_color&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
                <span style="color: #0000ff;">&quot;helps&quot;</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Expects a hex code.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$form_fields</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;ik_is_hero&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">&quot;label&quot;</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Show In Hero Widget&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'input'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'html'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'html'</span>  <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;&lt;input type='checkbox'
				name='attachments[<span style="color: #006699; font-weight: bold;">{$post-&gt;ID}</span>][ik_is_hero]'
				id='attachments[<span style="color: #006699; font-weight: bold;">{$post-&gt;ID}</span>][ik_is_hero]'
                		value='1' <span style="color: #006699; font-weight: bold;">{$checked}</span>/&gt;&lt;br /&gt;&quot;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">&quot;helps&quot;</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;If checked, this image will show in the widget.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
   <span style="color: #b1b100;">return</span> <span style="color: #000088;">$form_fields</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// now attach our function to the hook</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;attachment_fields_to_edit&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;ik_image_attachment_fields_to_edit&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><strong>An important note for when using the html input type:</strong> be sure to follow this convention for the name and id of your input &#8211; <code>'attachments[the attachment id][the custom field slug]'</code>. Otherwise you&#8217;ll have trouble saving the fields with the code below.</p>
<p><strong>Step 2: Updating the Custom Fields on Save.</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p781code9'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p7819"><td class="code" id="p781code9"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> ik_image_attachment_fields_to_save<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">,</span> <span style="color: #000088;">$attachment</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//for the standard input, we check to see if it's set and, if so, save it</span>
	<span style="color: #666666; font-style: italic;">//if you want to modify or sanitize the data, now is the time to do so</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ik_text_color'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		update_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ID'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'_ik_text_color'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$attachment</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ik_text_color'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #666666; font-style: italic;">//for the checkbox we save the value if it's currently checked</span>
	<span style="color: #666666; font-style: italic;">//if it's not checked there won't be a value set, so we set it to '0'</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ik_is_hero'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		update_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ID'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'_ik_is_hero'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$attachment</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ik_is_hero'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
		update_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'ID'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'_ik_is_hero'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$post</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// now attach our function to the hook</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;attachment_fields_to_save&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;ik_image_attachment_fields_to_save&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">null</span> <span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><strong>Don&#8217;t forget to use the fields!</strong></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p781code10'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p78110"><td class="code" id="p781code10"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//load the data (assuming you've already loaded the media, in this case post attachments)</span>
<span style="color: #000088;">$is_checked</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;_ik_is_hero&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$text_color</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;_ik_text_color&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//now you can do whatever you want!</span></pre></td></tr></table></div>

<p>I hope this is helpful!  Feel free to ask questions in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://illuminatikarate.com/blog/how-to-add-custom-fields-to-media-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress: How to Exclude Categories From the Archive Widget</title>
		<link>http://illuminatikarate.com/blog/wordpress-how-to-exclude-categories-from-the-archive-widget/</link>
		<comments>http://illuminatikarate.com/blog/wordpress-how-to-exclude-categories-from-the-archive-widget/#comments</comments>
		<pubDate>Tue, 27 Mar 2012 20:28:34 +0000</pubDate>
		<dc:creator>Richard Gabriel</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[custom wordpress functions]]></category>
		<category><![CDATA[custom wordpress widgets]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://illuminatikarate.com/?p=785</guid>
		<description><![CDATA[Updated: 5/2/2012 We love developing in WordPress. For many of our clients, there is no need to reinvent the wheel and WordPress can be a significant time saver. WordPress is a very thoroughly developed platform &#8211; yet every now and again we bump into desired functionality that isn&#8217;t readily [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><em>Updated: 5/2/2012</em></p>
<p>We love developing in WordPress. For many of our clients, there is no need to reinvent the wheel and WordPress can be a significant time saver.</p>
<p>WordPress is a very thoroughly developed platform &#8211; yet every now and again we bump into desired functionality that isn&#8217;t readily available, such as excluding categories from the Archive Widget.</p>
<p>Recently, I developed some code to do just that and thought I would share it.<br />
<span id="more-785"></span></p>
<p><em>If you want to know how to include categories, instead of excluding them, <a href="http://illuminatikarate.com/blog/wordpress-how-to-exclude-categories-from-the-archive-widget/#comment-18028">read my reply</a> to Ian&#8217;s comment below.</em></p>
<p>The default Archives Widget gives you just a few options: you can set the title, use a drop-down or a list, and display the post count next to the month.  You get more functionality if you use the <a href="http://codex.wordpress.org/Function_Reference/wp_get_archives" target="_blank">wp_get_archives()</a> function, but that won&#8217;t always get you what you need (and sometimes you <em>really</em> want to use a widget).</p>
<p>After spending some time poking around in general-template.php (/wp-includes/general-template.php), I found what I was looking for around lines 918-919: two filters, &#8216;getarchives_where&#8217; and &#8216;getarchives_join&#8217;.  These filters are applied to the SQL right before the Archives query is run, so they are the ideal point to do any heavy customization to the data that is displayed there.</p>
<p>What each of them does is pretty self-explanatory; getarchives_where modifies the WHERE clause of the SQL query and getarchives_join modifies the JOIN clause of the SQL query.  Arm yourself with a bit of knowledge as to how WordPress works and these become some powerful tools.</p>
<p><strong>On to the code&#8230;</strong></p>
<p>Here are two functions that will update the SQL as desired:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p785code15'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p78515"><td class="code" id="p785code15"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//add custom SQL to the archives widget JOIN clause</span>
<span style="color: #000000; font-weight: bold;">function</span> ik_custom_archives_join<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$sql</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;LEFT JOIN <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_relationships</span> ON(<span style="color: #006699; font-weight: bold;">$wpdb-&gt;posts</span>.ID = <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_relationships</span>.object_id) &quot;</span><span style="color: #339933;">;</span> 
	<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$sql</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;LEFT JOIN <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_taxonomy</span> ON(<span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_relationships</span>.term_taxonomy_id = <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_taxonomy</span>.term_taxonomy_id) &quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$sql</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>The above code will join in the Category information, to be used for excluding the desired Categories in the following code:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p785code16'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p78516"><td class="code" id="p785code16"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//add custom SQL to the archives widget WHERE clause</span>
<span style="color: #000000; font-weight: bold;">function</span> ik_custom_archives_where<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//get categories IDs from slugs</span>
	<span style="color: #000088;">$exclude_cat_1</span> <span style="color: #339933;">=</span> get_category_by_slug<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;exclude-cat-1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$exclude_cat_2</span> <span style="color: #339933;">=</span> get_category_by_slug<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;exclude-cat-2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//list of categories to exclude</span>
	<span style="color: #000088;">$exclude_list</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$exclude_cat_1</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cat_ID</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">', '</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$exclude_cat_2</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cat_ID</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;WHERE post_type = 'post' AND post_status = 'publish' &quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$sql</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;AND <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_taxonomy</span>.term_id NOT IN (<span style="color: #006699; font-weight: bold;">$exclude_list</span>)&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$sql</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>The above code does a couple of things:</p>
<ol>
<li>Loads the category data by slug (recommended as it&#8217;s hard to predict IDs)</li>
<li>Modifies the WHERE clause to exclude those Categories</li>
</ol>
<p>With those 2 functions in hand, you just need to add the filters to your theme&#8217;s functions.php file:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p785code17'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p78517"><td class="code" id="p785code17"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//add the ik archive filters</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'getarchives_where'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'ik_custom_archives_where'</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'getarchives_join'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'ik_custom_archives_join'</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>And that&#8217;s it!  A simple solution to exclude certain categories from the default Archives widget.</p>
<p>If you know a bit of SQL you can also use this code to make other modifications to the Archives widget, such as custom date ranges, excluding or including custom post types, and more.</p>
<p><strong>Here&#8217;s the full code:</strong></p>

<div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p785code18'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p78518"><td class="code" id="p785code18"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//add the ik archive filters</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'getarchives_where'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'ik_custom_archives_where'</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'getarchives_join'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'ik_custom_archives_join'</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//add custom SQL to the archives widget JOIN clause</span>
<span style="color: #000000; font-weight: bold;">function</span> ik_custom_archives_join<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$sql</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;LEFT JOIN <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_relationships</span> ON(<span style="color: #006699; font-weight: bold;">$wpdb-&gt;posts</span>.ID = <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_relationships</span>.object_id) &quot;</span><span style="color: #339933;">;</span> 
	<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$sql</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;LEFT JOIN <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_taxonomy</span> ON(<span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_relationships</span>.term_taxonomy_id = <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_taxonomy</span>.term_taxonomy_id) &quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$sql</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//add custom SQL to the archives widget WHERE clause</span>
<span style="color: #000000; font-weight: bold;">function</span> ik_custom_archives_where<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//get categories IDs from slugs</span>
	<span style="color: #000088;">$exclude_cat_1</span> <span style="color: #339933;">=</span> get_category_by_slug<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;exclude-cat-1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$exclude_cat_2</span> <span style="color: #339933;">=</span> get_category_by_slug<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;exclude-cat-2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//list of categories to exclude</span>
	<span style="color: #000088;">$exclude_list</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$exclude_cat_1</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cat_ID</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">', '</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$exclude_cat_2</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">cat_ID</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;WHERE post_type = 'post' AND post_status = 'publish' &quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$sql</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;AND <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_taxonomy</span>.term_id NOT IN (<span style="color: #006699; font-weight: bold;">$exclude_list</span>)&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$sql</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://illuminatikarate.com/blog/wordpress-how-to-exclude-categories-from-the-archive-widget/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WishList Member: How to Determine if User Has Pay-Per-Post Access to Content</title>
		<link>http://illuminatikarate.com/blog/wishlist-member-how-to-determine-if-user-has-pay-per-post-access-to-content/</link>
		<comments>http://illuminatikarate.com/blog/wishlist-member-how-to-determine-if-user-has-pay-per-post-access-to-content/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 03:44:43 +0000</pubDate>
		<dc:creator>Richard Gabriel</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[custom wordpress functions]]></category>
		<category><![CDATA[membership sites]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://illuminatikarate.com/?p=685</guid>
		<description><![CDATA[Updated: 5/14/2012 There are a lot of good membership plugins out there &#8211; we recently finished building a site for a client using WishList Member and ran into a problem when trying to determine if the logged-in user has access to a given piece of Pay-Per-Post content. There are [...]]]></description>
			<content:encoded><![CDATA[<ol>
<p style="text-align: center;"><em>Updated: 5/14/2012</em></p>
<p>There are a lot of good membership plugins out there &#8211; we recently finished building a site for a client using <a title="WishList Member" href="http://member.wishlistproducts.com/" target="_blank">WishList Member</a> and ran into a problem when trying to determine if the logged-in user has access to a given piece of Pay-Per-Post content.</p>
<p>There are a couple of key features that made WL Member ideal for this project:</p>
<ol>
<li>It allows the purchase of content on either a per-post or subscription basis</li>
<li>It blocks access to Private Media by using htaccess to route the requests through a PHP script</li>
</ol>
<p>This project called for us to only output links to attachments if the logged-in user had access to the content, and to do so in list views after the Read More tag was output.<br />
<span id="more-685"></span></p>
<p><em>Edit: For an example of how to use this in a shortcode, see <a href="http://illuminatikarate.com/blog/wishlist-member-how-to-determine-if-user-has-pay-per-post-access-to-content/#comment-14883">John Reeve&#8217;s comment</a>.</em></p>
<p><em>Edit #2: I had a bug in the original code (passing the wrong ID to WLMAPI::GetPostLevels) &#8211; I have fixed it.</em></p>
<p>The WishList Member API allows you to check if the current user is subscribed to the right group to view the content but there isn&#8217;t a function to determine if you have access to the content on a pay-per-post basis.</p>
<p>Their developers have done a good job of keeping you from reading their code, but after clicking around for a while and watching the database I was able to concoct a function to do what we needed:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p685code21'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p68521"><td class="code" id="p685code21"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//check to see if logged in user has the right access level to view content</span>
<span style="color: #000000; font-weight: bold;">function</span> user_has_access<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>is_user_logged_in<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$user</span> <span style="color: #339933;">=</span> wp_get_current_user<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//first check to see if this user can view the post on a pay per post basis</span>
		<span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT * FROM `wp_wlm_contentlevels`&quot;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$results</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_results</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//see if user ID is in list of allowed accounts</span>
		<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$results</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> 
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">content_id</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> 
				<span style="color: #000088;">$access_id</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/str_replace"><span style="color: #990000;">str_replace</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;U-&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">level_id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
				<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$access_id</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$user</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> 
					<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span> 
				<span style="color: #009900;">&#125;</span> 
			<span style="color: #009900;">&#125;</span> 
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//didn't find a match in the pay per post list, check regular membership levels</span>
		<span style="color: #666666; font-style: italic;">//get a list of available user levels from WL Member API</span>
		<span style="color: #000088;">$levels</span> <span style="color: #339933;">=</span> WLMAPI<span style="color: #339933;">::</span><span style="color: #004000;">GetUserLevels</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$user</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$allowed_levels</span> <span style="color: #339933;">=</span> WLMAPI<span style="color: #339933;">::</span><span style="color: #004000;">GetPostLevels</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$allowed_levels</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$level</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$levels</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">//not logged in</span>
		<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p><strong>Note:</strong><br />
This code is tested and working on  WL Member v2.71 build 1222 (most recent release at time of last update).</p>
<p>The above code does several things worth noting:</p>
<ol>
<li>Looks in the WL Member contentlevels table to get a list of content and it&#8217;s associated rights</li>
<li>Determines what User IDs have access to a given piece of content</li>
<li>Checks to see if the current user matches any of those IDs</li>
</ol>
<p>If the user isn&#8217;t found to have purchased pay-per-post access to the content then we hit the API to see if the logged in user belongs to the right membership level to view the content.</p>
<p>To get this to work, paste all of the above code into your theme&#8217;s functions.php file you will be able to do this in your theme files:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p685code22'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p68522"><td class="code" id="p685code22"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>user_has_access<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span>		
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Some private stuff.&quot;</span><span style="color: #339933;">;</span> 
<span style="color: #b1b100;">else</span><span style="color: #339933;">:</span> 
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Some instructions on gaining access to said private stuff.&quot;</span><span style="color: #339933;">;</span> 
<span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>And that&#8217;s it! With this code in hand you can do some pretty neat tricks inside your theme.</p>
<p>Feel free to ask any questions in the comments below.</p>
]]></content:encoded>
			<wfw:commentRss>http://illuminatikarate.com/blog/wishlist-member-how-to-determine-if-user-has-pay-per-post-access-to-content/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress: Only Show Authors Their Own Posts and Media in the Admin Area</title>
		<link>http://illuminatikarate.com/blog/wordpress-only-show-authors-their-own-posts-and-media-in-the-admin-area/</link>
		<comments>http://illuminatikarate.com/blog/wordpress-only-show-authors-their-own-posts-and-media-in-the-admin-area/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 01:45:08 +0000</pubDate>
		<dc:creator>Richard Gabriel</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[custom wordpress functions]]></category>
		<category><![CDATA[membership sites]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://illuminatikarate.com/?p=665</guid>
		<description><![CDATA[Updated: 5/13/2012 I&#8217;ve helped our clients set up a lot of membership sites; one common request is that members are able to submit articles within WordPress. Out-of-the-box WordPress can get you pretty far but commonly I run into two roadblocks with the default roles: The Contributor role doesn&#8217;t let [...]]]></description>
			<content:encoded><![CDATA[<p><em>
<p style="text-align: center;">Updated: 5/13/2012</p>
<p></em></p>
<p>I&#8217;ve helped our clients set up a lot of membership sites; one common request is that members are able to submit articles within WordPress.</p>
<p>Out-of-the-box WordPress can get you pretty far but commonly I run into two roadblocks with the default roles:</p>
<ol>
<li>The Contributor role doesn&#8217;t let Contributors see the Media Library</li>
<li>The Author role lets Authors see <em>everyone&#8217;s</em> Media &amp; Posts</li>
</ol>
<p>While more often than not a plugin is the way to go for a full-on membership site, there&#8217;s a really quick fix that will let you assign users to the Author role and be able to hide other&#8217;s Media &amp; Posts from them.<br />
<span id="more-665"></span></p>
<p><em>Edit: Per Winston Small&#8217;s comment below, in WordPress 3.2.1 you have to change &#8216;/wp-admin/upload.php&#8217; to &#8216;/wp-admin/media-upload.php&#8217;.</em></p>
<p>Paste the following code into your theme&#8217;s functions.php file:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p665code25'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p66525"><td class="code" id="p665code25"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//restrict authors to only being able to view media that they've uploaded</span>
<span style="color: #000000; font-weight: bold;">function</span> ik_eyes_only<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$wp_query</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//are we looking at the Media Library or the Posts list?</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span> <span style="color: #0000ff;">'REQUEST_URI'</span> <span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/wp-admin/upload.php'</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span>  
	<span style="color: #339933;">||</span> <a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span> <span style="color: #0000ff;">'REQUEST_URI'</span> <span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'/wp-admin/edit.php'</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">//user level 5 converts to Editor</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span>current_user_can<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'level_5'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">//restrict the query to current user</span>
			<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$current_user</span><span style="color: #339933;">;</span>
			<span style="color: #000088;">$wp_query</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'author'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$current_user</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">id</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>


<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p665code26'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p66526"><td class="code" id="p665code26"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//filter media library &amp; posts list for authors</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'parse_query'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ik_eyes_only'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>The above code will check to see if you are viewing the Media Library or the Posts section of the WordPress admin.  If you are, it then checks to see if you are at Level 5 or above (e.g: Editor or Administrator).  If you aren&#8217;t either of those two then it modifies the query to only include items authored by the current user.</p>
<p>With that code in place you just need to add it to the parse_query filter and you&#8217;re off to the races!</p>
<p>I hope this is helpful!  Ask any questions in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://illuminatikarate.com/blog/wordpress-only-show-authors-their-own-posts-and-media-in-the-admin-area/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>How To Add A Lightbox To A WordPress Gallery</title>
		<link>http://illuminatikarate.com/blog/wordpress-how-to-add-a-lightbox-to-a-wordpress-gallery/</link>
		<comments>http://illuminatikarate.com/blog/wordpress-how-to-add-a-lightbox-to-a-wordpress-gallery/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 14:39:25 +0000</pubDate>
		<dc:creator>Richard Gabriel</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[custom wordpress functions]]></category>
		<category><![CDATA[prettyphoto]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://illuminatikarate.com/?p=532</guid>
		<description><![CDATA[Updated: 2/29/12 I wanted to setup a simple lightbox photo gallery on a WordPress site (v3.2.1, tested and working on 3.3.1) and, to avoid installing a slew of plugins, I put together a little gallery shortcode function using the built-in WordPress gallery shortcode as my starting point. I&#8217;m a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><em>Updated: 2/29/12</em></p>
<p>I wanted to setup a simple lightbox photo gallery on a WordPress site (v3.2.1, tested and working on 3.3.1) and, to avoid installing a slew of plugins, I put together a little gallery shortcode function using the built-in WordPress gallery shortcode as my starting point. I&#8217;m a big fan of <a title="PrettyPhoto" href="http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/" target="_blank">PrettyPhoto</a>, so I modified the output of the gallery shortcode to include a rel= attribute for PrettyPhoto galleries.<span id="more-532"></span></p>
<p>I grabbed the standard WordPress gallery shortcode from line ~758 in wp-includes/media.php and pasted it into my_theme/functions.php for modification.  For the more adventurous folks you can override the default WordPress gallery shortcode and then galleries you&#8217;ve inserted using the Media Gallery will be lightboxed.</p>
<p>This also gives you a good entry point for making other modifications to the standard gallery output.</p>
<p>Here&#8217;s the code I ended up with in functions.php <em>(shortened for readability, you&#8217;ll want to copy and past the entire block of code below this into your functions.php file)</em>:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p532code32'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p53232"><td class="code" id="p532code32"><pre class="php" style="font-family:monospace;">add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'my_gallery_shortcode'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'my_gallery_shortcode_function'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> my_gallery_shortcode_function<span style="color: #009900;">&#40;</span><span style="color: #000088;">$attr</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$attachments</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$attachment</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$link</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'link'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #0000ff;">'file'</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'link'</span><span style="color: #009900;">&#93;</span> ? wp_get_attachment_link<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> wp_get_attachment_link<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//add rel=&quot;prettyPhoto[pp_gal]&quot;</span>
		<span style="color: #666666; font-style: italic;">//this is my edit</span>
		<span style="color: #000088;">$link</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/str_replace"><span style="color: #990000;">str_replace</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&gt;&lt;img'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'rel=&quot;prettyPhoto[pp_gal]&quot; &gt;&lt;img'</span><span style="color: #339933;">,</span><span style="color: #000088;">$link</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;<span style="color: #006699; font-weight: bold;">{$itemtag}</span> class='gallery-item'&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;
			&lt;<span style="color: #006699; font-weight: bold;">{$icontag}</span> class='gallery-icon'&gt;
				<span style="color: #006699; font-weight: bold;">$link</span>
			&lt;/<span style="color: #006699; font-weight: bold;">{$icontag}</span>&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$captiontag</span> <span style="color: #339933;">&amp;&amp;</span> <a href="http://www.php.net/trim"><span style="color: #990000;">trim</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_excerpt</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;
				&lt;<span style="color: #006699; font-weight: bold;">{$captiontag}</span> class='wp-caption-text gallery-caption'&gt;
				&quot;</span> <span style="color: #339933;">.</span> wptexturize<span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_excerpt</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;
				&lt;/<span style="color: #006699; font-weight: bold;">{$captiontag}</span>&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;/<span style="color: #006699; font-weight: bold;">{$itemtag}</span>&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$columns</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">++</span><span style="color: #000088;">$i</span> <span style="color: #339933;">%</span> <span style="color: #000088;">$columns</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#41;</span>
			<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'&lt;br style=&quot;clear: both&quot; /&gt;'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;
			&lt;br style='clear: both;' /&gt;
		&lt;/div&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>My edit was small, I added <code>$link=str_replace('&gt;&lt;img','rel="prettyPhoto[pp_gal]" &gt;&lt;img',$link);</code> to the gallery output so that PrettyPhoto can do it&#8217;s thing.</p>
<p>Here is the full code to copy and paste into your functions.php file:</p>

<div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p532code33'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p53233"><td class="code" id="p532code33"><pre class="php" style="font-family:monospace;">add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'my_gallery_shortcode'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'my_gallery_shortcode_function'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> my_gallery_shortcode_function<span style="color: #009900;">&#40;</span><span style="color: #000088;">$attr</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$post</span><span style="color: #339933;">,</span> <span style="color: #000088;">$wp_locale</span><span style="color: #339933;">;</span>
&nbsp;
	static <span style="color: #000088;">$instance</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$instance</span><span style="color: #339933;">++;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Allow plugins/themes to override the default gallery template.</span>
	<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> apply_filters<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_gallery'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$output</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">''</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// We're trusting author input, so let's at least make sure it looks like a valid orderby statement</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'orderby'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'orderby'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> sanitize_sql_orderby<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'orderby'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'orderby'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span>
			<a href="http://www.php.net/unset"><span style="color: #990000;">unset</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'orderby'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<a href="http://www.php.net/extract"><span style="color: #990000;">extract</span></a><span style="color: #009900;">&#40;</span>shortcode_atts<span style="color: #009900;">&#40;</span><a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'order'</span>      <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'ASC'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'orderby'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'menu_order ID'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'id'</span>         <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'itemtag'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'dl'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'icontag'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'dt'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'captiontag'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'dd'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'columns'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'size'</span>       <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'thumbnail'</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'include'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'exclude'</span>    <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$id</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/intval"><span style="color: #990000;">intval</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'RAND'</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$order</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #000088;">$orderby</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'none'</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><a href="http://www.php.net/empty"><span style="color: #990000;">empty</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$include</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$include</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/preg_replace"><span style="color: #990000;">preg_replace</span></a><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'/[^0-9,]+/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$include</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$_attachments</span> <span style="color: #339933;">=</span> get_posts<span style="color: #009900;">&#40;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'include'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$include</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_status'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'inherit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'attachment'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_mime_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'image'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'order'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$order</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'orderby'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$orderby</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$attachments</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$_attachments</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$val</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$attachments</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$val</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_attachments</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$key</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span><a href="http://www.php.net/empty"><span style="color: #990000;">empty</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$exclude</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$exclude</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/preg_replace"><span style="color: #990000;">preg_replace</span></a><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'/[^0-9,]+/'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #000088;">$exclude</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$attachments</span> <span style="color: #339933;">=</span> get_children<span style="color: #009900;">&#40;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_parent'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'exclude'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$exclude</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_status'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'inherit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'attachment'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_mime_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'image'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'order'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$order</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'orderby'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$orderby</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$attachments</span> <span style="color: #339933;">=</span> get_children<span style="color: #009900;">&#40;</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_parent'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_status'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'inherit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'attachment'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'post_mime_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'image'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'order'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$order</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'orderby'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$orderby</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <a href="http://www.php.net/empty"><span style="color: #990000;">empty</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachments</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> is_feed<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$attachments</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$att_id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$attachment</span> <span style="color: #009900;">&#41;</span>
			<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> wp_get_attachment_link<span style="color: #009900;">&#40;</span><span style="color: #000088;">$att_id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000088;">$itemtag</span> <span style="color: #339933;">=</span> tag_escape<span style="color: #009900;">&#40;</span><span style="color: #000088;">$itemtag</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$captiontag</span> <span style="color: #339933;">=</span> tag_escape<span style="color: #009900;">&#40;</span><span style="color: #000088;">$captiontag</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$columns</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/intval"><span style="color: #990000;">intval</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$columns</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$itemwidth</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$columns</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span> ? <a href="http://www.php.net/floor"><span style="color: #990000;">floor</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #339933;">/</span><span style="color: #000088;">$columns</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$float</span> <span style="color: #339933;">=</span> is_rtl<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #0000ff;">'right'</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">'left'</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$selector</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;gallery-<span style="color: #006699; font-weight: bold;">{$instance}</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$gallery_style</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$gallery_div</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> apply_filters<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'use_default_gallery_style'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #000088;">$gallery_style</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;
		&lt;style type='text/css'&gt;
			#<span style="color: #006699; font-weight: bold;">{$selector}</span> {
				margin: auto;
			}
			#<span style="color: #006699; font-weight: bold;">{$selector}</span> .gallery-item {
				float: <span style="color: #006699; font-weight: bold;">{$float}</span>;
				margin-top: 10px;
				text-align: center;
				width: <span style="color: #006699; font-weight: bold;">{$itemwidth}</span>%;
			}
			#<span style="color: #006699; font-weight: bold;">{$selector}</span> img {
				border: 2px solid #cfcfcf;
			}
			#<span style="color: #006699; font-weight: bold;">{$selector}</span> .gallery-caption {
				margin-left: 0;
			}
		&lt;/style&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$size_class</span> <span style="color: #339933;">=</span> sanitize_html_class<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$size</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$gallery_div</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;div id='<span style="color: #006699; font-weight: bold;">$selector</span>' class='gallery galleryid-<span style="color: #006699; font-weight: bold;">{$id}</span> gallery-columns-<span style="color: #006699; font-weight: bold;">{$columns}</span> gallery-size-<span style="color: #006699; font-weight: bold;">{$size_class}</span>'&gt;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> apply_filters<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'gallery_style'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$gallery_style</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$gallery_div</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$attachments</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$id</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$attachment</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$link</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'link'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #0000ff;">'file'</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$attr</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'link'</span><span style="color: #009900;">&#93;</span> ? wp_get_attachment_link<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> wp_get_attachment_link<span style="color: #009900;">&#40;</span><span style="color: #000088;">$id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//add rel=&quot;gal[lightbox]&quot;</span>
		<span style="color: #000088;">$link</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/str_replace"><span style="color: #990000;">str_replace</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&lt;a&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;&lt;a rel=<span style="color: #000099; font-weight: bold;">\&quot;</span>gal[lightbox]<span style="color: #000099; font-weight: bold;">\&quot;</span> &quot;</span><span style="color: #339933;">,</span><span style="color: #000088;">$link</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;<span style="color: #006699; font-weight: bold;">{$itemtag}</span> class='gallery-item'&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;
			&lt;<span style="color: #006699; font-weight: bold;">{$icontag}</span> class='gallery-icon'&gt;
				<span style="color: #006699; font-weight: bold;">$link</span>
			&lt;/<span style="color: #006699; font-weight: bold;">{$icontag}</span>&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$captiontag</span> <span style="color: #339933;">&amp;&amp;</span> <a href="http://www.php.net/trim"><span style="color: #990000;">trim</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_excerpt</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;
				&lt;<span style="color: #006699; font-weight: bold;">{$captiontag}</span> class='wp-caption-text gallery-caption'&gt;
				&quot;</span> <span style="color: #339933;">.</span> wptexturize<span style="color: #009900;">&#40;</span><span style="color: #000088;">$attachment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_excerpt</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;
				&lt;/<span style="color: #006699; font-weight: bold;">{$captiontag}</span>&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;/<span style="color: #006699; font-weight: bold;">{$itemtag}</span>&gt;&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$columns</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">++</span><span style="color: #000088;">$i</span> <span style="color: #339933;">%</span> <span style="color: #000088;">$columns</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#41;</span>
			<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">'&lt;br style=&quot;clear: both&quot; /&gt;'</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000088;">$output</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;
			&lt;br style='clear: both;' /&gt;
		&lt;/div&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Now that you have that all you need to do is be sure you&#8217;re including the necessary files:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p532code34'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p53234"><td class="code" id="p532code34"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>link rel<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;stylesheet&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/css&quot;</span> media<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;all&quot;</span> href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?=bloginfo('template_directory');?&gt;/prettyPhoto/css/prettyPhoto.css&quot;</span> <span style="color: #339933;">/&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?=bloginfo('template_directory');?&gt;/prettyPhoto/js/jquery.prettyPhoto.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>And be sure to call PrettyPhoto:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p532code35'); return false;">View Code</a> JAVASCRIPT</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p53235"><td class="code" id="p532code35"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> charset<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;utf-8&quot;</span><span style="color: #339933;">&gt;</span>
	$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;a[rel^='prettyPhoto']&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">prettyPhoto</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Now all you need to do is upload photos to your gallery and use this shortcode on your page:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p532code36'); return false;">View Code</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p53236"><td class="code" id="p532code36"><pre class="html" style="font-family:monospace;">[my_gallery_shortcode link=&quot;file&quot;]</pre></td></tr></table></div>

<p>And that&#8217;s it!  A quick solution to adding a lightbox to your WordPress gallery.</p>
]]></content:encoded>
			<wfw:commentRss>http://illuminatikarate.com/blog/wordpress-how-to-add-a-lightbox-to-a-wordpress-gallery/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>WordPress: How To Change Comment Excerpt Length</title>
		<link>http://illuminatikarate.com/blog/wordpress-how-to-change-comment-excerpt-length/</link>
		<comments>http://illuminatikarate.com/blog/wordpress-how-to-change-comment-excerpt-length/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 18:17:17 +0000</pubDate>
		<dc:creator>Richard Gabriel</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[custom wordpress functions]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://illuminatikarate.com/?p=493</guid>
		<description><![CDATA[I recently needed to output a list of comments and bumped into a little trouble trying to output the comment excerpt. Usually I would use the built-in comment_excerpt() function but I only needed 10 words instead of the 20 that is hard-coded. I put together a little function that [...]]]></description>
			<content:encoded><![CDATA[<p>I recently needed to output a list of comments and bumped into a little trouble trying to output the comment excerpt.  Usually I would use the built-in comment_excerpt() function but I only needed 10 words instead of the 20 that is hard-coded.  I put together a little function that I found helpful and thought I would share.</p>
<p>  <span id="more-493"></span></p>
<p>I started with get_comment_excerpt() from line ~407 of wp-includes/comment-template.php and pasted it into my_name/functions.php to be modified.</p>
<p>Here&#8217;s what I ended up with:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p493code39'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p49339"><td class="code" id="p493code39"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> my_get_comment_excerpt<span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment_ID</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$num_words</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$comment</span> <span style="color: #339933;">=</span> get_comment<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$comment_ID</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$comment_text</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_content</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$blah</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/explode"><span style="color: #990000;">explode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span> <span style="color: #000088;">$comment_text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/count"><span style="color: #990000;">count</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$blah</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #000088;">$num_words</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$k</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$num_words</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$use_dotdotdot</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$k</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/count"><span style="color: #990000;">count</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$blah</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$use_dotdotdot</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000088;">$excerpt</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">&lt;</span><span style="color: #000088;">$k</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$excerpt</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$blah</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">' '</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000088;">$excerpt</span> <span style="color: #339933;">.=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$use_dotdotdot</span><span style="color: #009900;">&#41;</span> ? <span style="color: #0000ff;">'...'</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> apply_filters<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'get_comment_excerpt'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$excerpt</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p><br/></p>
<p>And here&#8217;s a little code to output a list of comments using this function:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p493code40'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p49340"><td class="code" id="p493code40"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>ul<span style="color: #339933;">&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> 
	<span style="color: #000088;">$comments</span> <span style="color: #339933;">=</span> get_comments<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$comments</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$c</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #339933;">&lt;</span>li<span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo get_permalink(<span style="color: #006699; font-weight: bold;">$c-&gt;comment_post_ID</span>); ?&gt;&quot;</span><span style="color: #339933;">&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">/* output 10 words of comment */</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
		<span style="color: #339933;">&lt;</span>p<span style="color: #339933;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;?</span>php <span style="color: #b1b100;">echo</span> my_get_comment_excerpt<span style="color: #009900;">&#40;</span><span style="color: #000088;">$c</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_ID</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><span style="color: #339933;">&lt;/</span>p<span style="color: #339933;">&gt;</span>		
		<span style="color: #339933;">&lt;</span>span<span style="color: #339933;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;?</span>php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$c</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_author</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><span style="color: #339933;">&lt;/</span>span<span style="color: #339933;">&gt;</span>
		<span style="color: #339933;">&lt;</span>span<span style="color: #339933;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;?</span>php <span style="color: #b1b100;">echo</span> <a href="http://www.php.net/date"><span style="color: #990000;">date</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;m/j/Y&quot;</span><span style="color: #339933;">,</span><a href="http://www.php.net/strtotime"><span style="color: #990000;">strtotime</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$c</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_date</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> <span style="color: #339933;">&lt;/</span>span<span style="color: #339933;">&gt;</span>
	<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;/</span>li<span style="color: #339933;">&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
	<span style="color: #b1b100;">endforeach</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #339933;">&lt;/</span>ul<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>Feel free to ask questions in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://illuminatikarate.com/blog/wordpress-how-to-change-comment-excerpt-length/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WP e-Commerce Category Product List Shortcode</title>
		<link>http://illuminatikarate.com/blog/wp-e-commerce-category-product-list-shortcode/</link>
		<comments>http://illuminatikarate.com/blog/wp-e-commerce-category-product-list-shortcode/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 17:35:59 +0000</pubDate>
		<dc:creator>Richard Gabriel</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[custom wordpress functions]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[WP E-Commerce]]></category>

		<guid isPermaLink="false">http://illuminatikarate.com/?p=570</guid>
		<description><![CDATA[Update: tested and working on v3.8.8. While setting up a store using WP e-Commerce I noticed that the Category Product List Shortcode was no longer working for me. I cooked up a quick shortcode function using some of their product list code that will query the products by the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><em>Update: tested and working on v3.8.8.</em></p>
<p>While setting up a store using <a href="http://www.instinct.co.nz/e-commerce/" target="_blank" title="WP E-Commerce">WP e-Commerce</a> I noticed that the <a href="http://www.instinct.co.nz/e-commerce/integration/" target="_blank">Category Product List Shortcode</a> was no longer working for me.  </p>
<p>I cooked up a quick shortcode function using some of their product list code that will query the products by the passed category and output them using the product template.<span id="more-570"></span></p>
<p>First, place the following code in my_theme/functions.php:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p570code42'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p57042"><td class="code" id="p570code42"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> my_wpsc_products_shortcode<span style="color: #009900;">&#40;</span><span style="color: #000088;">$atts</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$number_per_page</span> <span style="color: #339933;">=</span> get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'use_pagination'</span><span style="color: #009900;">&#41;</span> ? get_option<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wpsc_products_per_page'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$query</span> <span style="color: #339933;">=</span> shortcode_atts<span style="color: #009900;">&#40;</span><a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'category_id'</span> <span style="color: #339933;">=&gt;</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$atts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cat'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$atts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cat'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'limit_of_items'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'sort_order'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'number_per_page'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$number_per_page</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'page'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$atts</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> wpsc_display_products_page<span style="color: #009900;">&#40;</span><span style="color: #000088;">$query</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'my_wpsc_category'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'my_wpsc_products_shortcode'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Once that&#8217;s done you&#8217;ll be able to use <code>[my_wpsc_category cat=6 /]</code>, where 6 is the integer ID of the category, on whichever page you want the products displayed on.  </p>
<p>This list will be output using the wpsc-single_product.php template or the wpsc-products_page.php template, depending on whether you have multiple products in the category.</p>
<p>Feel free to ask questions in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://illuminatikarate.com/blog/wp-e-commerce-category-product-list-shortcode/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Exclude WordPress&#8217; Admin URLs from your AWStats Reports</title>
		<link>http://illuminatikarate.com/blog/exclude-wordpress-admin-urls-from-your-awstats-reports/</link>
		<comments>http://illuminatikarate.com/blog/exclude-wordpress-admin-urls-from-your-awstats-reports/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 17:58:52 +0000</pubDate>
		<dc:creator>George Huger</dc:creator>
				<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[awstats]]></category>

		<guid isPermaLink="false">http://illuminatikarate.com/blog/?p=18</guid>
		<description><![CDATA[After upgrading a friend&#8217;s blog to WordPress 2.7 we started noticing his pageview numbers in AWStats going through the roof, without a corresponding increase in visitors. Here&#8217;s a screenshot: Google Analytics was showing normal pageview numbers, so we knew something was amiss. When we looked at the most viewed [...]]]></description>
			<content:encoded><![CDATA[<p>After upgrading a friend&#8217;s blog to WordPress 2.7 we started noticing his pageview numbers in AWStats going through the roof, without a corresponding increase in visitors. Here&#8217;s a screenshot:</p>
<p><a href="http://illuminatikarate.com/wp-content/uploads/2009/03/aws-pageviews-feb-sic.png"><img class="aligncenter size-full wp-image-26" title="Screenshot of AWStats seemingly overreporting pageviews" src="http://illuminatikarate.com/wp-content/uploads/2009/03/aws-pageviews-feb-sic.png" alt="Screenshot of AWStats seemingly overreporting pageviews" width="430" height="69" /></a></p>
<p>Google Analytics was showing normal pageview numbers, so we knew something was amiss. When we looked at the most viewed pages in awstats, it became obvious:</p>
<p><a href="http://illuminatikarate.com/wp-content/uploads/2009/03/aws-pageviews-per-page-feb-sic1.png"><img src="http://illuminatikarate.com/wp-content/uploads/2009/03/aws-pageviews-per-page-feb-sic1.png" alt="Screenshot of AWStats views per page, showing 2228 hits on WP&#039;s admin-ajax.php file" title="Screenshot of AWStats views per page, showing 2228 hits on WP&#039;s admin-ajax.php file" width="500" height="38" class="aligncenter wp-image-28" /></a></p>
<p>AWStats has always counted pageviews on the WordPress backend, but compared to the total pageviews the impact was negligible. However, now that WordPress 2.7 makes so many AJAX calls to admin-ajax.php (primarily for saving drafts), we must exclude these pageviews from our reports to leave meaningful data. Thankfully its very easy.</p>
<p><span id="more-370"></span>We&#8217;re going to instruct awstats to ignore hits on any page in the wp-admin directory. Alternatively, we could have AWStats ignore our IP address, which has its own merits, but this approach becomes cumbersome when multiple authors and dynamic IPs come into play. </p>
<p>Instructions:</p>
<ol>
<li>Open the awstats .conf file which corresponds to your domain. On most shared hosting accounts this will be located in /tmp/awstats/. If you see more than one .conf file, choose the one which matches the domain of the site you are working on.</li>
<li>Look for the line which starts with:
<pre class="code">SkipFiles="</pre>
<p>AWStats is usually already configured to exclude robots.txt and favicon.ico, so the line probably looks like this:
<pre class="code">SkipFiles="robots.txt$ favicon.ico$"</pre>
</li>
<li>Append the following string after the last filename listed (make sure to leave a space), but before the quote:
<pre class="code"> REGEX[^/wp-admin/]</pre>
<p>If you&#8217;re file looks like mine, the line should now read:
<pre class="code">SkipFiles="robots.txt$ favicon.ico$ REGEX[^/wp-admin/]"</pre>
</li>
<li>Save and upload the file. If you&#8217;re on shared hosting, you&#8217;ll want to CHMOD the .conf file to 444, otherwise your changes are likely to be overwritten.</li>
</ol>
<p>That&#8217;s it! This change is not retroactive, but if all went well you should be able to write a new post in WordPress and the pageviews for admin-ajax.php will not increase.</p>
]]></content:encoded>
			<wfw:commentRss>http://illuminatikarate.com/blog/exclude-wordpress-admin-urls-from-your-awstats-reports/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

