<?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>Herself&#039;s Webtools &#187; wordpress</title>
	<atom:link href="http://herselfswebtools.com/category/wordpress/feed" rel="self" type="application/rss+xml" />
	<link>http://herselfswebtools.com</link>
	<description>Scripts, HowTos, Templates, Plugins, Widgets, Tips</description>
	<lastBuildDate>Fri, 18 Nov 2011 15:47:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Security plugins updated</title>
		<link>http://herselfswebtools.com/2011/08/security-plugins-updated.html</link>
		<comments>http://herselfswebtools.com/2011/08/security-plugins-updated.html#comments</comments>
		<pubDate>Fri, 12 Aug 2011 13:45:20 +0000</pubDate>
		<dc:creator>Linda MacPhee-Cobb</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[useful software]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://herselfswebtools.com/?p=801</guid>
		<description><![CDATA[This week I updated all three WordPress security plugins &#8211; install and uninstall functions were added, the user interface and code was cleaned up. I hope to make them smarter over the coming few months. Tripwire Download WordPress Tripwire Plugin Prevent bot registrations Download WordPress Bot Blocker Plugin Security plugin Download WordPress Security Plugin]]></description>
			<content:encoded><![CDATA[<p>This week I updated all three WordPress security plugins &#8211; install and uninstall functions were added, the user interface and code was cleaned up.  I hope to make them smarter over the coming few months.</p>
<p><a href="http://herselfswebtools.com/2008/06/wordpress-plugin-tripwire.html">Tripwire</a><br />
<a href="http://herselfswebtools.com/files/ttc-wp-tripwire.tar.gz">Download WordPress Tripwire Plugin</a></p>
<p><a href="http://herselfswebtools.com/2008/06/wordpress-plugin-to-prevent-bot-registrations.html">Prevent bot registrations</a><br />
<a href="http://herselfswebtools.com/files/ttc-bot-block.tar.gz">Download WordPress Bot Blocker Plugin</a></p>
<p><a href="http://herselfswebtools.com/2008/06/wordpress-security-plugin-block-scrapers-hackers-and-more.html">Security plugin</a><br />
<a href="http://herselfswebtools.com/files/ttc-wp-security.tar.gz">Download WordPress Security Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://herselfswebtools.com/2011/08/security-plugins-updated.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to create a list of posts by category in WordPress</title>
		<link>http://herselfswebtools.com/2010/04/how-to-create-a-list-of-posts-by-category-in-wordpress.html</link>
		<comments>http://herselfswebtools.com/2010/04/how-to-create-a-list-of-posts-by-category-in-wordpress.html#comments</comments>
		<pubDate>Fri, 02 Apr 2010 17:51:22 +0000</pubDate>
		<dc:creator>Linda MacPhee-Cobb</dc:creator>
				<category><![CDATA[archives]]></category>
		<category><![CDATA[hack your template]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress template]]></category>

		<guid isPermaLink="false">http://herselfswebtools.com/?p=783</guid>
		<description><![CDATA[I have to say creating a link lists of posts by category in WordPress is downright painful. To create the archive list ( see link near search box on sidebar ) you need a list of your categories, the category number. You will use these to create an archives.php page. 1) A list of your [...]]]></description>
			<content:encoded><![CDATA[<p>I have to say creating a link lists of posts by category in WordPress is downright painful. To create the archive list ( see link near search box on sidebar ) you need a list of your categories, the category number. You will use these to create an archives.php page.</p>
<p>1) A list of your categories can be found by going to the Dashboard, then drop down the Posts menu and select categories.  These are the headings you put between the &lt;br&gt;&lt;h3&gt;Category Name&lt;/h3&gt; in the php below.</p>
<p>2) Category numbers had to be dug out of my database.  I used MySQL Admin, went to my WordPress database.  Select your database, find the wp_terms table and click on the leftmost icon under &#8216;Action&#8217; to list your tags and categories. The link_id is the category number.</p>
<p>3) PHP code copy and paste this to a file named Archives.php.  Change the category names and numbers to match those on your website.  Also add or delete as many categories as you need. Your template is likely different than mine you may need to adjust the sidebar, footer etc to match your template&#8217;s style</p>
<p>4) showposts=200 is the maximum number of posts it will show in that category, adjust if you need to.</p>
<p>&lt;?php<br />
/*<br />
Template Name: Archives<br />
*/<br />
?&gt;</p>
<p>&lt;?php get_header(); ?&gt;</p>
<p>&lt;div id=&#8221;content&#8221;&gt;</p>
<p>&lt;h2&gt;Archives&lt;/h2&gt;</p>
<p>&lt;div&gt;</p>
<p>&lt;p&gt;Complete archive of the blog&#8217;s posts sorted by category&lt;/p&gt;</p>
<p>&lt;br&gt;&lt;h3&gt;Fun things to do in Houston&lt;/h3&gt;<br />
&lt;?php query_posts(&#8216;cat=5&amp;showposts=200&#8242;); ?&gt;<br />
&lt;?php while (have_posts()): the_post(); ?&gt;<br />
&lt;li&gt;&lt;a href=&#8221;&lt;?php the_permalink() ?&gt;&#8221;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php endwhile; ?&gt;</p>
<p>&lt;br&gt;&lt;h3&gt;OMG We&#8217;re in Texas&lt;/h3&gt;<br />
&lt;?php query_posts(&#8216;cat=7&amp;showposts=200&#8242;); ?&gt;<br />
&lt;?php while (have_posts()): the_post(); ?&gt;<br />
&lt;li&gt;&lt;a href=&#8221;&lt;?php the_permalink() ?&gt;&#8221;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php endwhile; ?&gt;</p>
<p>&lt;br&gt;&lt;h3&gt;The Move&lt;/h3&gt;<br />
&lt;?php query_posts(&#8216;cat=15&amp;showposts=200&#8242;); ?&gt;<br />
&lt;?php while (have_posts()): the_post(); ?&gt;<br />
&lt;li&gt;&lt;a href=&#8221;&lt;?php the_permalink() ?&gt;&#8221;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php endwhile; ?&gt;</p>
<p>&lt;br&gt;&lt;h3&gt;This &#8216;n That&lt;/h3&gt;<br />
&lt;?php query_posts(&#8216;cat=14&amp;showposts=200&#8242;); ?&gt;<br />
&lt;?php while (have_posts()): the_post(); ?&gt;<br />
&lt;li&gt;&lt;a href=&#8221;&lt;?php the_permalink() ?&gt;&#8221;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php endwhile; ?&gt;</p>
<p>&lt;br&gt;&lt;h3&gt;Tokyo Trip&lt;/h3&gt;<br />
&lt;?php query_posts(&#8216;cat=172&amp;showposts=200&#8242;); ?&gt;<br />
&lt;?php while (have_posts()): the_post(); ?&gt;<br />
&lt;li&gt;&lt;a href=&#8221;&lt;?php the_permalink() ?&gt;&#8221;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php endwhile; ?&gt;</p>
<p>&lt;br&gt;&lt;h3&gt;Geekiness&lt;/h3&gt;<br />
&lt;?php query_posts(&#8216;cat=83&amp;showposts=200&#8242;); ?&gt;<br />
&lt;?php while (have_posts()): the_post(); ?&gt;<br />
&lt;li&gt;&lt;a href=&#8221;&lt;?php the_permalink() ?&gt;&#8221;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php endwhile; ?&gt;</p>
<p>&lt;br&gt;&lt;h3&gt;Photos&lt;/h3&gt;<br />
&lt;?php query_posts(&#8216;cat=10&amp;showposts=200&#8242;); ?&gt;<br />
&lt;?php while (have_posts()): the_post(); ?&gt;<br />
&lt;li&gt;&lt;a href=&#8221;&lt;?php the_permalink() ?&gt;&#8221;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;<br />
&lt;?php endwhile; ?&gt;</p>
<p>&lt;/div&gt;<br />
&lt;/div&gt;</p>
<p>&lt;?php get_sidebar(); ?&gt;<br />
&lt;?php get_footer(); ?&gt;</p>
<p>5) Upload your archives.php file to your theme directory on your webserver.</p>
<p>6) Finally create a new page &#8211; drop down the attributes menu on the right and select archives as your template</p>
<p>Or if you&#8217;d rather there&#8217;s a new plugin out to do display all posts in all categories for you <a href="http://www.jameswilkesdesign.co.uk/wordpress-plugin-to-display-all-posts-in-all-categories/">James Wilkes Web Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://herselfswebtools.com/2010/04/how-to-create-a-list-of-posts-by-category-in-wordpress.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Some bot blocking htaccess hacks for WordPress</title>
		<link>http://herselfswebtools.com/2009/12/some-bot-blocking-htaccess-hacks-for-wordpress.html</link>
		<comments>http://herselfswebtools.com/2009/12/some-bot-blocking-htaccess-hacks-for-wordpress.html#comments</comments>
		<pubDate>Sun, 06 Dec 2009 20:54:20 +0000</pubDate>
		<dc:creator>Linda MacPhee-Cobb</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[things you should know]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://herselfswebtools.com/?p=768</guid>
		<description><![CDATA[There are some great security plugins out there. But all WordPress security plugins require that the bot use the front door to the website. Otherwise the security plugin isn&#8217;t turned on. Your .htaccess file provides better coverage and is more efficient. I realize not everyone has access to .htaccess and that is why bot blocker, [...]]]></description>
			<content:encoded><![CDATA[<p>There are some great security plugins out there.  But all WordPress security plugins require that the bot use the front door to the website.  Otherwise the security plugin isn&#8217;t turned on.</p>
<p>Your .htaccess file provides better coverage and is more efficient. I realize not everyone has access to .htaccess and that is why <a href="http://herselfswebtools.com/2008/06/wordpress-plugin-to-prevent-bot-registrations.html">bot blocker</a>, <a href="http://herselfswebtools.com/2008/06/wordpress-security-plugin-block-scrapers-hackers-and-more.html">security plugin</a> and other security plugins exist.  But if you have access to .htaccess that is where you should be doing your security.</p>
<p>This will not stop all bots but should slow them down quite a bit.</p>
<p>Improved .htaccess file</p>
<p>^ &#8211; starts with<br />
$ &#8211; ends with</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
# block known trouble makers dumb enough to<br />
# announce who they are<br />
SetEnvIfNoCase User-Agent &#8220;^EmailSiphon&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^EmailWolf&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^ExtractorPro&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^CherryPicker&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^NICErsPRO&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Teleport&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^EmailCollector&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^LinkWalker&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Zeus&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^botpaidtoclick&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Click Bot&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^WebRipper&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Wget&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Snoopy&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Security Kol&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^libwww-perl&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Java&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^DataCha0s&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Grazer&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^lwp-request&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^lwp-trivial&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Morpheus&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Site Sniper&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Winnie Poh&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^curl&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^Akregator&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;^ac-baidu&#8221; bad_bot<br />
SetEnvIfNoCase User-Agent &#8220;(Ubuntu-feisty)$&#8221; bad_bot</p>
<p>&lt;Limit GET POST&gt;<br />
Order Allow,Deny<br />
Allow from all<br />
Deny from env=bad_bot<br />
&lt;/Limit&gt;</p>
<p># block directory browsing<br />
Options All -Indexes</p>
<p># protect some files<br />
&lt;files wp-config.php&gt;<br />
order allow,deny<br />
deny from all<br />
&lt;/files&gt;</p>
<p>&lt;files .htaccess&gt;<br />
order allow,deny<br />
deny from all<br />
&lt;/files&gt;</p>
<p># block bot registrations and send them to the front door<br />
# if you try to register and your accept statement only has */*<br />
# I&#8217;ll think you&#8217;re a bot<br />
&lt;IfModule mod_rewrite.c&gt;<br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{REQUEST_METHOD} POST<br />
RewriteCond %{REQUEST_URI} .wp-login\.php*<br />
RewriteCond %{HTTP_ACCEPT} ^\*\/\*$<br />
RewriteRule (.*) <a href="http://yourdomain.com/" target="_blank">http://yourdomain.com/</a> [R=301,L]<br />
&lt;/IfModule&gt;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>Additional resources:<br />
<a href="http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/">Perishable Press Stupid htaccess tricks</a><br />
<a href="http://www.josiahcole.com/2007/07/11/almost-perfect-htaccess-file-for-wordpress-blogs/">Almost Perfect htaccess File for WordPress</a></p>
]]></content:encoded>
			<wfw:commentRss>http://herselfswebtools.com/2009/12/some-bot-blocking-htaccess-hacks-for-wordpress.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

