<?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>Karl Katzke &#187; wordpress</title>
	<atom:link href="http://www.karlkatzke.com/categories/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.karlkatzke.com</link>
	<description>Geek of the Week</description>
	<lastBuildDate>Thu, 22 Jul 2010 16:14:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>WordPress 2.9 and ACLs</title>
		<link>http://www.karlkatzke.com/wordpress-2-9-and-acls/</link>
		<comments>http://www.karlkatzke.com/wordpress-2-9-and-acls/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 22:29:10 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[ACL]]></category>
		<category><![CDATA[Permissions]]></category>
		<category><![CDATA[roles]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=558</guid>
		<description><![CDATA[WordPress 2.9 changed the permission structure away from the permission-based ACL, which confused many users, and created a role-based ACL where roles have permissions. This has royally fubared a few of my sites, which used extensive ACL settings with some custom plugins to enable fine-grained permissions. On the other hand, few people understood the old [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress 2.9 changed the permission structure away from the permission-based ACL, which confused many users, and created a role-based ACL where roles have permissions. This has royally fubared a few of my sites, which used extensive ACL settings with some custom plugins to enable fine-grained permissions. On the other hand, few people understood the old permission format, things were complicated enough that a user could trip over themselves and inadvertently grant multiple contradictory permissions to someone, and it was difficult to teach and explain the administrative interfaces. </p>
<p>The first step towards straightening out the new permissions structure is creating and/or changing the existing roles. Steph over at SillyBean has a <a href="http://sillybean.net/wordpress/users-and-roles/creating-roles/">good article on creating roles in the PHP code</a>, and also mentions Justin Tallock&#8217;s <a href="http://justintadlock.com/archives/2009/09/17/members-wordpress-plugin">Members Plugin</a>, which automates a bunch of the things that she explains. Of course, there&#8217;s always the <a href="http://codex.wordpress.org/Roles_and_Capabilities#Administrator">WordPress Documentation</a>, and the reasoning behind the changes are in <a href="http://core.trac.wordpress.org/ticket/10201">this WordPress Trac ticket</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/wordpress-2-9-and-acls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.7.1 update and the old WordPress Automatic Update plugin</title>
		<link>http://www.karlkatzke.com/wordpress-271-update-and-the-old-wordpress-automatic-update-plugin/</link>
		<comments>http://www.karlkatzke.com/wordpress-271-update-and-the-old-wordpress-automatic-update-plugin/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 15:42:44 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[Wordpress Automatic Upgrade]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=377</guid>
		<description><![CDATA[WordPress 2.7 included a new automatic update feature &#8212; tools -> upgrade &#8212; that replaces the functionality that was previously only available from a plugin. Unfortunately, the new feature is completely incompatible with the plugin. If you&#8217;re trying to auto-upgrade your plugin and you get a hang at &#8220;Unpacking the core update&#8221;, then you need [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress 2.7 included a new automatic update feature &#8212; tools -> upgrade &#8212; that replaces the functionality that was previously only available from a plugin. Unfortunately, the new feature is completely incompatible with the plugin. </p>
<p>If you&#8217;re trying to auto-upgrade your plugin and you get a hang at &#8220;Unpacking the core update&#8221;, then you need to <i>deactivate AND delete</i> the old &#8220;WordPress Automatic Upgrade&#8221; plugin (most recent version: 1.2.2) before you can successfully use the new upgrade function in WordPress.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/wordpress-271-update-and-the-old-wordpress-automatic-update-plugin/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>WordPress&#8217; own Stats Plugin Not Compliant with 2.5</title>
		<link>http://www.karlkatzke.com/wordpress-own-stats-plugin-not-compliant-with-25/</link>
		<comments>http://www.karlkatzke.com/wordpress-own-stats-plugin-not-compliant-with-25/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 03:34:05 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/?p=108</guid>
		<description><![CDATA[Man, and I thought my WordPress upgrade struggles were over. So, you upgraded to 2.5 a few days ago, and you&#8217;re using the Default theme until you have time to customize another one. And you got rid of the old Statspress plugin because after you started getting over 10,000 pageviews a month, your database got [...]]]></description>
			<content:encoded><![CDATA[<p>Man, and I thought my WordPress upgrade struggles were over.</p>
<p>So, you upgraded to 2.5 a few days ago, and you&#8217;re using the Default theme until you have time to customize another one. And you got rid of the old Statspress plugin because after you started getting over 10,000 pageviews a month, your database got kinda full and rather slow. So for stats, you try the <a href="http://wordpress.org/extend/plugins/stats/">WordPress.com Stats plugin</a>. And you see you&#8217;re getting one, maybe two, maybe three hits a day. Whiskey, Tango, Foxtrot?</p>
<p>Turns out that the WordPress.com stats plugin registers pages that call the wp_footer() function. So if you don&#8217;t call wp_footer in your code, it&#8217;s not going to work. The function that the 2.5 default templates use is get_footer(). If you go into plugins, stats, and edit the only mention of wp_footer to get_footer, you&#8217;ll suddenly see hits start appearing. Or, just go to all your pages that you want to collect stats from, and add a call to the wp_footer() function before the get_footer() call.</p>
<p>Note: The wp_footer function either doesn&#8217;t get called, or the code won&#8217;t be placed in there if you&#8217;re logged in to your blog at the moment. It will only display for people who aren&#8217;t logged in.</p>
<hr />
<h4>Related:</h4>
<div align="center">
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" id="Player_95ad8483-9e6e-49d6-8a82-47a9587a693d"  WIDTH="400px" HEIGHT="150px"> <PARAM NAME="movie" VALUE="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fkakaphpuanotg-20%2F8010%2F95ad8483-9e6e-49d6-8a82-47a9587a693d&#038;Operation=GetDisplayTemplate"><PARAM NAME="quality" VALUE="high"><PARAM NAME="bgcolor" VALUE="#FFFFFF"><PARAM NAME="allowscriptaccess" VALUE="always"><embed src="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fkakaphpuanotg-20%2F8010%2F95ad8483-9e6e-49d6-8a82-47a9587a693d&#038;Operation=GetDisplayTemplate" id="Player_95ad8483-9e6e-49d6-8a82-47a9587a693d" quality="high" bgcolor="#ffffff" name="Player_95ad8483-9e6e-49d6-8a82-47a9587a693d" allowscriptaccess="always"  type="application/x-shockwave-flash" align="middle" height="150px" width="400px"/> </OBJECT> <NOSCRIPT><A HREF="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fkakaphpuanotg-20%2F8010%2F95ad8483-9e6e-49d6-8a82-47a9587a693d&#038;Operation=NoScript">Amazon.com Widgets</A></NOSCRIPT>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/wordpress-own-stats-plugin-not-compliant-with-25/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.5, Google Reader&#8217;s RSS Feeds, and MagpieRSS</title>
		<link>http://www.karlkatzke.com/wordpress-25-google-readers-rss-feeds-and-magpierss/</link>
		<comments>http://www.karlkatzke.com/wordpress-25-google-readers-rss-feeds-and-magpierss/#comments</comments>
		<pubDate>Sun, 06 Apr 2008 04:32:50 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/wordpress-25-google-readers-rss-feeds-and-magpierss/</guid>
		<description><![CDATA[You might be wondering what these three things have to do with one another. The basic gist is that I&#8217;m trying to use the WordPress 2.5 RSS widget to read in my Google Reader &#8216;shared items&#8217; feed. Google Reader will publish your shared items in an Atom RSS feed. For a sample, you can see [...]]]></description>
			<content:encoded><![CDATA[<p>You might be wondering what these three things have to do with one another.</p>
<p>The basic gist is that I&#8217;m trying to use the WordPress 2.5 RSS widget to read in my Google Reader &#8216;shared items&#8217; feed. Google Reader will publish your shared items in an Atom RSS feed. For a sample, you can see <a href="http://www.google.com/reader/public/atom/user/17079902422104787188/state/com.google/broadcast">mine here</a>.</p>
<p>The RSS feed is all fine and dandy. It&#8217;s valid, it&#8217;s namespaced correctly, and it&#8217;s got all but one of the required elements. The problem comes when you try to parse it with Magpie. Inside the &#8220;entry&#8221;, there&#8217;s a &#8220;title&#8221;. There&#8217;s also a &#8220;source&#8221;. The &#8220;source&#8221; has a &#8220;title&#8221; attribute as well. <span id="more-97"></span></p>
<p>Magpie merges these attributes into one string, which is then retrieved when wp_widget_rss_output pulls $item['title']. In other words, Magpie ignores the tag hierarchy, flattening all the content. Brilliant. This is what we in the business like to call an &#8216;irresponsible hack&#8217;.</p>
<p>There&#8217;s two places where this affected me, and I used different hacks to get around each. The first place it affected me was the aforementioned entry title vs. source title. The fix for that one was easy. I simply removed the title attribute from the _CONTENT_CONSTRUCTS array&#8230; and suddenly, I got the value I was looking for. The next one wasn&#8217;t so easy. The Magpie code parses together all of the link elements, and this is a special case handled in feed_start_element &#8212; basically, all of the link tags in each feed entry will be parsed together into one mangled hunk.</p>
<p>Whoever thought this was a good idea should be taken out back and shot. What a stupid hack. Sure, it&#8217;s XML! We can&#8217;t possibly have a one-to-many relationship! It works for me!</p>
<p>For the link fix, since I always just need the first link element, I added this to my wp_widget_rss_output function in wp-includes/widgets.php:</p>
<p><code>            if($secondhttp = strpos($item['link'],'http',5)) {<br />
                $item['link'] = substr($item['link'],0,$secondhttp);<br />
            }<br />
</code></p>
<p>It&#8217;s a stupid hack to compensate for a stupid hack, but I&#8217;m not going to spend an entire weekend mucking around inside of WordPress&#8217;s retarded api just to get this RSS feed working.</p>
<p>As a side note, I&#8217;m really happy I no longer have to write PHP4 compliant code. More than an hour or two debugging this stuff now and my eyes and ears bleed.</p>
<p><i>Update:</i> I made a <a href="http://wordpress.org/support/topic/164824?replies=4#post-725697">forum post with some cleaner code examples</a> on the wordpress forums.</p>
<hr />
<h4>Related:</h4>
<div align="center">
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" id="Player_95ad8483-9e6e-49d6-8a82-47a9587a693d"  WIDTH="400px" HEIGHT="150px"> <PARAM NAME="movie" VALUE="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fkakaphpuanotg-20%2F8010%2F95ad8483-9e6e-49d6-8a82-47a9587a693d&#038;Operation=GetDisplayTemplate"><PARAM NAME="quality" VALUE="high"><PARAM NAME="bgcolor" VALUE="#FFFFFF"><PARAM NAME="allowscriptaccess" VALUE="always"><embed src="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fkakaphpuanotg-20%2F8010%2F95ad8483-9e6e-49d6-8a82-47a9587a693d&#038;Operation=GetDisplayTemplate" id="Player_95ad8483-9e6e-49d6-8a82-47a9587a693d" quality="high" bgcolor="#ffffff" name="Player_95ad8483-9e6e-49d6-8a82-47a9587a693d" allowscriptaccess="always"  type="application/x-shockwave-flash" align="middle" height="150px" width="400px"/> </OBJECT> <NOSCRIPT><A HREF="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fkakaphpuanotg-20%2F8010%2F95ad8483-9e6e-49d6-8a82-47a9587a693d&#038;Operation=NoScript">Amazon.com Widgets</A></NOSCRIPT>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/wordpress-25-google-readers-rss-feeds-and-magpierss/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Using WordPress as a CMS</title>
		<link>http://www.karlkatzke.com/using-wordpress-as-a-cms/</link>
		<comments>http://www.karlkatzke.com/using-wordpress-as-a-cms/#comments</comments>
		<pubDate>Sat, 24 Nov 2007 17:10:33 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[reviews]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/using-wordpress-as-a-cms/</guid>
		<description><![CDATA[WebDesignerWall covered some wordpress theme hacks &#8230; including some that are very helpful if you tend to use wordpress as a CMS like I sometimes do. Related: Amazon.com Widgets]]></description>
			<content:encoded><![CDATA[<p>WebDesignerWall covered some <a href="http://www.webdesignerwall.com/tutorials/wordpress-theme-hacks/">wordpress theme hacks</a> &#8230; including some that are very helpful if you tend to use wordpress as a CMS like I sometimes do.<span id="more-48"></span></p>
<hr />
<h4>Related:</h4>
<div align="center">
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" id="Player_95ad8483-9e6e-49d6-8a82-47a9587a693d"  WIDTH="400px" HEIGHT="150px"> <PARAM NAME="movie" VALUE="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fkakaphpuanotg-20%2F8010%2F95ad8483-9e6e-49d6-8a82-47a9587a693d&#038;Operation=GetDisplayTemplate"><PARAM NAME="quality" VALUE="high"><PARAM NAME="bgcolor" VALUE="#FFFFFF"><PARAM NAME="allowscriptaccess" VALUE="always"><embed src="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fkakaphpuanotg-20%2F8010%2F95ad8483-9e6e-49d6-8a82-47a9587a693d&#038;Operation=GetDisplayTemplate" id="Player_95ad8483-9e6e-49d6-8a82-47a9587a693d" quality="high" bgcolor="#ffffff" name="Player_95ad8483-9e6e-49d6-8a82-47a9587a693d" allowscriptaccess="always"  type="application/x-shockwave-flash" align="middle" height="150px" width="400px"/> </OBJECT> <NOSCRIPT><A HREF="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fkakaphpuanotg-20%2F8010%2F95ad8483-9e6e-49d6-8a82-47a9587a693d&#038;Operation=NoScript">Amazon.com Widgets</A></NOSCRIPT>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/using-wordpress-as-a-cms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.2.2 and Safari</title>
		<link>http://www.karlkatzke.com/wordpress-222-and-safari/</link>
		<comments>http://www.karlkatzke.com/wordpress-222-and-safari/#comments</comments>
		<pubDate>Sat, 08 Sep 2007 21:47:14 +0000</pubDate>
		<dc:creator>karlkatzke</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[punditry]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.karlkatzke.com/2007/09/08/wordpress-222-and-safari/</guid>
		<description><![CDATA[For a long time, I&#8217;ve used Safari to post with wordpress. But with my upgrade to 2.2.2 I&#8217;m not impressed. There&#8217;s CSS bugs in the admin panel. There&#8217;s problems with the editors &#8212; code only, becase the visual one doesn&#8217;t display. There&#8217;s problems with the javascript in the options screens. I had to crack open [...]]]></description>
			<content:encoded><![CDATA[<p>For a long time, I&#8217;ve used Safari to post with wordpress. But with my upgrade to 2.2.2 I&#8217;m not impressed.</p>
<p>There&#8217;s CSS bugs in the admin panel. There&#8217;s problems with the editors &#8212; code only, becase the visual one doesn&#8217;t display. There&#8217;s problems with the javascript in the options screens. I had to crack open Firefox just to change the link format.</p>
<p>I know that WordPress doesn&#8217;t claim to support Safari, but fer chrissakes &#8212; it&#8217;s the third of the big3, and makes up about 5% of the traffic to my site. I&#8217;m glad that the themes I&#8217;m using at least support Safari.<span id="more-26"></span></p>
<hr />
<h4>Related:</h4>
<div align="center">
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" id="Player_95ad8483-9e6e-49d6-8a82-47a9587a693d"  WIDTH="400px" HEIGHT="150px"> <PARAM NAME="movie" VALUE="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fkakaphpuanotg-20%2F8010%2F95ad8483-9e6e-49d6-8a82-47a9587a693d&#038;Operation=GetDisplayTemplate"><PARAM NAME="quality" VALUE="high"><PARAM NAME="bgcolor" VALUE="#FFFFFF"><PARAM NAME="allowscriptaccess" VALUE="always"><embed src="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fkakaphpuanotg-20%2F8010%2F95ad8483-9e6e-49d6-8a82-47a9587a693d&#038;Operation=GetDisplayTemplate" id="Player_95ad8483-9e6e-49d6-8a82-47a9587a693d" quality="high" bgcolor="#ffffff" name="Player_95ad8483-9e6e-49d6-8a82-47a9587a693d" allowscriptaccess="always"  type="application/x-shockwave-flash" align="middle" height="150px" width="400px"/> </OBJECT> <NOSCRIPT><A HREF="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&#038;MarketPlace=US&#038;ID=V20070822%2FUS%2Fkakaphpuanotg-20%2F8010%2F95ad8483-9e6e-49d6-8a82-47a9587a693d&#038;Operation=NoScript">Amazon.com Widgets</A></NOSCRIPT>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.karlkatzke.com/wordpress-222-and-safari/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
