<?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>cimddwc &#187; WordPress</title>
	<atom:link href="http://cimddwc.net/tag/wordpress/feed/?langswitch_lang=en" rel="self" type="application/rss+xml" />
	<link>http://cimddwc.net</link>
	<description>.:about anything or nothing:.</description>
	<lastBuildDate>Fri, 17 May 2013 14:07:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Links and Video of the Week (2011/7)</title>
		<link>http://cimddwc.net/2011/02/20/links-und-video-der-woche-2011-7/?langswitch_lang=en</link>
		<comments>http://cimddwc.net/2011/02/20/links-und-video-der-woche-2011-7/?langswitch_lang=en#comments</comments>
		<pubDate>Sun, 20 Feb 2011 12:39:19 +0000</pubDate>
		<dc:creator>cimddwc</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[cars]]></category>
		<category><![CDATA[comics]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[optical illusions]]></category>
		<category><![CDATA[space flight]]></category>
		<category><![CDATA[law]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://cimddwc.net/?p=4131</guid>
		<description><![CDATA[World Press Photo Contest winners The launch of the European space transporter photographed from the ISS Donald Duck&#8217;s red 313 car in reality (via True Story!) Top WordPress Plugins – Rising Stars (via Perun) &#8220;Only&#8221; an optical illusion with a cunningly built model, or modified with computer graphics? (via Majeres) &#169; cimddwc.net 2011 &#124; Permalink [...]]]></description>
				<content:encoded><![CDATA[<ul class="long">
<li><a href="http://www.boston.com/bigpicture/2011/02/world_press_photo_winners.html">World Press Photo Contest winners</a></li>
<li><a href="http://www.scilogs.eu/en/blog/go-for-launch/2011-02-17/the-atv-launch-seen-from-above">The launch of the European space transporter photographed from the ISS</a></li>
<li><a href="http://www.thisblogrules.com/2011/02/real-donald-duck-car.html">Donald Duck&#8217;s red 313 car in reality</a> <small>(via <a href="http://newtruestories.blogspot.com/2011/02/donalds-geliebter-313-als-echtes-auto.html">True Story!</a>)</small></li>
<li><a href="http://www.prelovac.com/vladimir/wordpress-plugins-rising-stars">Top WordPress Plugins – Rising Stars</a> <small>(via <a href="http://www.perun.net/2011/02/14/wordpress-die-erfolgreichsten-newcomer-plugins/">Perun</a>)</small></li>
<li><a href="http://www.youtube.com/watch?v=0v2xnl6LwJE">&#8220;Only&#8221; an optical illusion with a cunningly built model, or modified with computer graphics?</a> <small>(via <a href="http://www.majeres.de/ich-raff-das-nicht-wasserspiel-mit-optischer-tauschung">Majeres</a>)</small></li>
</ul>
<p><iframe title="YouTube video player" width="640" height="390" src="http://www.youtube.com/embed/0v2xnl6LwJE" frameborder="0" allowfullscreen></iframe></p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	
	<p style="font-size: 80%">&copy; <a href="http://cimddwc.net">cimddwc.net</a> 2011 |
	  <a href="http://cimddwc.net/2011/02/20/links-und-video-der-woche-2011-7/?langswitch_lang=en">Permalink</a> |
	  <a href="http://cimddwc.net/2011/02/20/links-und-video-der-woche-2011-7/?langswitch_lang=en#comments">No Comments</a>
	  <br/><a href="http://flattr.com/thing/14399/cimddwc" target="_blank"><img src="http://pics.cimddwc.net/flattr_100x17.png" title="Flattr this (Blog)" alt="Flattr" width="100" height="17" border="0"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://cimddwc.net/2011/02/20/links-und-video-der-woche-2011-7/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Akismet vs. Antispam Bee</title>
		<link>http://cimddwc.net/2011/02/16/akismet-vs-antispam-bee/?langswitch_lang=en</link>
		<comments>http://cimddwc.net/2011/02/16/akismet-vs-antispam-bee/?langswitch_lang=en#comments</comments>
		<pubDate>Wed, 16 Feb 2011 19:17:37 +0000</pubDate>
		<dc:creator>cimddwc</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://cimddwc.net/?p=4079</guid>
		<description><![CDATA[How to fight off comment spammers? With a anti-spam plugin, of course. Akismet is quite popular (it&#8217;s included with WordPress, after all), but it&#8217;s got its drawbacks: It sends all data to its servers – after all, that&#8217;s how it works –, which may be a problem if you&#8217;re concerned about privacy; despite quite a [...]]]></description>
				<content:encoded><![CDATA[<p> 	How to fight off comment spammers? With a anti-spam plugin, of course. Akismet is quite popular (it&#8217;s included with WordPress, after all), but it&#8217;s got its drawbacks: It sends all data to its servers – after all, that&#8217;s how it works –, which may be a problem if you&#8217;re concerned about privacy; despite quite a goot job of detecting manual comment spam, it may cause false positives, i.e. good comments that falsely get treated as spam; newer versions fill(ed) the database with statistics even for deleted comments (latest version probably fixes this); and there are discussions about Akismet no longer being free (especially if you&#8217;re new and need an API key).</p>
<p>So I instead chose <strong><a href="http://wordpress.org/extend/plugins/antispam-bee/">Antispam Bee</a></strong> now, which does its job very good without sending all data around, etc. (though it&#8217;s got options for IP filtering by country and more), and I&#8217;m quite satisfied with it, so it will stay.</p>
<p>I elaborated more on all this in the German version of this post (see link above the headline); major reason for writing an English version at all is one more thing about a plugin conflict that might be interesting to non-German-speakers:</p>
<h4>Antispam Bee and Ajax Comment Preview</h4>
<p>One of the Bee&#8217;s most important methods for combating spam bots is changing the name of the comment entry field – it&#8217;s no longer called <code>comment</code> but got a number added. (The ID is the same, so no change in accessing it with CSS.) However, this causes <a href="http://wordpress.org/extend/plugins/ajax-comment-preview/">Ajax Comment Preview</a> to malfunction – unless you change a bit in its JavaScript code. My solution may not be the most elegant – especially since it has to be adapted for each blog – but it works:</p>
<p>Replace in <code>ajax-comment-preview.js</code> in function <code>send</code> these three lines:</p>
<pre style='overflow-x:auto;'><span style='color:#800000; font-weight:bold; '>if</span> <span style='color:#808030; '>(</span> !t<span style='color:#808030; '>.</span>data<span style='color:#808030; '>.</span>comment <span style='color:#808030; '>||</span> t<span style='color:#808030; '>.</span>oldData <span style='color:#808030; '>==</span> $<span style='color:#808030; '>.</span>param<span style='color:#808030; '>(</span> t<span style='color:#808030; '>.</span>data <span style='color:#808030; '>)</span> <span style='color:#808030; '>)</span> <span style='color:#800080; '>{</span>
    <span style='color:#800000; font-weight:bold; '>return</span> <span style='color:#0f4d75; '>false</span><span style='color:#800080; '>;</span> <span style='color:#696969; '>// Blank || Last AJAX request was the same, so bail on this one.</span>
<span style='color:#800080; '>}</span></pre>
<p>– they are at line 28 directly before the heavily-indented block that starts with <code>jQuery.post</code> – by these:</p>
<pre style='overflow-x:scroll;'><span style='color:#800000; font-weight:bold; '>if</span> <span style='color:#808030; '>(</span>t<span style='color:#808030; '>.</span>oldData <span style='color:#808030; '>==</span> $<span style='color:#808030; '>.</span>param<span style='color:#808030; '>(</span> t<span style='color:#808030; '>.</span>data <span style='color:#808030; '>)</span><span style='color:#808030; '>)</span> <span style='color:#800080; '>{</span> <span style='color:#800000; font-weight:bold; '>return</span> <span style='color:#0f4d75; '>false</span><span style='color:#800080; '>;</span> <span style='color:#800080; '>}</span> <span style='color:#696969; '>// Last AJAX request was the same, so bail on this one.</span>
<span style='color:#800000; font-weight:bold; '>if</span> <span style='color:#808030; '>(</span>t<span style='color:#808030; '>.</span>data<span style='color:#808030; '>[</span><span style='color:#0000e6; '>'comment-<span style="background-color:yellow;">12345</span>'</span><span style='color:#808030; '>]</span><span style='color:#808030; '>)</span> t<span style='color:#808030; '>.</span>data<span style='color:#808030; '>.</span>comment <span style='color:#808030; '>=</span> t<span style='color:#808030; '>.</span>data<span style='color:#808030; '>[</span><span style='color:#0000e6; '>'comment-<span style="background-color:yellow;">12345</span>'</span><span style='color:#808030; '>]</span><span style='color:#800080; '>;</span> <span style='color:#696969; '>//--ag for Antispam Bee</span>
<span style='color:#800000; font-weight:bold; '>if</span> <span style='color:#808030; '>(</span> !t<span style='color:#808030; '>.</span>data<span style='color:#808030; '>.</span>comment <span style='color:#808030; '>)</span> <span style='color:#800080; '>{</span> <span style='color:#800000; font-weight:bold; '>return</span> <span style='color:#0f4d75; '>false</span><span style='color:#800080; '>;</span> <span style='color:#800080; '>}</span> <span style='color:#696969; '>// Blank</span></pre>
<p>In this code, you must replace the highlighted number <code style="background-color:yellow;">12345</code> in both places with the number used on your blog – you find this by simply looking in the source code (or with FireBug or similar) of a page with a comment field, just search for a  <code>textarea</code> with <code>name="comment-</code>, that should do it. (And if it won&#8217;t work right away, remember to explicitly reload the page in the browser so it loads the modified JavaScript file.)</p>
<p class="with-initial">Alright, any questions,  suggestions, or opinions about my code or the plugins?</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	
	<p style="font-size: 80%">&copy; <a href="http://cimddwc.net">cimddwc.net</a> 2011 |
	  <a href="http://cimddwc.net/2011/02/16/akismet-vs-antispam-bee/?langswitch_lang=en">Permalink</a> |
	  <a href="http://cimddwc.net/2011/02/16/akismet-vs-antispam-bee/?langswitch_lang=en#comments">17 Comments</a>
	  <br/><a href="http://flattr.com/thing/14399/cimddwc" target="_blank"><img src="http://pics.cimddwc.net/flattr_100x17.png" title="Flattr this (Blog)" alt="Flattr" width="100" height="17" border="0"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://cimddwc.net/2011/02/16/akismet-vs-antispam-bee/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Links and Videos of the Week (2011/5)</title>
		<link>http://cimddwc.net/2011/02/06/links-und-videos-der-woche-2011-5/?langswitch_lang=en</link>
		<comments>http://cimddwc.net/2011/02/06/links-und-videos-der-woche-2011-5/?langswitch_lang=en#comments</comments>
		<pubDate>Sun, 06 Feb 2011 18:45:49 +0000</pubDate>
		<dc:creator>cimddwc</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Mysticism&Religion]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[astrology]]></category>
		<category><![CDATA[homeopathy]]></category>
		<category><![CDATA[Lego]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[universe]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://cimddwc.net/?p=4105</guid>
		<description><![CDATA[Comic: Carl Sagan vs. Battleship Astrology (via Astrodicticum Simplex) Powers of 10 (via Astrodicticum Simplex) &#160; Lego animation with metal music (via nerdism is sexy) &#160; Addendum for Gary Moore&#8217;s death: &#169; cimddwc.net 2011 &#124; Permalink &#124; No Comments]]></description>
				<content:encoded><![CDATA[<ul class="long">
<li>Comic: <a href="http://ninjerktsu.blogspot.com/2011/01/carl-sagan-and-his-fully-armed.html">Carl Sagan vs. Battleship Astrology</a> <small>(via <a href="http://www.scienceblogs.de/astrodicticum-simplex/2011/02/carl-sagan-kampft-gegen-das-battleship-astrology.php">Astrodicticum Simplex</a>)</small></li>
<li><a href="http://www.youtube.com/watch?v=0fKBhvDjuy0">Powers of 10</a> <small>(via <a href="http://www.scienceblogs.de/astrodicticum-simplex/2011/02/zehn-hoch.php">Astrodicticum Simplex</a>)</small></li>
</ul>
<p><iframe title="YouTube video player" width="640" height="510" src="http://www.youtube.com/embed/0fKBhvDjuy0" frameborder="0" allowfullscreen></iframe></p>
<p>&nbsp;</p>
<ul class="long">
<li><a href="http://www.youtube.com/watch?v=1STxCE8uj3U">Lego animation with metal music</a> <small>(via <a href="http://nerdismissexy.blogspot.com/2011/02/lego-metal-animation.html">nerdism is sexy</a>)</small></li>
</ul>
<p><iframe title="YouTube video player" width="640" height="390" src="http://www.youtube.com/embed/1STxCE8uj3U" frameborder="0" allowfullscreen></iframe></p>
<p>&nbsp;</p>
<p>Addendum for <a href="http://www.irishtimes.com/newspaper/breaking/2011/0206/breaking25.html">Gary Moore&#8217;s death</a>:</p>
<p><iframe frameborder="0" width="640" height="478" src="http://www.dailymotion.com/embed/video/x1z30q?width=640&#038;theme=none&#038;foreground=%23F7FFFD&#038;highlight=%23FFC300&#038;background=%23171D1B&#038;additionalInfos=1&#038;start=&#038;animatedTitle=&#038;iframe=1&#038;autoPlay=0&#038;hideInfos=0"></iframe></p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	
	<p style="font-size: 80%">&copy; <a href="http://cimddwc.net">cimddwc.net</a> 2011 |
	  <a href="http://cimddwc.net/2011/02/06/links-und-videos-der-woche-2011-5/?langswitch_lang=en">Permalink</a> |
	  <a href="http://cimddwc.net/2011/02/06/links-und-videos-der-woche-2011-5/?langswitch_lang=en#comments">No Comments</a>
	  <br/><a href="http://flattr.com/thing/14399/cimddwc" target="_blank"><img src="http://pics.cimddwc.net/flattr_100x17.png" title="Flattr this (Blog)" alt="Flattr" width="100" height="17" border="0"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://cimddwc.net/2011/02/06/links-und-videos-der-woche-2011-5/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gravatar Hovercards – including Easter Egg</title>
		<link>http://cimddwc.net/2011/01/21/gravatar-hovercards-samt-easter-egg/?langswitch_lang=en</link>
		<comments>http://cimddwc.net/2011/01/21/gravatar-hovercards-samt-easter-egg/?langswitch_lang=en#comments</comments>
		<pubDate>Fri, 21 Jan 2011 13:06:31 +0000</pubDate>
		<dc:creator>cimddwc</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://cimddwc.net/?p=4068</guid>
		<description><![CDATA[Many probably know Gravatar already – these little images are seen at more and more blog comments, after all. For a few months, Gravatar not only offers these images connected to e-mail addresses, but also user profiles that can be displayed as &#8220;hovercards&#8221; when hovering the cursor above the Gravatar image. This can look like [...]]]></description>
				<content:encoded><![CDATA[<p> 	Many probably know <a href="http://gravatar.com/">Gravatar</a> already  – these little images are seen at more and more blog comments, after all. For a few months, Gravatar not only offers these images connected to e-mail addresses, but also user profiles that can be displayed as &#8220;hovercards&#8221; when hovering the cursor above the Gravatar image. This can look like this:</p>
<p><img src="http://cimddwc.net/wp-content/uploads/2011/01/gravatar-hc.png" alt="my Gravatar hovercard" width="497" height="187" class="alignnone size-full wp-image-4069" /></p>
<p>Now Hans <a href="http://wirbelwebber.de/wp/2011/01/21/bug-in-gravatar-hovercards/">found</a> an <strong>Easter Egg</strong>, i.e. a hidden funny function: When you right-click on the Gravatar icon (the lying G on blue background) in the top right corner of a hovercard, all Gravatars (and any additional user images) start rotating. Nice. <img src='http://cimddwc.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />    (Though it looks a bit odd with the frame in some themes like mine&#8230;)</p>
<p>As can be seen in the Gravatar source code, instead of right-clicking, you can also left-click while holding the Ctrl, Alt or Meta key (the latter is usually not available on PCs). This easter egg works for me under Windows 7 with Firefox, Chrome, and Safari<sup><a href="http://cimddwc.net/2011/01/21/gravatar-hovercards-samt-easter-egg/?langswitch_lang=en#footnote_0_4068" id="identifier_0_4068" class="footnote-link footnote-identifier-link" title="on the iPad, the keys are missing; tapping and holding the icon doesn&rsquo;t work">1</a></sup>, but not with Opera nor IE 8.</p>
<p class="with-initial">Hans&#8217;s post today and <a href="http://www.chaosweib.com/2011/01/20/gravatar-hovercards-visitenkarte-fuer-blogger/">Chaosweib&#8217;s yesterday</a> made me (1) finally add content to my Gravatar profile, and (2) add the hovercard in my blog, too.</p>
<p>Both already linked <a href="http://wordpress.org/extend/plugins/gravatar-wordpress-plugin/">this plugin</a>, and Hans linked <a href="http://www.3d-mediadesign.de/2010/10/gravatars-hovercard-in-wordpress-verwenden/">this DIY description (German)</a> which just requires one line of code to include the needed JavaScript file from Gravatar.</p>
<p>Unless you want it a bit more tailored: Since Gravatars are only used on posts and pages (unless you use them e.g. in the sidebar too), you don&#8217;t need to include the file for the index and the archives, so I put this code inside a function that&#8217;s called from <code>header.php</code>:</p>
<pre style='overflow-x: scroll;'><span style='color:#696969; '>//Gravatar Hovercards:</span><span style='color:#000000; '></span>
<span style='color:#800000; font-weight:bold; '>if</span><span style='color:#000000; '> </span><span style='color:#808030; '>(</span><span style='color:#000000; '>is_singular</span><span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#000000; '> </span><span style='color:#800080; '>{</span><span style='color:#000000; '> </span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800000; font-weight:bold; '>echo</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'&lt;script type="text/javascript">var description = </span><span style='color:#0f69ff; '>\'</span><span style='color:#0f69ff; '>\'</span><span style='color:#0000e6; '>;&lt;/script>'</span><span style='color:#808030; '>.</span><span style='color:#0000e6; '>"</span><span style='color:#0f69ff; '>\n</span><span style='color:#0000e6; '>"</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;wp_enqueue_script</span><span style='color:#808030; '>(</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'gprofiles'</span><span style='color:#808030; '>,</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'http://s.gravatar.com/js/gprofiles.js'</span><span style='color:#808030; '>,</span><span style='color:#000000; '> </span><span style='color:#800000; font-weight:bold; '>array</span><span style='color:#808030; '>(</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'jquery'</span><span style='color:#000000; '> </span><span style='color:#808030; '>)</span><span style='color:#808030; '>,</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>''</span><span style='color:#808030; '>,</span><span style='color:#000000; '> </span><span style='color:#800000; font-weight:bold; '>true</span><span style='color:#000000; '> </span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
<span style='color:#800080; '>}</span><span style='color:#000000; '></span>
</pre>
<p>(Works directly in <code>header.php</code> too; as ususal it must be at an appropriate place inside a  <code>&lt;?php</code>&#8230;<code>?&gt;</code> block.)</p>
<p>Since <code>is_singular()</code> – which limits the output to posts, pages, and attachments – only works after WordPress is properly initialized, this code won&#8217;t work directly (i.e. outside of a function) in  <code>functions.php</code>.</p>
<p>The <code>echo</code> line makes the hovercard (not the egg) work in Internet Explorer, eliminating a problem in some themes (including mine) – this is described in <a href="http://wordpress.org/support/topic/hovercards-on-self-hosted-theme-issue">this forum thread</a> at the end.</p>
<p class="with-initial">Alright, what do you think about the hovercard – useful? nice? annoying? waste of resources?</p>
<p>&nbsp;</p><hr/><ol class="footnotes"><li id="footnote_0_4068" class="footnote">on the iPad, the keys are missing; tapping and holding the icon doesn&#8217;t work</li></ol>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	
	<p style="font-size: 80%">&copy; <a href="http://cimddwc.net">cimddwc.net</a> 2011 |
	  <a href="http://cimddwc.net/2011/01/21/gravatar-hovercards-samt-easter-egg/?langswitch_lang=en">Permalink</a> |
	  <a href="http://cimddwc.net/2011/01/21/gravatar-hovercards-samt-easter-egg/?langswitch_lang=en#comments">6 Comments</a>
	  <br/><a href="http://flattr.com/thing/14399/cimddwc" target="_blank"><img src="http://pics.cimddwc.net/flattr_100x17.png" title="Flattr this (Blog)" alt="Flattr" width="100" height="17" border="0"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://cimddwc.net/2011/01/21/gravatar-hovercards-samt-easter-egg/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>WordPress: Hint for False-Positive Spam</title>
		<link>http://cimddwc.net/2010/05/22/wordpress-hinweis-bei-spam-falscherkennung/?langswitch_lang=en</link>
		<comments>http://cimddwc.net/2010/05/22/wordpress-hinweis-bei-spam-falscherkennung/?langswitch_lang=en#comments</comments>
		<pubDate>Sat, 22 May 2010 20:01:09 +0000</pubDate>
		<dc:creator>cimddwc</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://cimddwc.net/?p=3430</guid>
		<description><![CDATA[Another little code for the blog solution of mine that may not be perfect yet helpful&#8230; Many encountered this problem already: A comment was erroneously marked as spam by the spam filter – the well-known Akismet (like here), another plugin or just too strict a blacklist. Such false positives happen on my blog about once [...]]]></description>
				<content:encoded><![CDATA[<p> 	<img src="http://cimddwc.net/wp-content/uploads/2010/05/papierspam_fa.jpg" alt="Paper spam ?!" width="120" height="160" class="alignnone size-full wp-image-3431" style="float:right; padding-left:6px; margin-bottom:10px;"/> Another little <em>code for the blog</em> solution of mine that may not be perfect yet helpful&#8230;</p>
<p>Many encountered this problem already: A comment was erroneously marked as spam by the spam filter – the well-known Akismet (like here), another plugin or just too strict a blacklist. Such false positives happen on my blog about once every three weeks on average.</p>
<p>The experienced blogger or blog commenter knows that (s)he just has to wait until the blog owner (hopefully) manually approves the comment. The inexperienced commenter, however, may be at a complete loss when confronted with the top of the page that even after scrolling down does not reveal his/her comment; some may try to comment again, some may never return.</p>
<p>A hintful message may help – but (unlike for comments in moderation) WordPress doesn&#8217;t offer such a message. The normal loop that outputs the comments actually doesn&#8217;t know which current comment is from the caller, since the part of the URL that specifies this  – <code>#comment-123</code>, which in particular causes the correct positioning in the browser<sup><a href="http://cimddwc.net/2010/05/22/wordpress-hinweis-bei-spam-falscherkennung/?langswitch_lang=en#footnote_0_3430" id="identifier_0_3430" class="footnote-link footnote-identifier-link" title="if you got a flawed theme that doesn&rsquo;t add this ID to the comments, thus causing all commenters staring at the top of the page after commenting, now&rsquo;s finally the time to fix this&hellip;">1</a></sup>  – is not part of the request that&#8217;s visible to the server, but remains inside the browser.</p>
<p>Now one might add the comment number during the redirect after the comment posting as an <code>&amp;</code> parameter to the URL (and query this in the output loop), but I somehow don&#8217;t like this method – who knows if this doesn&#8217;t cause several such URLs floating around the search engines. I found two other solutions I&#8217;d like to show you here:</p>
<h3>Solution 1: Spam comment from the same IP address?</h3>
<p>The first idea: Check during comment output if there&#8217;s a spammed comment from the past few minutes from the same IP address that the current request is coming from. In a function for the theme&#8217;s  <code>functions.php</code>, this looks like this:</p>
<pre style='color:#000000; background:#f0f0f0; border: 1px solid #D0D0D0; padding: 2px; overflow-x:scroll;'>
<span style='color:#800000; font-weight:bold; '>function</span><span style='color:#000000; '> ag_spammed_comment </span><span style='color:#808030; '>(</span><span style='color:#000000; '>$gotcomments</span><span style='color:#808030; '>)</span><span style='color:#000000; '> </span><span style='color:#800080; '>{</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800000; font-weight:bold; '>global</span><span style='color:#000000; '> </span><span style='color:#000000; '>$wpdb</span><span style='color:#808030; '>,</span><span style='color:#000000; '> </span><span style='color:#000000; '>$post</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#000000; '>$spamcom</span><span style='color:#000000; '> </span><span style='color:#808030; '>=</span><span style='color:#000000; '> </span><span style='color:#000000; '>$wpdb</span><span style='color:#808030; '>-</span><span style='color:#808030; '>></span><span style='color:#000000; '>get_results </span><span style='color:#808030; '>(</span><span style='color:#0000e6; '>"</span>
<span style='color:#0000e6; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;SELECT * FROM </span><span style='color:#0000e6; '>$wpdb->comments</span><span style='color:#0000e6; '></span>
<span style='color:#0000e6; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;WHERE comment_post_ID = '</span><span style='color:#0000e6; '>$post->ID</span><span style='color:#0000e6; '>'</span>
<span style='color:#0000e6; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;AND comment_author_IP = '"</span><span style='color:#808030; '>.</span><span style='color:#000000; '>$_SERVER</span><span style='color:#808030; '>[</span><span style='color:#0000e6; '>'REMOTE_ADDR'</span><span style='color:#808030; '>]</span><span style='color:#808030; '>.</span><span style='color:#0000e6; '>"'</span>
<span style='color:#0000e6; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;AND comment_approved = 'spam'</span>
<span style='color:#0000e6; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;AND comment_type = ''</span>
<span style='color:#0000e6; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;AND TIME_TO_SEC(TIMEDIFF(NOW(),comment_date))&lt;120"</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800000; font-weight:bold; '>if</span><span style='color:#000000; '> </span><span style='color:#808030; '>(</span><span style='color:#000000; '>$spamcom</span><span style='color:#808030; '>)</span><span style='color:#000000; '> </span><span style='color:#800080; '>{</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800000; font-weight:bold; '>if</span><span style='color:#000000; '> </span><span style='color:#808030; '>(</span><span style='color:#808030; '>!</span><span style='color:#000000; '>$gotcomments</span><span style='color:#808030; '>)</span><span style='color:#000000; '> </span><span style='color:#800000; font-weight:bold; '>echo</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'&lt;ol class="commentlist">'</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800000; font-weight:bold; '>foreach</span><span style='color:#000000; '> </span><span style='color:#808030; '>(</span><span style='color:#000000; '>$spamcom</span><span style='color:#000000; '> </span><span style='color:#800000; font-weight:bold; '>as</span><span style='color:#000000; '> </span><span style='color:#000000; '>$sc</span><span style='color:#808030; '>)</span><span style='color:#000000; '> </span><span style='color:#800080; '>{</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800000; font-weight:bold; '>echo</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'&lt;li id="comment-'</span><span style='color:#808030; '>.</span><span style='color:#000000; '>$sc</span><span style='color:#808030; '>-></span><span style='color:#000000; '>comment_ID</span><span style='color:#808030; '>.</span><span style='color:#0000e6; '>'" class="comment caughtasspam">'</span><span style='color:#808030; '>.</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#0000e6; '>'&lt;strong>Apparently, the automatic spam filter marked your comment as spam.&lt;/strong>&lt;br/>'</span><span style='color:#808030; '>.</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#0000e6; '>'If this was a mistake, please be patient until the comment is approved manually.'</span><span style='color:#808030; '>.</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#0000e6; '>'&lt;/li>'</span><span style='color:#808030; '>.</span><span style='color:#0000e6; '>"</span><span style='color:#0f69ff; '>\n</span><span style='color:#0000e6; '>"</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800080; '>}</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800000; font-weight:bold; '>if</span><span style='color:#000000; '> </span><span style='color:#808030; '>(</span><span style='color:#808030; '>!</span><span style='color:#000000; '>$gotcomments</span><span style='color:#808030; '>)</span><span style='color:#000000; '> </span><span style='color:#800000; font-weight:bold; '>echo</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'&lt;/ol>'</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800080; '>}</span><span style='color:#000000; '></span>
<span style='color:#800080; '>}</span><span style='color:#000000; '></span>
</pre>
<p>Call this from <code>comments.php</code> with <code>ag_spammed_comment (true);</code> (wrapped in <code>&lt;?php ?&gt;</code>) after the output of existing comments and with <code>false</code> instead of <code>true</code> in the branch for a yet uncommented post – of course you only need this differentiation if you want to include (and style) the message in the <code>ol</code>/<code>ul</code> comment list; if you want to use a separate <code>div</code> block, you can do without it.</p>
<p>Then of course style the <code>.caughtasspam</code> class in your <code>style.css</code> accordingly (e.g. with a red frame).</p>
<p>However, there&#8217;s a little&#8230;</p>
<h4>Problem: The cache</h4>
<p>If you&#8217;re using a cache plugin such as WP Super Cache that temporarily stores generated pages, there&#8217;s the problem that such a plugin – originally appropriately – doesn&#8217;t invalidate the affected page&#8217;s cache, i.e. still delivers the same old page without the code above having a chance to print its hint.</p>
<p>One solution: Modify the plugin such that spam comments (not spam trackbacks) do delete the cached page. For WP Super Cache, this can be done in <code>wp-cache-phase2.php</code> in <code>function wp_cache_get_postid_from_comment</code> where after</p>
<pre style='color:#000000; background:#f0f0f0; border: 1px solid #D0D0D0; padding: 2px;'><span style='color:#800080;  '>}</span><span style='color:#000000;'> </span><span style='color:#800000;font-weight:bold; '>elseif</span><span style='color:#000000;'> </span><span style='color:#808030;'>(</span><span style='color:#000000;'> </span><span style='color:#000000;'>$comment</span><span style='color:#808030;'>[</span><span style='color:#0000e6;'>'comment_approved'</span><span style='color:#808030;'>]</span><span style='color:#000000;'> </span><span style='color:#808030;'>=</span><span style='color:#808030;'>=</span><span style='color:#000000;'> </span><span style='color:#0000e6;'>'spam'</span><span style='color:#000000;'> </span><span style='color:#808030;'>)</span><span style='color:#000000;'> </span><span style='color:#800080;'>{</span><span style='color:#000000;'></span> 
</pre>
<p>you replace these two lines:</p>
<pre style='color:#000000; background:#f0f0f0; border: 1px solid #D0D0D0; padding: 2px; overflow-x:scroll;'><span style='color:#800000; font-weight:bold; '>if</span><span style='color:#000000; '> </span><span style='color:#808030; '>(</span><span style='color:#000000; '> </span><span style='color:#800000; font-weight:bold; '>isset</span><span style='color:#808030; '>(</span><span style='color:#000000; '> </span><span style='color:#000000; '>$GLOBALS</span><span style='color:#808030; '>[</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'wp_super_cache_debug'</span><span style='color:#000000; '> </span><span style='color:#808030; '>]</span><span style='color:#000000; '> </span><span style='color:#808030; '>)</span><span style='color:#000000; '> </span><span style='color:#808030; '>&amp;</span><span style='color:#808030; '>&amp;</span><span style='color:#000000; '> </span><span style='color:#000000; '>$GLOBALS</span><span style='color:#808030; '>[</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'wp_super_cache_debug'</span><span style='color:#000000; '> </span><span style='color:#808030; '>]</span><span style='color:#000000; '> </span><span style='color:#808030; '>)</span><span style='color:#000000; '> wp_cache_debug</span><span style='color:#808030; '>(</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>"Spam comment. Don't delete any cache files."</span><span style='color:#808030; '>,</span><span style='color:#000000; '> </span><span style='color:#008c00; '>4</span><span style='color:#000000; '> </span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
<span style='color:#800000; font-weight:bold; '>return</span><span style='color:#000000; '> </span><span style='color:#000000; '>$postid</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
</pre>
<p>with these:</p>
<pre style='color:#000000; background:#f0f0f0; border: 1px solid #D0D0D0; padding: 2px; overflow-x:scroll;'><span style='color:#696969; '>//--ag: for false-positive message</span><span style='color:#000000; '></span>
<span style='color:#800000; font-weight:bold; '>if</span><span style='color:#000000; '> </span><span style='color:#808030; '>(</span><span style='color:#000000; '> </span><span style='color:#000000; '>$comment</span><span style='color:#808030; '>[</span><span style='color:#0000e6; '>'comment_type'</span><span style='color:#808030; '>]</span><span style='color:#000000; '> </span><span style='color:#808030; '>=</span><span style='color:#808030; '>=</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>''</span><span style='color:#000000; '> </span><span style='color:#808030; '>)</span><span style='color:#000000; '> </span><span style='color:#800080; '>{</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800000; font-weight:bold; '>if</span><span style='color:#000000; '> </span><span style='color:#808030; '>(</span><span style='color:#000000; '> </span><span style='color:#800000; font-weight:bold; '>isset</span><span style='color:#808030; '>(</span><span style='color:#000000; '> </span><span style='color:#000000; '>$GLOBALS</span><span style='color:#808030; '>[</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'wp_super_cache_debug'</span><span style='color:#000000; '> </span><span style='color:#808030; '>]</span><span style='color:#000000; '> </span><span style='color:#808030; '>)</span><span style='color:#000000; '> </span><span style='color:#808030; '>&amp;</span><span style='color:#808030; '>&amp;</span><span style='color:#000000; '> </span><span style='color:#000000; '>$GLOBALS</span><span style='color:#808030; '>[</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'wp_super_cache_debug'</span><span style='color:#000000; '> </span><span style='color:#808030; '>]</span><span style='color:#000000; '> </span><span style='color:#808030; '>)</span><span style='color:#000000; '> wp_cache_debug</span><span style='color:#808030; '>(</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>"Spam comment. But update cache for post </span><span style='color:#0000e6; '>$postid</span><span style='color:#0000e6; '> to allow for false-positive message."</span><span style='color:#808030; '>,</span><span style='color:#000000; '> </span><span style='color:#008c00; '>4</span><span style='color:#000000; '> </span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800000; font-weight:bold; '>return</span><span style='color:#000000; '> wp_cache_post_change</span><span style='color:#808030; '>(</span><span style='color:#000000; '>$postid</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
<span style='color:#800080; '>}</span><span style='color:#000000; '> </span><span style='color:#800000; font-weight:bold; '>else</span><span style='color:#000000; '> </span><span style='color:#800080; '>{</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800000; font-weight:bold; '>if</span><span style='color:#000000; '> </span><span style='color:#808030; '>(</span><span style='color:#000000; '> </span><span style='color:#800000; font-weight:bold; '>isset</span><span style='color:#808030; '>(</span><span style='color:#000000; '> </span><span style='color:#000000; '>$GLOBALS</span><span style='color:#808030; '>[</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'wp_super_cache_debug'</span><span style='color:#000000; '> </span><span style='color:#808030; '>]</span><span style='color:#000000; '> </span><span style='color:#808030; '>)</span><span style='color:#000000; '> </span><span style='color:#808030; '>&amp;</span><span style='color:#808030; '>&amp;</span><span style='color:#000000; '> </span><span style='color:#000000; '>$GLOBALS</span><span style='color:#808030; '>[</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>'wp_super_cache_debug'</span><span style='color:#000000; '> </span><span style='color:#808030; '>]</span><span style='color:#000000; '> </span><span style='color:#808030; '>)</span><span style='color:#000000; '> wp_cache_debug</span><span style='color:#808030; '>(</span><span style='color:#000000; '> </span><span style='color:#0000e6; '>"Spam trackback. Don't delete any cache files."</span><span style='color:#808030; '>,</span><span style='color:#000000; '> </span><span style='color:#008c00; '>4</span><span style='color:#000000; '> </span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
<span style='color:#000000; '>&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#800000; font-weight:bold; '>return</span><span style='color:#000000; '> </span><span style='color:#000000; '>$postid</span><span style='color:#800080; '>;</span><span style='color:#000000; '></span>
<span style='color:#800080;  '>}</span><span style='color:#000000;'>
</pre>
<p>Then the hint works. However at the expense of some performance if real spammers happen to try to flood a page with spam comments that is also often viewed by visitors – which, though, won&#8217;t happen that often on most blogs, I guess.</p>
<p>The bigger disadvantage in my opinion, however, is that you thus have (another?) plugin where you have to be careful to copy the changes to the new version during an update. Since I&#8217;d like to skip such tasks, I&#8217;m using another way:</p>
<h3>Solution 2: JavaScript (with jQuery)</h3>
<p>Of course this solution won&#8217;t work if the commenter has disabled JavaScript in his browser – a disadvantage I&#8217;m willing to accept, hoping this combination will be rare enough. Moreover, this solution also works if someone is using proxy servers that change on every request.</p>
<p>There are even two variations of this solution, the first of which I&#8217;ll only outline briefly: You use the  <code>comment_post_redirect</code> filter (which is called in <code>wp-comments-post.php</code>) to modify the redirection&#8217;s target URL in case of a spam comment such that <code>#comment-123</code> is replaced with something like <code>#spammed</code> and then use  JavaScript to display (or fill) a block that&#8217;s prepared in the theme but originally set to  <code>display: none</code> (or empty) if <code>#spammed</code> is part of the URL – which is something that JavaScript, unlike the server, does have access to.</p>
<p>Variation 2 which I&#8217;m using here works without such a filter and just looks if there&#8217;s an element named <code>#comment-123</code> on the (complete loaded) page at all. If not, the message is inserted (via JavaScript to avoid it being indexed by search engines):</p>
<pre style='color:#000000; background:#f0f0f0; border: 1px solid #D0D0D0; padding: 2px; overflow-x:scroll;'><span style='color:#a65700; '>&lt;</span><span style='color:#800000; font-weight:bold; '>div</span><span style='color:#274796; '> </span><span style='color:#074726; '>id</span><span style='color:#808030; '>=</span><span style='color:#0000e6; '>"spammedhint"</span><span style='color:#274796; '> </span><span style='color:#074726; '>class</span><span style='color:#808030; '>=</span><span style='color:#0000e6; '>"comment caughtasspam"</span><span style='color:#274796; '> </span><span style='color:#074726; '>style</span><span style='color:#808030; '>=</span><span style='color:#0000e6; '>"</span><span style='color:#bb7977; font-weight:bold; '>display</span><span style='color:#808030; '>:</span><span style='color:#074726; '>none</span><span style='color:#800080; '>;</span><span style='color:#0000e6; '>"</span><span style='color:#a65700; '>></span><span style='color:#a65700; '>&lt;/</span><span style='color:#800000; font-weight:bold; '>div</span><span style='color:#a65700; '>></span>
<span style='color:#a65700; '>&lt;</span><span style='color:#800000; font-weight:bold; '>script type="text/javascript"</span><span style='color:#a65700; '>></span>
<span style='color:#696969; '>&lt;!--</span>
<span style='color:#800000; font-weight:bold; '>var</span> theUrl <span style='color:#808030; '>=</span> document<span style='color:#808030; '>.</span>location<span style='color:#808030; '>.</span><span style='color:#800000; font-weight:bold; '>toString</span><span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
<span style='color:#800000; font-weight:bold; '>if</span> <span style='color:#808030; '>(</span>theUrl<span style='color:#808030; '>.</span><span style='color:#800000; font-weight:bold; '>match</span><span style='color:#808030; '>(</span><span style='color:#0000e6; '>"#comment-"</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span> <span style='color:#800080; '>{</span>
    <span style='color:#800000; font-weight:bold; '>var</span> theHash <span style='color:#808030; '>=</span> theUrl<span style='color:#808030; '>.</span><span style='color:#800000; font-weight:bold; '>substr</span><span style='color:#808030; '>(</span>theUrl<span style='color:#808030; '>.</span><span style='color:#800000; font-weight:bold; '>indexOf</span><span style='color:#808030; '>(</span><span style='color:#0000e6; '>"#"</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
    <span style='color:#800000; font-weight:bold; '>if</span> <span style='color:#808030; '>(</span>jQuery<span style='color:#808030; '>(</span>theHash<span style='color:#808030; '>)</span><span style='color:#808030; '>.length</span><span style='color:#808030; '>==</span><span style='color:#008c00; '>0</span><span style='color:#808030; '>)</span> <span style='color:#800080; '>{</span>
        jQuery<span style='color:#808030; '>(</span>document<span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>ready<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>function</span><span style='color:#808030; '>(</span><span style='color:#808030; '>)</span> <span style='color:#800080; '>{</span>
            jQuery<span style='color:#808030; '>(</span><span style='color:#0000e6; '>"#spammedhint"</span><span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>html<span style='color:#808030; '>(</span><span style='color:#0000e6; '>"&lt;strong>Apparently, the automatic spam filter marked your comment as spam.&lt;/strong>&lt;br/>"</span><span style='color:#808030; '>+</span>
            <span style='color:#0000e6; '>"If this was a mistake, please be patient until the comment is approved manually."</span><span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>fadeIn<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
            <span style='color:#800000; font-weight:bold; '>var</span> targetOfs <span style='color:#808030; '>=</span> jQuery<span style='color:#808030; '>(</span><span style='color:#0000e6; '>"#spammedhint"</span><span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>offset<span style='color:#808030; '>(</span><span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>top<span style='color:#800080; '>;</span>
            jQuery<span style='color:#808030; '>(</span><span style='color:#0000e6; '>"html,body"</span><span style='color:#808030; '>)</span><span style='color:#808030; '>.</span>animate<span style='color:#808030; '>(</span><span style='color:#800080; '>{</span>scrollTop<span style='color:#800080; '>:</span> targetOfs<span style='color:#808030; '>-</span><span style='color:#008c00; '>20</span><span style='color:#800080; '>}</span><span style='color:#808030; '>,</span> <span style='color:#008c00; '>500</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
        <span style='color:#800080; '>}</span><span style='color:#808030; '>)</span><span style='color:#800080; '>;</span>
    <span style='color:#800080; '>}</span>
<span style='color:#800080; '>}</span>
<span style='color:#696969; '>//--></span>
<span style='color:#a65700; '>&lt;/</span><span style='color:#800000; font-weight:bold; '>script</span><span style='color:#a65700; '>></span>
</pre>
<p>The presence check is done with <code>if (jQuery(theHash).length==0)</code>, since <code>jQuery()</code> always returns an object, which means that <code>if (jQuery(theHash))</code>, which one might think of first, is always true. The last <code>jQuery</code> line then scrolls to the message blog (rather, a little above it) within 500&nbsp;ms; I had sometimes problems with very short times, maybe because the <em>document</em> wasn&#8217;t all <em>ready</em>after all and the browser jumped back to another position. (Maybe that only happens on a reload, though, which is often used during testing.)</p>
<p>I added this HTML/JS code directly (and of course <em>not</em> wrapped in <code>&lt;?php ?&gt;</code>) to <code>comments.php</code> directly after <code><span style='color:#a65700; '>&lt;?php</span><span style='color:#000000; '> </span><span style='color:#800000; font-weight:bold; '>if</span><span style='color:#000000; '> </span><span style='color:#808030; '>(</span><span style='color:#0000e6; '>'open'</span><span style='color:#000000; '> </span><span style='color:#808030; '>=</span><span style='color:#808030; '>=</span><span style='color:#000000; '> </span><span style='color:#000000; '>$post</span><span style='color:#808030; '>-></span><wbr/><span style='color:#000000; '>comment_status</span><span style='color:#808030; '>)</span><span style='color:#000000; '> </span><span style='color:#800080; '>:</span><span style='color:#000000; '> </span><span style='color:#a65700; '>?></span></code> thus directly before the output of the input fields.</p>
<p class="with-initial">Now this method has a side effect which, on one hand, unfortunately (but probably very rarely) will occur when someone got a link from somewhere with a wrong or nonsensical comment number, but on the other hand fortunately also occurs when someone bookmarked his comment that went through at first but is spammed later, since the message is shown then too.</p>
<p>Which also allows you to test this function easily – I prepared <a href="http://cimddwc.net/best-of/#comment-987654321">such a link here</a>. <img src='http://cimddwc.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   You can also write a new comment and include &#8220;diesisteinspamtest&#8221; (German for &#8220;thisisaspamtest&#8221;) in it since I added this &#8220;word&#8221; to the blacklist. But don&#8217;t overdo it since I got to approve these comments&#8230;</p>
<p class="with-initial">So if you don&#8217;t use a cache plugin, you can easily use the first solution, otherwise you got to weigh the pros and cons; as I said I chose solution 2. </p>
<p>Any opinions, criticism, ideas, problems, questions&#8230;?</p>
<p>&nbsp;</p><hr/><ol class="footnotes"><li id="footnote_0_3430" class="footnote">if you got a flawed theme that doesn&#8217;t add this ID to the comments, thus causing all commenters staring at the top of the page after commenting, now&#8217;s finally the time to fix this&#8230;</li></ol>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	
	<p style="font-size: 80%">&copy; <a href="http://cimddwc.net">cimddwc.net</a> 2010 |
	  <a href="http://cimddwc.net/2010/05/22/wordpress-hinweis-bei-spam-falscherkennung/?langswitch_lang=en">Permalink</a> |
	  <a href="http://cimddwc.net/2010/05/22/wordpress-hinweis-bei-spam-falscherkennung/?langswitch_lang=en#comments">8 Comments</a>
	  <br/><a href="http://flattr.com/thing/14399/cimddwc" target="_blank"><img src="http://pics.cimddwc.net/flattr_100x17.png" title="Flattr this (Blog)" alt="Flattr" width="100" height="17" border="0"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://cimddwc.net/2010/05/22/wordpress-hinweis-bei-spam-falscherkennung/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Links and Video of the Week (2010/11)</title>
		<link>http://cimddwc.net/2010/03/21/links-und-video-der-woche-2010-11/?langswitch_lang=en</link>
		<comments>http://cimddwc.net/2010/03/21/links-und-video-der-woche-2010-11/?langswitch_lang=en#comments</comments>
		<pubDate>Sun, 21 Mar 2010 10:52:28 +0000</pubDate>
		<dc:creator>cimddwc</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Mysticism&Religion]]></category>
		<category><![CDATA[Finds]]></category>
		<category><![CDATA[Nature]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[railways]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[night]]></category>
		<category><![CDATA[satire]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[universe]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://cimddwc.net/?p=3222</guid>
		<description><![CDATA[Design Around the World: Metro Maps (via @gillyberlin) The sky over Hawaii – best viewed in HD at Vimeo (via Astrodicticum): &#169; cimddwc.net 2010 &#124; Permalink &#124; 7 Comments]]></description>
				<content:encoded><![CDATA[<ul class="long">
<li><a href="http://www.webdesignerdepot.com/2010/03/design-around-the-world-metro-maps/">Design Around the World: <strong>Metro Maps</strong></a> <small>(via <a href="http://twitter.com/gillyberlin">@gillyberlin</a>)</small></li>
<li><strong>The sky over Hawaii</strong> – <a href="http://vimeo.com/10116116">best viewed in HD at Vimeo</a> <small>(via <a href="http://www.scienceblogs.de/astrodicticum-simplex/2010/03/der-himmel-uber-hawaii.php">Astrodicticum</a>)</small>:</li>
</ul>
<p><object width="560" height="315"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10116116&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=10116116&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="560" height="315"></embed></object></p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	
	<p style="font-size: 80%">&copy; <a href="http://cimddwc.net">cimddwc.net</a> 2010 |
	  <a href="http://cimddwc.net/2010/03/21/links-und-video-der-woche-2010-11/?langswitch_lang=en">Permalink</a> |
	  <a href="http://cimddwc.net/2010/03/21/links-und-video-der-woche-2010-11/?langswitch_lang=en#comments">7 Comments</a>
	  <br/><a href="http://flattr.com/thing/14399/cimddwc" target="_blank"><img src="http://pics.cimddwc.net/flattr_100x17.png" title="Flattr this (Blog)" alt="Flattr" width="100" height="17" border="0"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://cimddwc.net/2010/03/21/links-und-video-der-woche-2010-11/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Cache</title>
		<link>http://cimddwc.net/2009/10/22/kaesch/?langswitch_lang=en</link>
		<comments>http://cimddwc.net/2009/10/22/kaesch/?langswitch_lang=en#comments</comments>
		<pubDate>Thu, 22 Oct 2009 18:34:17 +0000</pubDate>
		<dc:creator>cimddwc</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[internal]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://cimddwc.net/?p=2730</guid>
		<description><![CDATA[A little internal note: A few hours ago, I activated WP Super Cache, a plugin that caches the generated pages for some time – for the general audience even as pure HTML files so not even the PHP engine needs to start – thus reducing server load. Basically, you should notice no difference except that [...]]]></description>
				<content:encoded><![CDATA[<p> 	<img src="http://cimddwc.net/wp-content/uploads/2009/10/rennhund.jpg" alt="rennhund" width="200" height="120" class="alignnone size-full wp-image-2731" style="float:right; padding-left:6px;"/> A little internal note: A few hours ago, I activated <a href="http://ocaoimh.ie/wp-super-cache/"><strong>WP Super Cache</strong></a>, a plugin that caches the generated pages for some time – for the general audience even as pure HTML files so not even the PHP engine needs to start – thus reducing server load. Basically, you should notice no difference except that those pages that were accessed in the recent past are faster. Those who have written a comment (and got a cookie from that) won&#8217;t be served the &#8220;super cache&#8221; HTML.</p>
<p>The display of the recent comments in the sidebar may be not always up to date for non-commenters on cached pages, but I guess that&#8217;s not that much of a problem.</p>
<p>Moreover, <a href="http://wordpress.org/extend/plugins/db-cache-reloaded/"><strong>DB Cache Reloaded</strong></a> has been running for the past few days, caching single database queries – which has the advantage that accessing other pages that have not been accessed recently also profit from this cache. However I noticed that the first access to admin pages and the first writing of a comment take a relatively long time – probably because DBCR then scans and flushes the numerous old cache files; seems this garbage collection isn&#8217;t that great yet&#8230;</p>
<p>Well, if you notice something wrong, please tell me. <img src='http://cimddwc.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<hr/>
<p><small>Photo: <a href="http://www.flickr.com/photos/tisseurdetoile/1464298206/">TisseurDeToile/flickr, CC-Lizenz</a></small></p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	
	<p style="font-size: 80%">&copy; <a href="http://cimddwc.net">cimddwc.net</a> 2009 |
	  <a href="http://cimddwc.net/2009/10/22/kaesch/?langswitch_lang=en">Permalink</a> |
	  <a href="http://cimddwc.net/2009/10/22/kaesch/?langswitch_lang=en#comments">2 Comments</a>
	  <br/><a href="http://flattr.com/thing/14399/cimddwc" target="_blank"><img src="http://pics.cimddwc.net/flattr_100x17.png" title="Flattr this (Blog)" alt="Flattr" width="100" height="17" border="0"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://cimddwc.net/2009/10/22/kaesch/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Links of the Week (2008/51)</title>
		<link>http://cimddwc.net/2008/12/21/links-der-woche-2008-51/?langswitch_lang=en</link>
		<comments>http://cimddwc.net/2008/12/21/links-der-woche-2008-51/?langswitch_lang=en#comments</comments>
		<pubDate>Sun, 21 Dec 2008 10:16:29 +0000</pubDate>
		<dc:creator>cimddwc</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Computers&Tech]]></category>
		<category><![CDATA[Mysticism&Religion]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[anti-science]]></category>
		<category><![CDATA[astrology]]></category>
		<category><![CDATA[mysticism]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[satire]]></category>
		<category><![CDATA[fortune-tellers]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://cimddwc.net/?p=1510&#038;langswitch_lang=de</guid>
		<description><![CDATA[Achmed the Dead Terrorist Christmas Special 24 minutes in 3 parts: part&#160;1, part&#160;2, part&#160;3 (via Conny) If programming languages were religions&#8230; (via Atheist Blogger) Mastering Your WordPress 2.7 Theme &#038; Admin Area: Tips and Tricks (via weblog tools collection) 5 years of WordPress interface from 0.7.1 to 2.7 (via weblog tools collection) &#169; cimddwc.net 2008 [...]]]></description>
				<content:encoded><![CDATA[<ul class="long">
<li><strong>Achmed the Dead Terrorist Christmas Special</strong> <img src='http://cimddwc.net/wp-includes/images/smilies/lol2.gif' alt=':lol2:' class='wp-smiley' />  24 minutes in 3 parts: <a href="http://www.youtube.com/watch?v=f9DPWHTVB6A">part&nbsp;1</a>, <a href="http://www.youtube.com/watch?v=zGhMD3lt-34">part&nbsp;2</a>, <a href="http://www.youtube.com/watch?v=LNbEVC6Aaqg">part&nbsp;3</a> (via <span class="removed_link" title="http://blog.connys-welt.com/?p=2537">Conny</span>)</li>
<li><a href="http://www.aegisub.net/2008/12/if-programming-languages-were-religions.html">If programming languages were religions&#8230;</a> (via <span class="removed_link" title="http://atheistblogger.com/2008/12/18/if-programming-languages-were-religions/">Atheist Blogger</span>)</li>
<li><a href="http://www.noupe.com/wordpress/mastering-your-wordpress-27-theme-admin-area-tips-and-tricks.html">Mastering Your WordPress 2.7 Theme &#038; Admin Area: Tips and Tricks</a> (via <a href="http://weblogtoolscollection.com/archives/2008/12/19/mastering-your-wordpress-27-theme-admin-area/">weblog tools collection</a>)</li>
<li><a href="http://planetozh.com/blog/2008/12/a-journey-through-five-years-of-wordpress-interface/">5 years of WordPress interface from 0.7.1 to 2.7</a> (via <a href="http://weblogtoolscollection.com/archives/2008/12/16/a-long-look-back/">weblog tools collection</a>)</li>
</ul>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	
	<p style="font-size: 80%">&copy; <a href="http://cimddwc.net">cimddwc.net</a> 2008 |
	  <a href="http://cimddwc.net/2008/12/21/links-der-woche-2008-51/?langswitch_lang=en">Permalink</a> |
	  <a href="http://cimddwc.net/2008/12/21/links-der-woche-2008-51/?langswitch_lang=en#comments">1 Comment</a>
	  <br/><a href="http://flattr.com/thing/14399/cimddwc" target="_blank"><img src="http://pics.cimddwc.net/flattr_100x17.png" title="Flattr this (Blog)" alt="Flattr" width="100" height="17" border="0"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://cimddwc.net/2008/12/21/links-der-woche-2008-51/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TwoSeven</title>
		<link>http://cimddwc.net/2008/12/12/zwosieben/?langswitch_lang=en</link>
		<comments>http://cimddwc.net/2008/12/12/zwosieben/?langswitch_lang=en#comments</comments>
		<pubDate>Fri, 12 Dec 2008 14:57:17 +0000</pubDate>
		<dc:creator>cimddwc</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[internal]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://cimddwc.net/?p=1464&#038;langswitch_lang=de</guid>
		<description><![CDATA[Oh well, the 2 and the 7&#8230; This on the right is M 27, the Dumbbell Nebula (image: ESO (Wikipedia)). 27 is a cubic number – and a pretty one at that, 3³. If you start at 0 when counting Pi&#8217;s digits, 27 is found at location 27 – apparently a rare case. 27 is [...]]]></description>
				<content:encoded><![CDATA[<p> 	<a href='http://en.wikipedia.org/wiki/Image:M27_-_Dumbbell_Nebula.jpg' title='M27' class="noicon"><img src='http://cimddwc.net/wp-content/uploads/2008/12/m27_240.jpg' alt='M27' width="240" height="242" style="float:right; padding-left:6px;"/></a> Oh well, the 2 and the 7&#8230; This on the right is M 27, the <a href="http://en.wikipedia.org/wiki/Dumbbell_Nebula">Dumbbell Nebula</a> <small>(image: <a href="http://en.wikipedia.org/wiki/Image:M27_-_Dumbbell_Nebula.jpg">ESO (Wikipedia)</a>)</small>.</p>
<p><a href="http://en.wikipedia.org/wiki/27_(number)">27</a> is a cubic number – and a pretty one at that, 3³. If you start at 0 when counting Pi&#8217;s digits, 27 is found at location 27 – apparently <a href="http://www.angio.net/pi/piquery#comments">a rare case</a>.</p>
<p>27 is (in base 10) the first composite number not evenly divisible by any of its digits.</p>
<p>On January 16, <a href="http://en.wikipedia.org/wiki/27_BC">27 B.C.</a>, the Roman Senate votes Octavian the title of Augustus. He accepts this honor, having declined the alternative title of Romulus. He is known as Augustus afterwards – the first Roman emperor.</p>
<p>And this blog, too, is now running <a href="http://wordpress.org/">WordPress</a> 2.7. As usual: If you notice something that&#8217;s not working as expected, drop me a line, please.</p>
	<p></p>
	<hr noshade style="margin:0;height:1px" />
	
	<p style="font-size: 80%">&copy; <a href="http://cimddwc.net">cimddwc.net</a> 2008 |
	  <a href="http://cimddwc.net/2008/12/12/zwosieben/?langswitch_lang=en">Permalink</a> |
	  <a href="http://cimddwc.net/2008/12/12/zwosieben/?langswitch_lang=en#comments">14 Comments</a>
	  <br/><a href="http://flattr.com/thing/14399/cimddwc" target="_blank"><img src="http://pics.cimddwc.net/flattr_100x17.png" title="Flattr this (Blog)" alt="Flattr" width="100" height="17" border="0"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://cimddwc.net/2008/12/12/zwosieben/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>High database load from Ajax Edit Comments&#8230;</title>
		<link>http://cimddwc.net/2008/11/18/datenbank-last-durch-ajax-edit-comments/?langswitch_lang=en</link>
		<comments>http://cimddwc.net/2008/11/18/datenbank-last-durch-ajax-edit-comments/?langswitch_lang=en#comments</comments>
		<pubDate>Tue, 18 Nov 2008 12:35:47 +0000</pubDate>
		<dc:creator>cimddwc</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[internal]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://cimddwc.net/?p=1366&#038;langswitch_lang=de</guid>
		<description><![CDATA[&#8230; and a preliminary solution: The WordPress plugin &#8220;Ajax Edit Comments&#8221; from The Reader Appreciation Project1 allows the commenter to edit his comment for a certain time – useful especially for typos and minor corrections. (Admins can do more.) Visitors utilize it here for about every 10th comment, by the way. Now Pierre notified me [...]]]></description>
				<content:encoded><![CDATA[<p> 	<img src='http://cimddwc.net/wp-content/uploads/2008/11/schweiss.jpg' alt='sweating construction worker' width="120" heigt="180" style="float:right; padding-left:6px;"/> &#8230; and a preliminary solution:</p>
<p>The WordPress plugin <a href="http://www.raproject.com/ajax-edit-comments-20/">&#8220;Ajax Edit Comments&#8221; from The Reader Appreciation Project</a><sup><a href="http://cimddwc.net/2008/11/18/datenbank-last-durch-ajax-edit-comments/?langswitch_lang=en#footnote_0_1366" id="identifier_0_1366" class="footnote-link footnote-identifier-link" title="for WordPress 2.5 and higher &ndash; old version for 2.1&ndash;2.3.x here">1</a></sup> allows the commenter to edit his comment for a certain time – useful especially for typos and minor corrections. (Admins can do more.) Visitors utilize it here for about every 10th comment, by the way.</p>
<p>Now <a href="http://cimddwc.net/2008/11/17/statistische-nachwehen/?langswitch_lang=en#comment-13823">Pierre notified me yesterday</a> about the high number of database queries (and that the response time could be better, too) – higher than what I always saw when logged in. (See the blue footer line.) Doing a little research, I found that it&#8217;s the aforementioned Ajax Edit Comments that uses 4 additional database queries for each comment in order to check if the visitor is allowed to edit it (unles (s)he&#8217;s logged in as admin who is always allowed to edit). That can sum up to quite a lot if there are many comments on a single post.</p>
<p>I quickly added a little modification to the plugin<sup><a href="http://cimddwc.net/2008/11/18/datenbank-last-durch-ajax-edit-comments/?langswitch_lang=en#footnote_1_1366" id="identifier_1_1366" class="footnote-link footnote-identifier-link" title="in both the old version I&rsquo;m still using here and the new in my test environment where I&rsquo;m preparing the WordPress 2.7 update">2</a></sup> which check the comment age in advance without database access – in my quick tests, these modifications appear to work fine. If you too don&#8217;t see any problems – feel free to test it here or maybe later for the music quiz on 16:00 – I will, of course, send the changes to the plugin&#8217;s author, hoping they will be included in future versions. <img src='http://cimddwc.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<hr/>
<p><small>Photo – this time one for the ladies – &copy; <a href="http://www.pixelio.de/details.php?image_id=132700">G.Faktor / pixelio</a></small></p>
<p>&nbsp;</p><hr/><ol class="footnotes"><li id="footnote_0_1366" class="footnote">for WordPress 2.5 and higher – old version for 2.1–2.3.x <a href="http://www.raproject.com/ajax-edit-comments/">here</a></li><li id="footnote_1_1366" class="footnote">in both the old version I&#8217;m still using here and the new in my test environment where I&#8217;m preparing the WordPress 2.7 update</li></ol>	<p></p>
	<hr noshade style="margin:0;height:1px" />
	
	<p style="font-size: 80%">&copy; <a href="http://cimddwc.net">cimddwc.net</a> 2008 |
	  <a href="http://cimddwc.net/2008/11/18/datenbank-last-durch-ajax-edit-comments/?langswitch_lang=en">Permalink</a> |
	  <a href="http://cimddwc.net/2008/11/18/datenbank-last-durch-ajax-edit-comments/?langswitch_lang=en#comments">20 Comments</a>
	  <br/><a href="http://flattr.com/thing/14399/cimddwc" target="_blank"><img src="http://pics.cimddwc.net/flattr_100x17.png" title="Flattr this (Blog)" alt="Flattr" width="100" height="17" border="0"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://cimddwc.net/2008/11/18/datenbank-last-durch-ajax-edit-comments/feed/?langswitch_lang=en</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
	</channel>
</rss>
