<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="https://brooke.codes/wp-content/plugins/pretty-rss-feeds/xslt/pretty-feed.xsl" type="text/xsl" media="screen" ?><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>WordPress &#8211; &lt;Brooke&gt; &lt;Codes&gt;</title>
	<atom:link href="https://brooke.codes/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>https://brooke.codes</link>
	<description>The Tech Blog of Brooke. </description>
	<lastBuildDate>Sat, 29 Mar 2025 07:40:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Introducing Soapberry for Ackee</title>
		<link>https://brooke.codes/2019/12/29/introducing-ackee-wp/</link>
		
		<dc:creator><![CDATA[Brooke.]]></dc:creator>
		<pubDate>Sun, 29 Dec 2019 23:18:40 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wp-plugins]]></category>
		<guid isPermaLink="false">https://brooke.codes/?p=1081</guid>

					<description><![CDATA[<img width="150" height="150" src="https://brooke.codes/wp-content/uploads/2020/01/banner-1544x500-1-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Banner 1544x500" decoding="async" />Update: this plugin was originally called Ackee WP but has been renamed to Soapberry to comply with the WordPress.org trademark policy for plugins. The plugin can now be found on WordPress.org under the slug Soapberry. As part of my desire to own my data, I haven&#8217;t used Google Analytics for the past few years. In [&#8230;]]]></description>
										<content:encoded><![CDATA[<img width="150" height="150" src="https://brooke.codes/wp-content/uploads/2020/01/banner-1544x500-1-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Banner 1544x500" decoding="async" />
<blockquote class="wp-block-quote is-style-info-notice is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Note: </strong>This post refers to code and a project from <em>many</em> years ago <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f631.png" alt="😱" class="wp-smiley" style="height: 1em; max-height: 1em;" />. The content was edited in March of 2025 to remove dead links, improve clarity, or fix formatting, but no other edits were made. Enjoy this time capsule into the past.</p>
</blockquote>



<blockquote class="wp-block-quote is-style-warning-notice is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Update:</strong> this plugin was originally called Ackee WP but has been renamed to Soapberry to comply with the WordPress.org trademark policy for plugins. The plugin can now be found on WordPress.org under the slug <a href="https://wordpress.org/plugins/soapberry/">Soapberry</a>. </p>
</blockquote>



<p class="wp-block-paragraph">As part of my desire to own my data, I haven&#8217;t used Google Analytics for the past few years. In that time I&#8217;ve been curious about my site statistics but knew when I resumed collecting data I wanted to do so in a way that respected the privacy of my visitors.  </p>



<p class="wp-block-paragraph">This year I started a search for self-hosted tracking solutions and came across a lightweight node application, <a href="https://ackee.electerious.com">Ackee</a>. After looking at a few other options I decided on Ackee for its care in anonymizing user data. Through hashing the user&#8217;s IP, a unique domain ID, and a salt which changes daily, site visits can be tracked without tracking the individual visitors.  </p>



<p class="wp-block-paragraph">For my needs, I want to know how many visits my sites are getting, where visitors are coming from, and how long they stay on the site. However, I do not have a need or desire to track individual visitors.</p>



<h3 class="wp-block-heading">Using Ackee with WordPress</h3>



<p class="wp-block-paragraph">After setting up an Ackee instance and adding the tracking script to a few static sites I wanted to bring the functionality to my WordPress sites. At first, I just edited the theme&#8217;s <code>footer.php</code> file which worked well enough as a quick way to insert the script. Next, I hooked into <code>wp_footer()</code> so it would be easier to exclude logged in visits from the analytics. </p>



<p class="wp-block-paragraph">While both of these methods work they do require a bit of WordPress know-how and do not carry over when switching themes. Wanting a better solution, I got to work writing <a href="https://brooke.codes/past-projects/soapberry/" data-type="page" data-id="1074">Soapberry</a> a WordPress plugin that adds the Ackee tracking script and data attributes to the site&#8217;s footer based on settings saved on a WP Admin page.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="2475" height="1298" src="https://brooke.codes/wp-content/uploads/2020/01/screenshot-1.png?w=1024" alt="" class="wp-image-1103" srcset="https://brooke.codes/wp-content/uploads/2020/01/screenshot-1.png 2475w, https://brooke.codes/wp-content/uploads/2020/01/screenshot-1-300x157.png 300w, https://brooke.codes/wp-content/uploads/2020/01/screenshot-1-1024x537.png 1024w, https://brooke.codes/wp-content/uploads/2020/01/screenshot-1-768x403.png 768w, https://brooke.codes/wp-content/uploads/2020/01/screenshot-1-1536x806.png 1536w, https://brooke.codes/wp-content/uploads/2020/01/screenshot-1-2048x1074.png 2048w" sizes="(max-width: 2475px) 100vw, 2475px" /></figure>



<p class="wp-block-paragraph">Keeping things simple at first, this first version of the plugin only has the ability to exclude all logged-in visitors and does not take into account the <a href="https://github.com/electerious/Ackee/blob/master/docs/Anonymization.md#personal-data">personal data options provided by Ackee</a>. In the future, you may be able to exclude visits by role and enable opt-in tracking for personal information.</p>



<h3 class="wp-block-heading">Exploring Ackee Alternatives</h3>



<p class="wp-block-paragraph">If after looking at Ackee you don&#8217;t think its right for you that&#8217;s okay. Ackee won&#8217;t be right for everyone. The good news is there are other options when looking to move away from Google Analytics, Facebook Pixel, or other third-party tools. </p>



<p class="wp-block-paragraph">Chris Wiegman <a href="https://chriswiegman.com/2019/11/setting-up-private-website-analytics-with-goaccess/">wrote a post on anonymizing and tracking visits at the server level</a> to avoid the JavaScript requirement of many trackers. The folks over at Awesome Open Source also<a href="https://github.com/awesome-selfhosted/awesome-selfhosted#analytics"> list several other Analytics tools</a> that can be explored. If you find a tool you like let me know what you are using in the comments.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordCamp Seattle 2017 Slides</title>
		<link>https://brooke.codes/2017/11/05/wordcamp-seattle-2017-slides/</link>
		
		<dc:creator><![CDATA[Brooke.]]></dc:creator>
		<pubDate>Sun, 05 Nov 2017 18:55:42 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[seattle]]></category>
		<category><![CDATA[wordcamp]]></category>
		<guid isPermaLink="false">https://brooke.codes/?p=1006</guid>

					<description><![CDATA[<img width="150" height="150" src="https://brooke.codes/wp-content/uploads/2017/11/wcsea_featured-150x150.png" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Wcsea featured" decoding="async" loading="lazy" />This weekend I have the pleasure of speaking at WordCamp Seattle offering some advice from all parts of support. Here are the slides from my #wcsea talk, Help Us Help You, things you should know before contacting support. Once the video is on WordPress.tv that will be posted here as well.]]></description>
										<content:encoded><![CDATA[<img width="150" height="150" src="https://brooke.codes/wp-content/uploads/2017/11/wcsea_featured-150x150.png" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Wcsea featured" decoding="async" loading="lazy" />
<p class="wp-block-paragraph">This weekend I have the pleasure of speaking at WordCamp Seattle offering some advice from all parts of support. Here are the slides from my #wcsea talk, Help Us Help You, things you should know before contacting support. Once the video is on <a href="https://WordPress.tv">WordPress.tv </a>that will be posted here as well.</p>



<figure class="wp-block-embed is-type-rich is-provider-cloudup wp-block-embed-cloudup wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Brooke dukes wcsea" class="cloudup_iframe_embed" src="https://cloudup.com/iFlF1Dnf-0l?chromeless=true&amp;autoplay=false" data-uid="iFlF1Dnf-0l" data-aspect-ratio="1.36986301369863" width="500" height="365" scrolling="no" frameborder="0" mozallowfullscreen="true" webkitallowfullscreen="true" allowfullscreen="true"></iframe>
</div></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>MP6 Light</title>
		<link>https://brooke.codes/2013/07/28/mp6-light/</link>
					<comments>https://brooke.codes/2013/07/28/mp6-light/#comments</comments>
		
		<dc:creator><![CDATA[Brooke.]]></dc:creator>
		<pubDate>Sun, 28 Jul 2013 07:44:06 +0000</pubDate>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wp-plugins]]></category>
		<guid isPermaLink="false">https://brooke.codes/?p=352</guid>

					<description><![CDATA[It&#8217;s one of the (not so) well kept secrets in WordPress that a team is busy redesigning the admin interface.&#160; In fact, if you use WordPress.com you have likely noticed a change in the admin layout some time ago. For those of you using a self-hosted WordPress site the change most likely won&#8217;t happen till [&#8230;]]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-style-info-notice is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Note: </strong>This post refers to code and a project from <em>many</em> years ago <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f631.png" alt="😱" class="wp-smiley" style="height: 1em; max-height: 1em;" />. The content was edited in March of 2025 to remove dead links, improve clarity, or fix formatting, but no other edits were made. Enjoy this time capsule into the past.</p>
</blockquote>



<p class="wp-block-paragraph">It&#8217;s one of the (not so) well kept secrets in WordPress that a team is busy redesigning the admin interface.&nbsp; In fact, if you use WordPress.com you have likely noticed a change in the admin layout some time ago. For those of you using a self-hosted WordPress site the change most likely won&#8217;t happen till at least 3.7.</p>



<p class="wp-block-paragraph">However, for the early adopters and developers you can preview the new layout by using the <a href="https://wordpress.org/plugins/mp6">MP6 Plugin</a>.  I personally (and from the forums, many others) felt that the new sidebar was too dark. It also currently looks like MP6 plugin won&#8217;t give users the option to switch between layouts. For this reason I&#8217;ve created MP6-light which basically works by adding a stylesheet that makes the admin a bit lighter. Check out the <a href="https://brooke.codes/past-projects/mp6-light/">project page</a> or get the plugin from the <a href="https://wordpress.org/plugins/mp6-light">WordPress repository</a>.</p>



<p class="wp-block-paragraph"><strong>NOTE:</strong> This plugin requires the MP6 plugin to be installed.</p>



<p class="wp-block-paragraph"><strong>P.S</strong>: I&#8217;m also looking for people to get involved with the project on <a href="https://github.com/BrookeDot/mp6-light">github</a>.</p>



<figure class="wp-block-image aligncenter"><a href="https://brooke.codes/wp-content/uploads/2013/07/screenshot-2.png"><img loading="lazy" decoding="async" width="1024" height="374" src="https://brooke.codes/wp-content/uploads/2013/07/screenshot-2.png" alt="screenshot-2" class="wp-image-355" srcset="https://brooke.codes/wp-content/uploads/2013/07/screenshot-2.png 1024w, https://brooke.codes/wp-content/uploads/2013/07/screenshot-2-300x110.png 300w, https://brooke.codes/wp-content/uploads/2013/07/screenshot-2-768x281.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image aligncenter"><a href="https://brooke.codes/wp-content/uploads/2013/07/screenshot-1.png"><img loading="lazy" decoding="async" width="1024" height="485" src="https://brooke.codes/wp-content/uploads/2013/07/screenshot-1.png" alt="screenshot-1" class="wp-image-346" srcset="https://brooke.codes/wp-content/uploads/2013/07/screenshot-1.png 1024w, https://brooke.codes/wp-content/uploads/2013/07/screenshot-1-300x142.png 300w, https://brooke.codes/wp-content/uploads/2013/07/screenshot-1-768x364.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://brooke.codes/2013/07/28/mp6-light/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Uploading Files as Post attachments with Gravity Forms</title>
		<link>https://brooke.codes/2013/03/05/uploading-files-as-post-attachments-with-gravity-forms/</link>
					<comments>https://brooke.codes/2013/03/05/uploading-files-as-post-attachments-with-gravity-forms/#comments</comments>
		
		<dc:creator><![CDATA[Brooke.]]></dc:creator>
		<pubDate>Wed, 06 Mar 2013 07:23:29 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Attachements]]></category>
		<category><![CDATA[Gravity Froms]]></category>
		<category><![CDATA[Snippits]]></category>
		<guid isPermaLink="false">https://brooke.codes/?p=304</guid>

					<description><![CDATA[Okay so like may others I love Gravity Forms. Simple, elegant forms for WordPress. However, I recently ran into a snag when trying to use the awesome Custom Post Type plugin to allow my client to upload a PDF then have that be saved as an attachment to the post. Here is my solution in [&#8230;]]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-style-info-notice is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Note: </strong>This post refers to code and a project from <em>many</em> years ago 😱. The content was edited in March of 2025 to remove dead links, improve clarity, or fix formatting, but no other edits were made. Enjoy this time capsule into the past.</p>
</blockquote>



<p class="wp-block-paragraph">Okay so like may others I love <a href="https://www.gravityforms.com">Gravity Forms</a>. Simple, elegant forms for WordPress. However, I recently ran into a snag when trying to use the awesome <a href="https://wordpress.org/plugins/gravity-forms-custom-post-types/">Custom Post Type</a> plugin to allow my client to upload a PDF then have that be saved as an attachment to the post. Here is my solution in hopes it helps you. I&#8217;m open to suggestions on better ways to do this.</p>



<span id="more-304"></span>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: php; title: ; notranslate">
add_filter(&quot;gform_after_submission&quot;, &quot;nifty_add_post_attachements&quot;, 10, 3);
function nifty_add_post_attachements($entry) {
//you&#039;ll need this later, TRUST ME.
if(!function_exists(&#039;wp_generate_attachment_metadata&#039;)){require_once(ABSPATH . &#039;wp-admin/includes/image.php&#039;);}

//do we even have a file?
if (isset($_FILES&#x5B;&#039;input_4&#039;])) {
$file_url = $entry&#x5B;&#039;4&#039;]; //great but what is its url?
$upload_dir = wp_upload_dir(); //where do you want to put it?
$file_data = file_get_contents($file_url); //show me what you&#039;re made of
$filename = basename($file_url); //so cute but what&#039;s its name?
if(wp_mkdir_p($upload_dir&#x5B;&#039;path&#039;])) //can we put it there?
$file = $upload_dir&#x5B;&#039;path&#039;] . &#039;/&#039; . $filename; //yes great
else //or no, okay fine let&#039;s try somewhere else
$file = $upload_dir&#x5B;&#039;basedir&#039;] . &#039;/&#039; . $filename; //get the whole location
file_put_contents($file, $file_data); // tada home at last

$wp_filetype = wp_check_filetype($filename, array(&#039;pdf&#039; =&gt; &#039;application/pdf&#039;,&#039;pdf&#039; =&gt; &#039;application/x-pdf&#039;) ); //is it the right type of of file?
$attachment = array( //set up the attachment
&#039;post_mime_type&#039; =&gt; $wp_filetype&#x5B;&#039;type&#039;],
&#039;post_title&#039; =&gt; sanitize_file_name($filename),
&#039;post_content&#039; =&gt; &#039;&#039;,
&#039;post_status&#039; =&gt; &#039;inherit&#039;
);

$attach_id = wp_insert_attachment( $attachment, $file, $entry&#x5B;&#039;post_id&#039;] ); //insert attachment
$attach_data = wp_generate_attachment_metadata( $attach_id, $file ); //asign the meta
wp_update_attachment_metadata( $attach_id, $attach_data ); //update the post

//remove the entry
//(to keep the entry comment or delete these line)
// IMPORTANT See:  https://pastebin.com/quvsvGHJ for the function
if(!function_exists(&#039;sedc_gform_remove_entries&#039;)){ die(&#039;next time maybe you should read the comments&#039;);}
else{ nifty_gform_remove_entries($entry, $form );}
}
}
</pre></div>


<p class="wp-block-paragraph">I have included a function that removes the entry and original file upload. That function can be found <a href="https://pastebin.com/quvsvGHJ">here</a>. There is also a simpler version that doesn&#8217;t give a damn about the file upload that can be found <a href="https://pastebin.com/p1cJ0xWM">here</a>. Both are original from the GF support forms but have been slightly modified for v 1.6.  I should also point out that some of the upload code came from <a href="https://wordpress.stackexchange.com/questions/40301/how-do-i-set-a-featured-image-thumbnail-by-image-url-when-using-wp-insert-post">here</a>.</p>



<p class="wp-block-paragraph">Hope you find this useful</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://brooke.codes/2013/03/05/uploading-files-as-post-attachments-with-gravity-forms/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Simple Portfolio Widget</title>
		<link>https://brooke.codes/2012/06/18/simple-portfolio-widget/</link>
		
		<dc:creator><![CDATA[Brooke.]]></dc:creator>
		<pubDate>Tue, 19 Jun 2012 01:58:12 +0000</pubDate>
				<category><![CDATA[php]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://brooke.codes/?p=280</guid>

					<description><![CDATA[Hi, I just wrote a simple portfolio widget and thought I would share. This code uses Justin Tadlock&#8217;s get_the_image plugin and custom widget code to display the featured image based on tag or post type. Just drop this into your functions.php or create a plugin to see it in action Let me know your thoughts [&#8230;]]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-style-info-notice is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Note: </strong>This post refers to code and a project from <em>many</em> years ago 😱. The content was edited in March of 2025 to remove dead links, improve clarity, or fix formatting, but no other edits were made. Enjoy this time capsule into the past.</p>
</blockquote>



<p class="wp-block-paragraph">Hi, I just wrote a simple portfolio widget and thought I would share. This code uses <a href="https://justintadlock.com/">Justin Tadlock&#8217;s </a><a href="https://wordpress.org/plugins/get-the-image/">get_the_image</a> plugin and custom widget code to display the featured image based on tag or post type.</p>



<span id="more-280"></span>



<p class="wp-block-paragraph">Just drop this into your functions.php or create a plugin to see it in action</p>


<div class="wp-block-syntaxhighlighter-code "><pre class="brush: php; title: ; notranslate">
if ( function_exists( &#039;add_image_size&#039; ) ) {
add_image_size( &#039;sidebar-thumb&#039;, 75,75,true   );

}
class PortfolioWidget extends WP_Widget
{
function PortfolioWidget()
{
$widget_ops = array(&#039;classname&#039; =&gt; &#039;PortfolioWidget&#039;, &#039;description&#039; =&gt; &#039;Displays a list of thumbnails for portfolio pieces in the sidebar&#039; );
$this-&gt;WP_Widget(&#039;PortfolioWidget&#039;, &#039;Portfolio Thumbnails&#039;, $widget_ops);
}

function form($instance)
{
$instance = wp_parse_args( (array) $instance, array( &#039;title&#039; =&gt; &#039;&#039;,&#039;tags&#039; =&gt; &#039;&#039;, &#039;post_type&#039; =&gt; &#039;&#039; ) );

$title = $instance&#x5B;&#039;title&#039;];
$tags = $instance&#x5B;&#039;tags&#039;];
$post_type = $instance&#x5B;&#039;post_type&#039;];
?&gt;

&lt;p&gt;&lt;label for=&quot;&lt;?php echo $this-&gt;get_field_id(&#039;title&#039;); ?&gt;&quot;&gt;Title: &lt;input id=&quot;&lt;?php echo $this-&gt;get_field_id(&#039;title&#039;); ?&gt;&quot; name=&quot;&lt;?php echo $this-&gt;get_field_name(&#039;title&#039;); ?&gt;&quot; type=&quot;text&quot; value=&quot;&lt;?php echo attribute_escape($title); ?&gt;&quot; /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for=&quot;&lt;?php echo $this-&gt;get_field_id(&#039;tags&#039;); ?&gt;&quot;&gt;Tags: &lt;input id=&quot;&lt;?php echo $this-&gt;get_field_id(&#039;tags&#039;); ?&gt;&quot; name=&quot;&lt;?php echo $this-&gt;get_field_name(&#039;tags&#039;); ?&gt;&quot; type=&quot;text&quot; value=&quot;&lt;?php echo attribute_escape($tags); ?&gt;&quot; /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;&lt;label for=&quot;&lt;?php echo $this-&gt;get_field_id(&#039;post_type&#039;); ?&gt;&quot;&gt;Post Types: &lt;input id=&quot;&lt;?php echo $this-&gt;get_field_id(&#039;post_type&#039;); ?&gt;&quot; name=&quot;&lt;?php echo $this-&gt;get_field_name(&#039;post_type&#039;); ?&gt;&quot; type=&quot;text&quot; value=&quot;&lt;?php echo attribute_escape($post_type); ?&gt;&quot; /&gt;&lt;/label&gt;&lt;/p&gt;
&lt;?php
}

function update($new_instance, $old_instance)

{
$instance = $old_instance;
$instance&#x5B;&#039;title&#039;] = $new_instance&#x5B;&#039;title&#039;];
$instance&#x5B;&#039;tags&#039;] =  $new_instance&#x5B;&#039;tags&#039;];
$instance&#x5B;&#039;post_type&#039;] = $new_instance&#x5B;&#039;post_type&#039;];

return $instance;
}

function widget($args, $instance)
{
extract($args, EXTR_SKIP);

echo $before_widget;
$title = empty($instance&#x5B;&#039;title&#039;]) ? &#039;&#039; : apply_filters(&#039;widget_title&#039;, $instance&#x5B;&#039;title&#039;]);
$tags = empty($instance&#x5B;&#039;tags&#039;]) ? &#039;&#039; : wp_parse_id_list($instance&#x5B;&#039;tags&#039;]);
$post_type = empty($instance&#x5B;&#039;post_type&#039;]) ? &#039;&#039; : preg_split( &#039;/&#x5B;s,]+/&#039;,strtolower($instance&#x5B;&#039;post_type&#039;]));

if (!empty($title))
echo $before_title . $title . $after_title;

$query = new WP_Query( array( &#039;post_type&#039; =&gt; $post_type, &#039;tag_id&#039; =&gt; $tags  ) );
while ( $query-&gt;have_posts() ) : $query-&gt;the_post();
echo get_the_image( array( &#039;meta_key&#039; =&gt; &#039;Thumbnail&#039;,&#039;size&#039; =&gt; &#039;sidebar-thumb&#039;) );
endwhile;
wp_reset_postdata();
echo $after_widget;
}

}
</pre></div>


<p class="wp-block-paragraph">Let me know your thoughts or if you have any questions. If there is a large intrest I may post a complete write up and example with images.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Simple SOPA Blackout Plugin</title>
		<link>https://brooke.codes/2012/01/14/simple-sopa-blackout-plugin/</link>
					<comments>https://brooke.codes/2012/01/14/simple-sopa-blackout-plugin/#comments</comments>
		
		<dc:creator><![CDATA[Brooke.]]></dc:creator>
		<pubDate>Sat, 14 Jan 2012 08:01:16 +0000</pubDate>
				<category><![CDATA[php]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wp-plugins]]></category>
		<guid isPermaLink="false">https://brooke.codes/?p=271</guid>

					<description><![CDATA[I just wrote a simple plugin to blackout your site on January 18th for the SOPA Blackout day. Check it out on the project page.]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-style-info-notice is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Note: </strong>This post refers to code and a project from <em>many</em> years ago <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f631.png" alt="😱" class="wp-smiley" style="height: 1em; max-height: 1em;" />. The content was edited in March of 2025 to remove dead links, improve clarity, or fix formatting, but no other edits were made. Enjoy this time capsule into the past.</p>
</blockquote>



<p class="wp-block-paragraph">I just wrote a simple plugin to blackout your site on January 18th for the SOPA Blackout day. Check it out on the <a href="https://brooke.codes/past-projects/sopa/" data-type="page" data-id="262">project page. </a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://brooke.codes/2012/01/14/simple-sopa-blackout-plugin/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>MobileESP 1.3.1</title>
		<link>https://brooke.codes/2011/11/13/mobileesp-1-3-1/</link>
		
		<dc:creator><![CDATA[Brooke.]]></dc:creator>
		<pubDate>Sun, 13 Nov 2011 21:14:09 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wp-plugins]]></category>
		<guid isPermaLink="false">https://brooke.codes/?p=243</guid>

					<description><![CDATA[I just put out a quick fix for MobileESP for WordPress to hopefully FINALLY fix the two click cookie issue. Version 1.3.1 can be found in the other versions folder over on the WordPress Plugin page. If you don&#8217;t see 1.3.1 listed just grab the &#8220;Development Version.&#8221; Please test this version and let me know [&#8230;]]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-style-info-notice is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Note: </strong>This post refers to code and a project from <em>many</em> years ago <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f631.png" alt="😱" class="wp-smiley" style="height: 1em; max-height: 1em;" />. The content was edited in March of 2025 to remove dead links, improve clarity, or fix formatting, but no other edits were made. Enjoy this time capsule into the past.</p>
</blockquote>


<p>I just put out a quick fix for MobileESP for WordPress to hopefully FINALLY fix the two click cookie issue. Version 1.3.1 can be found in the other versions folder over on the<a href="https://wordpress.org/plugins/mobileesp-for-wordpress/download/"> WordPress Plugin page</a>. If you don&#8217;t see 1.3.1 listed just grab the &#8220;Development Version.&#8221;</p>
<p>Please test this version and let me know if any issues arise if all goes well I&#8217;ll make this the stable version.</p>
<p>CHANGES IN THIS VERSION:<br />
&#8211; Upgraded the MobileESP library to latest stable version<br />
&#8211; Hopefully fixed full site redirect issue.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Happy Fourth WordPress Birthday to Me</title>
		<link>https://brooke.codes/2011/09/27/happy-fourth-wordpress-birthday-to-me/</link>
		
		<dc:creator><![CDATA[Brooke.]]></dc:creator>
		<pubDate>Tue, 27 Sep 2011 18:00:50 +0000</pubDate>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://brooke.codes/?p=234</guid>

					<description><![CDATA[Today marks my fourth year anniversary having a WordPress.org account and when I remember first starting to use WordPress for my blog.&#160; I thought it would be fun to recap what I&#8217;ve accomplished since September 27th 2007 and what some of my long term WordPress goals are. WordPress and Me Thus Far In 2007 I [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<blockquote class="wp-block-quote is-style-info-notice is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"><strong>Note: </strong>This post refers to code and a project from <em>many</em> years ago <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f631.png" alt="😱" class="wp-smiley" style="height: 1em; max-height: 1em;" />. The content was edited in March of 2025 to remove dead links, improve clarity, or fix formatting, but no other edits were made. Enjoy this time capsule into the past.</p>
</blockquote>



<p class="wp-block-paragraph">Today marks my fourth year anniversary having a WordPress.org account and when I remember first starting to use WordPress for my blog.&nbsp; I thought it would be fun to recap what I&#8217;ve accomplished since September 27th 2007 and what some of my long term WordPress goals are.</p>



<h3 class="wp-block-heading">WordPress and Me Thus Far</h3>



<p class="wp-block-paragraph">In 2007 I started using WordPress for just my blog didn&#8217;t know what I was doing download a theme hacked up some CSS/PHP finally got everything working after hours of trying. Since that time here&#8217;s what I&#8217;ve been able to do:</p>



<ul class="wp-block-list">
<li>Became one of the Three most important people to WordPress</li>



<li>Contributed to/wrote 5 plugins with a total download count of 121,331</li>



<li>Updated 3 articles in the Codex</li>



<li>Attended WordCamp Seattle</li>



<li>Dipped my feet into WordPress Core Trac</li>



<li>Got involved in the WordPress.org Forums and at http://wordpress.stackexchange.com/</li>



<li>Updated my personal site to run completely on WordPress and Hybrid<br><br></li>
</ul>



<h3 class="wp-block-heading">What&#8217;s next?</h3>



<p class="wp-block-paragraph">Here are some of my longterm WordPress goals:</p>



<ul class="wp-block-list">
<li>Become a core contributor (even if it&#8217;s just fixing a typo)</li>



<li>Meet Matt Mullenweg</li>



<li>Continue to be involved in the Forums, discussions and Codex of WordPress</li>



<li>Attend WordCamp SF</li>



<li>Continue to attend WordCamp Seattle</li>
</ul>



<p class="wp-block-paragraph">Do you use WordPress? If so how? How long have you been using it? What are some of the things you like best?</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
