<?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>The Wordpress Warrior</title>
	<atom:link href="http://thewordpresswarrior.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://thewordpresswarrior.com</link>
	<description>Hints and Tips For Wordpress - Free Plugins - Free Themes</description>
	<lastBuildDate>Sat, 21 Aug 2010 01:41:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Better WP Performance: Preloading Images With CSS</title>
		<link>http://thewordpresswarrior.com/769/better-wp-performance-preloading-images-with-css</link>
		<comments>http://thewordpresswarrior.com/769/better-wp-performance-preloading-images-with-css#comments</comments>
		<pubDate>Sat, 21 Aug 2010 00:59:36 +0000</pubDate>
		<dc:creator>Charly Leetham</dc:creator>
				<category><![CDATA[Images]]></category>
		<category><![CDATA[photo blogs]]></category>
		<category><![CDATA[photo rich wordpress websites]]></category>
		<category><![CDATA[preloading images in CSS]]></category>

		<guid isPermaLink="false">http://thewordpresswarrior.com/?p=769</guid>
		<description><![CDATA[I have been creating a lot of image and photo rich wordpress websites lately and using jQuery to display galleries and rotating photo shows.
These sites are really awesome but, the galleries can take a long time to load and the overall visitor effect can be disappointing.
After a bit of searching I found that it is [...]<p><a href="http://thewordpresswarrior.com/769/better-wp-performance-preloading-images-with-css">Better WP Performance: Preloading Images With CSS</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I have been creating a lot of image and photo rich wordpress websites lately and using jQuery to display galleries and rotating photo shows.</p>
<p>These sites are really awesome but, the galleries can take a long time to load and the overall visitor effect can be disappointing.</p>
<p>After a bit of searching I found that it is possible to preload images on a site using CSS.  Thanks to <a href="http://perishablepress.com/press/2008/06/14/a-way-to-preload-images-without-javascript-that-is-so-much-better/" target="_blank">Perishable Press</a> for the inspiration.</p>
<p>On Perishable Press, I found the instructions to add this code to the bottom of an xHTML page:<span id="more-769"></span></p>
<pre class="brush:php&gt;?php">&lt;div id=&#8221;preload&#8221;&gt;&lt;img src=&#8221;http://domain.tld/image-01.png&#8221; alt=&#8221;Image 01&#8243; width=&#8221;1&#8243; height=&#8221;1&#8243; /&gt;
&lt;img src=&#8221;http://domain.tld/image-02.png&#8221; alt=&#8221;Image 02&#8243; width=&#8221;1&#8243; height=&#8221;1&#8243; /&gt;
&lt;img src=&#8221;http://domain.tld/image-03.png&#8221; alt=&#8221;Image 03&#8243; width=&#8221;1&#8243; height=&#8221;1&#8243; /&gt;&lt;/div&gt;</pre>
<p>and add this to CSS file:</p>
<pre class="brush:php&gt;?php">div#preload { display: none; }</pre>
<p>This was great, but trying to implement this on a dynamic website like Wordpress kind of defeats the purpose &#8211; I want a dynamic image loader!</p>
<p>So I worked through how to use this functionality on my Wordpress websites.</p>
<p>Whilst the images on the initial load of the first page on the site may still take time to display, the rest of pages and image displays are much, much better.</p>
<p>I&#8217;m still working on improving the load times, but I thought I would share the code that I use so far:</p>
<h3>To preload ALL the images on a site on first page load</h3>
<p>Add this to your themes style.css file:</p>
<pre class="brush:php&gt;?php">div#preload { display: none; }</pre>
<p>Create the following function in your themes functions.php file:</p>
<pre class="brush:php&gt;?php">function twpw_imagepreload() {
$args3=array(
&#8216;post_status&#8217;=&gt;&#8217;publish&#8217;
);
$imageloader= null;
$imageloader = new WP_Query();
$imageloader-&gt;query($args3);
$imagepreload.=&#8217;&lt;div id=&#8221;preload&#8221;&gt;&#8217;;
if ($imageloader-&gt;have_posts()) : while ($imageloader-&gt;have_posts()) : $imageloader-&gt;the_post();
$parentid=get_the_ID();
$args1=array(
&#8216;post_type&#8217;=&gt;&#8217;attachment&#8217;,
&#8216;post_parent&#8217; =&gt; $parentid,
&#8216;post_mime_type&#8217; =&gt; &#8216;image&#8217;
);
$image_query = get_children($args1);
foreach ( $image_query as $attachment_id =&gt; $attachment ) {
$image3=wp_get_attachment_image_src($attachment_id);
$imagepreload.=&#8217;&lt;img src=&#8221;&#8216;.$image3[0].&#8217;&#8221; width=&#8221;1&#8243; height=&#8221;1&#8243;/&gt;&#8217;;
}
endwhile; endif;
$imagepreload.=&#8217;&lt;/div&gt;&#8217;;
return $imagepreload;
}</pre>
<p>add the following line to your themes footer.php, just able the tag:<br />
<pre class="brush:php&gt;?php">&lt;?php echo twpw_imagepreload() ?&gt; </pre></p>
<p>Stepping through the function:</p>
<p>The first section of the function returns an array of ALL published posts on your Wordpress Website to a variable called <strong>$imageloader</strong>:</p>
<pre class="brush:php&gt;?php">$args3=array(
&#8216;post_status&#8217;=&gt;&#8217;publish&#8217;
);
$imageloader= null;
$imageloader = new WP_Query();
$imageloader-&gt;query($args3);</pre>
<p>This part of the function uses the <a href="http://codex.wordpress.org/Template_Tags/query_posts">query_post functionality of Wordpress</a>.</p>
<p>This line creates the start of the html div into which the images will be preloaded:</p>
<pre class="brush:php&gt;?php">$imagepreload.=&#8217;&lt;div id=&#8221;preload&#8221;&gt;&#8217;;</pre>
<p>This part checks if there are published posts, and begins to step through each published post.</p>
<pre class="brush:php&gt;?php">if ($imageloader-&gt;have_posts()) : while ($imageloader-&gt;have_posts()) : $imageloader-&gt;the_post();
$parentid=get_the_ID();</pre>
<p>This line:</p>
<pre class="brush:php&gt;?php">$parentid=get_the_ID();</pre>
<p>returns the ID of the post being used in the loop and is critical to the next part of the function.</p>
<p>Now we have the ID of the post, we need to retrieve all the images attached to that post.  We achieve this using the <a href="http://codex.wordpress.org/Function_Reference/get_children" target="_blank">get_children()</a> function with the assistance of query_posts. get_children returns an array, which we store in the variable <strong>$image_query</strong>:</p>
<pre class="brush:php&gt;?php">$args1=array(
&#8216;post_type&#8217;=&gt;&#8217;attachment&#8217;,
&#8216;post_parent&#8217; =&gt; $parentid,
&#8216;post_mime_type&#8217; =&gt; &#8216;image&#8217;
);
$image_query = get_children($args1);</pre>
<p>Now, we create the code to load the images into our <strong>preload</strong> div, using a foreach loop on $image_query:</p>
<pre class="brush:php&gt;?php">foreach ( $image_query as $attachment_id =&gt; $attachment ) {
$image3=wp_get_attachment_image_src($attachment_id);
$imagepreload.=&#8217;&lt;img src=&#8221;&#8216;.$image3[0].&#8217;&#8221; width=&#8221;1&#8243; height=&#8221;1&#8243;/&gt;&#8217;;
}</pre>
<p>Using <a href="http://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src" target="_blank">wp_get_attachment_image_src</a>, we can retrieve the details of each image into an array (<strong>$image3</strong>).</p>
<p>Then we create the html code to display the image in our preload div.</p>
<p>As we loop through $image_query, the variable $imagepreload is appended with the next image.</p>
<p>The final part of the function closes off the loops and returns the variable $imagepreload.</p>
<pre class="brush:php&gt;?php">endwhile; endif;
$imagepreload.=&#8217;&lt;/div&gt;&#8217;;
return $imagepreload;</pre>
<p>That&#8217;s it really &#8211; I&#8217;m sure it can be done better, but this is what I&#8217;ve come up with.</p>
<p>I&#8217;m also not certain what effect this function will have on the SEO of the site &#8211; truly image rich sites will increase the load time of the site (it shouldn&#8217;t affect the display of the first page, but it will cause the final load of the page to be much longer).</p>
<p>Love to have your feedback on this code and whether you have a better way of doing it.</p>
<p><a href="http://thewordpresswarrior.com/769/better-wp-performance-preloading-images-with-css">Better WP Performance: Preloading Images With CSS</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thewordpresswarrior.com/769/better-wp-performance-preloading-images-with-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Announcing Upcoming Content</title>
		<link>http://thewordpresswarrior.com/767/announcing-upcoming-content</link>
		<comments>http://thewordpresswarrior.com/767/announcing-upcoming-content#comments</comments>
		<pubDate>Sat, 24 Jul 2010 01:42:31 +0000</pubDate>
		<dc:creator>Charly Leetham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thewordpresswarrior.com/?p=767</guid>
		<description><![CDATA[Scheduling posts is a a good thing to do if you have lots of information to  share or if you run a membership site and you want to drip content out to them.
However, you want to give your members a sneak peek of what&#8217;s coming up &#8211; to increase the anticipation.  Here&#8217;s a simple function [...]<p><a href="http://thewordpresswarrior.com/767/announcing-upcoming-content">Announcing Upcoming Content</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Scheduling posts is a a good thing to do if you have lots of information to  share or if you run a<a href="http://askcharlyleetham.com/blog/wpwishlist" target="_blank"> membership site</a> and you want to drip content out to them.</p>
<p>However, you want to give your members a sneak peek of what&#8217;s coming up &#8211; to increase the anticipation.  Here&#8217;s a simple function that you can modify to do this:<br />
<span id="more-767"></span><br />
<pre class="brush:php&gt;?php">function showupcomingposts() {$args=array(
&#8216;post_type&#8217;=&gt;&#8217;post&#8217;,
&#8216;post_status&#8217;=&gt;&#8217;future&#8217;,
&#8216;posts_per_page&#8217; =&gt; 10
);
$wp_query= null;
$wp_query = new WP_Query();
$wp_query-&gt;query($args);
if ($wp_query-&gt;have_posts()) : while($wp_query-&gt;have_posts()) : $wp_query-&gt;the_post();
echo &#8216;&lt;div id=&#8221;contentmain&#8221;&gt;&#8217;;
echo &#8216;&lt;h2&gt;the_title();&lt;/h2&gt;&#8217;;
the_excerpt();
echo &#8216;&lt;/div&gt;&#8217;;
endwhile; endif;
}
?&gt;</pre></p>
<p>I haven&#8217;t tested it &#8211; and it will require tweaking to present the output on your site, but it&#8217;s a good start.</p>
<p>Enjoy.</p>
<p><a href="http://thewordpresswarrior.com/767/announcing-upcoming-content">Announcing Upcoming Content</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thewordpresswarrior.com/767/announcing-upcoming-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing the Login Form Widget</title>
		<link>http://thewordpresswarrior.com/761/testing-the-login-form-widget</link>
		<comments>http://thewordpresswarrior.com/761/testing-the-login-form-widget#comments</comments>
		<pubDate>Thu, 22 Jul 2010 21:32:46 +0000</pubDate>
		<dc:creator>Charly Leetham</dc:creator>
				<category><![CDATA[Wordpress Hints And Tips]]></category>
		<category><![CDATA[wordpress login form]]></category>

		<guid isPermaLink="false">http://thewordpresswarrior.com/?p=761</guid>
		<description><![CDATA[In an earlier post,I gave an example of how to set up a custom login form and add a short code to display the login form anywhere on your site.
I&#8217;ve been asked to demonstrate the the form in action&#8230; so here it is:

This is display using the shortcode:
[ twpwshowloginwidget ]
(Remove the space after the &#8216;[' [...]<p><a href="http://thewordpresswarrior.com/761/testing-the-login-form-widget">Testing the Login Form Widget</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></description>
			<content:encoded><![CDATA[
<div id="loginform-wrapper">
<form name="loginform" class="loginform" action="http://thewordpresswarrior.com/wp-login.php" method="post">
<label for="log">Username</label> <input type="text" name="log" id="user_login" value="" tabindex="10" /><br>
<label for="pwd">Password</label> <input type="password" name="pwd" id="user_pass" value="" tabindex="20" />
<div style="text-align:center;"><input type="submit" name="wp-submit" id="wp-submit" value="LOG IN" class="submit" /> <input type="button" class="submit" value="SIGNUP" onClick="parent.location='http://thewordpresswarrior.comwp-register.php'" /></div><br>
<a href="http://thewordpresswarrior.com/wp-login.php?action=lostpassword">Lost your password?</a>
<input type="hidden" name="redirect_to" value="http://thewordpresswarrior.com" />
<input type="hidden" name="testcookie" value="1" />
</form></div>
<p>In an earlier post,I gave an example of how to set up a custom login form and add a short code to display the login form anywhere on your site.</p>
<p>I&#8217;ve been asked to demonstrate the the form in action&#8230; so here it is:</p>
<p><span id="more-761"></span></p>

<p>This is display using the shortcode:</p>
<p>[ twpwshowloginwidget ]</p>
<p>(Remove the space after the &#8216;[' and before the ']&#8216;)</p>
<p>The code for this widget is shown below, and you can<a href="https://askcharlyleetham.box.net/shared/x6dvcn83im"> download it from here</a></p>
<pre class="brush:php&gt;?php"> function twpwnewloginwidget() {
if (is_user_logged_in()) {
$redirect = get_bloginfo(&#8216;url&#8217;);
global $current_user;
get_currentuserinfo();
?&gt;
&lt;div id=&#8221;loginform-wrapper&#8221;&gt;
Welcome &lt;strong&gt;&lt;?php echo $current_user-&gt;user_firstname; ?&gt;&lt;/strong&gt;.
&lt;form name=&#8221;loginform&#8221; action=&#8221;&lt;?php echo wp_logout_url($redirect); ?&gt;&#8221; method=&#8221;post&#8221;&gt;
&lt;input type=&#8221;submit&#8221; name=&#8221;wp-submit&#8221; id=&#8221;wp-submit&#8221; value=&#8221;LOG OUT&#8221; /&gt;
&lt;br&gt;
&lt;a href=&#8221;&lt;?php bloginfo(&#8216;url&#8217;); ?&gt;/wp-admin/profile.php&#8221; style=&#8221;font-size:11px;&#8221;&gt;Update Your Details&lt;/a&gt;
&lt;input type=&#8221;hidden&#8221; name=&#8221;redirect_to&#8221; value=&#8221;&lt;?php bloginfo(&#8216;url&#8217;); ?&gt;&#8221; /&gt;
&lt;/form&gt;&lt;/div&gt;
&lt;!&#8211; If User Is NOT Logged In Display This &#8211;&gt;
&lt;? } else {
$notloggedinurl = get_bloginfo(&#8216;url&#8217;).&#8217;wp-register.php&#8217;;
?&gt;
&lt;div id=&#8221;loginform-wrapper&#8221;&gt;
&lt;form name=&#8221;loginform&#8221; action=&#8221;&lt;?php bloginfo(&#8216;url&#8217;); ?&gt;/wp-login.php&#8221; method=&#8221;post&#8221;&gt;
&lt;label for=&#8221;log&#8221;&gt;Username&lt;/label&gt; &lt;input type=&#8221;text&#8221; name=&#8221;log&#8221; id=&#8221;user_login&#8221; value=&#8221;" tabindex=&#8221;10&#8243; /&gt;&lt;br&gt;
&lt;label for=&#8221;pwd&#8221;&gt;Password&lt;/label&gt; &lt;input type=&#8221;password&#8221; name=&#8221;pwd&#8221; id=&#8221;user_pass&#8221; value=&#8221;" tabindex=&#8221;20&#8243; /&gt;
&lt;div style=&#8221;text-align:center;&#8221;&gt;&lt;input type=&#8221;submit&#8221; name=&#8221;wp-submit&#8221; id=&#8221;wp-submit&#8221; value=&#8221;LOG IN&#8221; /&gt; &lt;input type=&#8221;button&#8221; value=&#8221;SIGNUP&#8221; onClick=&#8221;parent.location=&#8217;&lt;?php echo $notloggedinurl ?&gt;&#8217;&#8221; /&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href=&#8221;&lt;?php bloginfo(&#8216;url&#8217;); ?&gt;/wp-login.php?action=lostpassword&#8221;&gt;Lost your password?&lt;/a&gt;
&lt;input type=&#8221;hidden&#8221; name=&#8221;redirect_to&#8221; value=&#8221;&lt;?php bloginfo(&#8216;url&#8217;); ?&gt;&#8221; /&gt;
&lt;input type=&#8221;hidden&#8221; name=&#8221;testcookie&#8221; value=&#8221;1&#8243; /&gt;
&lt;/form&gt;&lt;/div&gt;
&lt;? }
}
add_shortcode(&#8216;twpwshowloginwidget&#8217;, &#8216;twpwnewloginwidget&#8217;);</pre>
<p>Simply copy and paste this information into your themes functions.php file</p>
<p>To set the width of the widget, add the line:</p>
<pre class="brush:php&gt;?php">#loginform-wrapper { width: 250px; } </pre>
<p>to your themes style.css file.  Change this style to suit your theme.</p>
<p><a href="http://thewordpresswarrior.com/761/testing-the-login-form-widget">Testing the Login Form Widget</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thewordpresswarrior.com/761/testing-the-login-form-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress, Memory Usage and Me&#8230;.</title>
		<link>http://thewordpresswarrior.com/754/wordpress-memory-usage-and-me</link>
		<comments>http://thewordpresswarrior.com/754/wordpress-memory-usage-and-me#comments</comments>
		<pubDate>Sun, 18 Jul 2010 02:44:53 +0000</pubDate>
		<dc:creator>Charly Leetham</dc:creator>
				<category><![CDATA[Wordpress Hints And Tips]]></category>
		<category><![CDATA[wordpress memory usage]]></category>

		<guid isPermaLink="false">http://thewordpresswarrior.com/?p=754</guid>
		<description><![CDATA[As we add more and more functionality to our Wordpress Websites, memory usage on our webservers is becoming an issue.
With some webhosts, it is possible to increase the amount of memory that is allocated to run PHP.  In this article, I&#8217;ll share how website administrators may increase the memory allocation for their Wordpress website.
Please proceed [...]<p><a href="http://thewordpresswarrior.com/754/wordpress-memory-usage-and-me">Wordpress, Memory Usage and Me&#8230;.</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></description>
			<content:encoded><![CDATA[<p>As we add more and more functionality to our Wordpress Websites, memory usage on our webservers is becoming an issue.</p>
<p>With some webhosts, it is possible to increase the amount of memory that is allocated to run PHP.  In this article, I&#8217;ll share how website administrators may increase the memory allocation for their Wordpress website.</p>
<p>Please proceed with caution &#8211; some Webhosts do not appreciate sites that &#8216;hog&#8217; memory and this may cause issues if your changes breach the Terms Of Service.</p>
<p>I also recommend that &#8211; if in doubt, refer to the Tech Support for your hosting provider or seek professional assistance.<span id="more-754"></span></p>
<p><strong>Before we start &#8211; Memory Usage</strong></p>
<p>One plugin that will help determine how your system is running is called <a href="http://wordpress.org/extend/plugins/tpc-memory-usage/" target="_blank">TPC! Memory Usage</a>.  This plugin will show you what the memory usage on your site and the configuration of different areas.  The screen shots below will give you an idea of the type of information it provides:</p>
<div style="width: 100%; float: left;"><a class="highslide img_4" href="https://askcharlyleetham.box.net/shared/static/pn3mnxff68.png" onclick="return hs.expand(this)"><img class="alignleft" style="margin-right: 15px;" title="TPC! Memory Usage" src="https://askcharlyleetham.box.net/shared/static/pn3mnxff68.png" alt="" width="250" /></a><a class="highslide img_5" href="https://askcharlyleetham.box.net/shared/static/x46x28e50q.png" onclick="return hs.expand(this)"><img class="alignleft" style="margin-right: 15px;" title="PHP Overview" src="https://askcharlyleetham.box.net/shared/static/x46x28e50q.png" alt="" width="250" /></a> <a class="highslide img_6" href="https://askcharlyleetham.box.net/shared/static/2z1lsm3i7h.png" onclick="return hs.expand(this)"><img class="alignleft" style="margin-right: 15px;" title="SQL Overview" src="https://askcharlyleetham.box.net/shared/static/2z1lsm3i7h.png" alt="" width="250" /></a></div>
<p><strong>Adjusting Wordpress Memory Usage</strong></p>
<p>In the wp-config.php file, add (or modify) the following line:</p>
<pre class="brush:php&gt;?php">define(&#8216;WP_MEMORY_LIMIT&#8217;, &#8216;64M&#8217;);</pre>
<p>The above line will set the Wordpress Memory limit to 64 MBytes however it can be set at any increment  of 8MB. For instance, 32MB, 40MB, 64MB, 128MB.</p>
<p>The wp-config.php file is located in the root directory of your WordPress installation (note, this will differ if you give Wordpress it&#8217;s own Sub Folder)&#8230;..</p>
<p>Once this change is made, the PHP memory_limit will also need to be changed.</p>
<p><strong>Changing the PHP memory_limit</strong></p>
<p>On most shared hosts, I have successfully changed the PHP memory_limit by uploaded a file to my Wordpress installation.  This file is called php.ini and is a simple text file that contains the following line only:</p>
<pre class="brush:php&gt;?php">memory_limit = 128M;</pre>
<p>I upload this file to two locations &#8211; the root directory of my Wordpress installation and the wp-admin folder.</p>
<p>Uploading the file to wp-admin, this forces php to use the different memory_limit for the administration functions of my sites.  At one point, on a client site, I found I was having problems activating plugins and conducting admin functions &#8211; it turned out to be a memory issue.  Uploading php.ini with an increased Memory Limit made it all work nicely.</p>
<p><strong>Remember: If in doubt &#8211; speak to your webhosts Tech Support or seek professional assistance before doing this.</strong></p>
<p><a href="http://askcharlyleetham.com/blog/products/hg-squeeze"><img class="aligncenter" title="Hostgator Wordpress hosting" src="http://tracking.hostgator.com/img/WordPress_Hosting/468x60-animated.gif" alt="" width="468" height="60" /></a></p>
<p><a href="http://thewordpresswarrior.com/754/wordpress-memory-usage-and-me">Wordpress, Memory Usage and Me&#8230;.</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thewordpresswarrior.com/754/wordpress-memory-usage-and-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customizing the WP-Login form without playing with the WP Core</title>
		<link>http://thewordpresswarrior.com/742/customizing-the-wp-login-form-without-playing-with-the-wp-core</link>
		<comments>http://thewordpresswarrior.com/742/customizing-the-wp-login-form-without-playing-with-the-wp-core#comments</comments>
		<pubDate>Sun, 18 Jul 2010 00:04:40 +0000</pubDate>
		<dc:creator>Charly Leetham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[customize wordpress login form]]></category>
		<category><![CDATA[customize wp-login.php]]></category>

		<guid isPermaLink="false">http://thewordpresswarrior.com/?p=742</guid>
		<description><![CDATA[When creating a membership site with Wordpress, it is often desirable to have a Login form that reflects the themeing of your site &#8211; not the standard WP-Login form.
There are some excellent plugins around that give a lot of flexibility around the login form (my fave is Theme My Login) however, with the updates coming [...]<p><a href="http://thewordpresswarrior.com/742/customizing-the-wp-login-form-without-playing-with-the-wp-core">Customizing the WP-Login form without playing with the WP Core</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></description>
			<content:encoded><![CDATA[<p>When creating a membership site with Wordpress, it is often desirable to have a Login form that reflects the themeing of your site &#8211; not the standard WP-Login form.</p>
<p>There are some excellent plugins around that give a lot of flexibility around the login form (my fave is Theme My Login) however, with the updates coming through in WP 3.0 and other associated plugin updates, some of these plugins aren&#8217;t working&#8230;.</p>
<p>Today, I&#8217;m going share how to change the formatting on the standard wp-login.php screen &#8211; without changing the wordpress core software.<span id="more-742"></span></p>
<p>You&#8217;ll need a few things to do this:</p>
<ol>
<li>Style sheet for login form &#8211; you can <a href="https://askcharlyleetham.box.net/shared/xx0cii567z" target="_blank">download a sample called custom-login.css by clicking here</a>.</li>
<li>Function to add to your functions.php file (in your theme folder). <a href="https://askcharlyleetham.box.net/shared/xf037ilnoi" target="_blank">Download a copy from here so you can just copy and paste it in</a>.</li>
</ol>
<p>I also recommend you use the <a href="http://www.mozilla.com/en-US/firefox/personal.html" target="_blank">Firefox browser</a> and have the <a href="https://addons.mozilla.org/en-US/firefox/addon/1843/" target="_blank">Firebug add on</a> installed, as this will help the styling of your login form.</p>
<p><strong>Step 1:  Upload the custom-login.css file to your theme folder</strong></p>
<p>I use FTP to upload my files, but you can also use the file manager that is part  of CPanel or if your administration panel provides one.</p>
<p>The custom-login.css file provided looks like this:</p>
<pre class="brush:php&gt;?php">/*
Document   : custom-login
Created on : July 12 2010
Author     : Charly Leetham
Description: Style the Wordpress Login page.
*/
html {background:#F9F9F9 !important;}
body{border-bottom-style:solid;border-bottom-width:30px;border-top-style:solid;border-top-width:30px;}
body, #wpbody, .form-table .pre {color:#333333;}
body.login {border-bottom-color:#464646;border-top-color:#464646;}
h1 a{background:url(&#8220;/wp-admin/images/logo-login.gif&#8221;) no-repeat scroll 0 0 transparent;display:block;padding-bottom:15px;text-indent:-9999px; width:310px; height: 70px; margin: 0 auto}
#login {margin:15% auto;width:350px;}
form{background:none repeat scroll 0 0 #ffffff !important;}</pre>
<p>As we progress through this tutorial, this file will be edited to match your theme.</p>
<p><strong>Step 2:  Add function to your theme functions file<br />
</strong></p>
<p>Add the function located in the wp-login-screen-function.txt file to the functions.php file in your theme folder.  This text must be added between the &lt;?php and the ?&gt; markers in the file.</p>
<p>I recommend pasting it at the bottom of the file just above the ?&gt; marker to make it easy.</p>
<pre class="brush:php&gt;?php">/*Styling the WP Login Screen */
function add_my_stylesheet() {
echo &#8216;&lt;link rel=&#8221;stylesheet&#8221; type=&#8221;text/css&#8221; href=&#8221;&#8216; . get_bloginfo(&#8217;stylesheet_directory&#8217;) . &#8216;/custom-login.css&#8221; /&gt;&#8217;;
}
add_action(&#8216;login_head&#8217;, &#8216;add_my_stylesheet&#8217;);</pre>
<p>This function will add the stylesheet custom-login.css to the header of wp-login.php automatically.</p>
<p><strong>Step 3:  Change the style in custom-login.css to change the background color of the login page<br />
</strong></p>
<p>To change the background color of the wp-login.php screen, modify the style:</p>
<pre class="brush:php&gt;?php"> html {background:#F9F9F9 !important;} </pre>
<p>This code uses a background color of #F9F9F9 &#8211; a light grey. Change the #F9F9F9 to match the background color of the main site.</p>
<p>To add a background image, change the code as follows:</p>
<pre class="brush:php&gt;?php"> html {background:#F9F9F9 url(&#8220;thepathtoyourfile/filename.ext&#8221;) repeat-x !important;} </pre>
<p>The text<em><strong> thepathtoyourfile/filename.ext</strong></em> should be changed to be the exact location of the background image.</p>
<p>The text <em><strong>repeat-x</strong></em> may need to modified depending on the theme styling.  I recommend using the style.css file, or Firebug, to get the correct syntax for this style.</p>
<p><strong>Step 4:  Change the WP logo for a custom logo (or remove the logo completely)</strong></p>
<p>The logo on the wp-login screen is controlled by this style:</p>
<pre class="brush:php&gt;?php"> h1 a{background:url(&#8220;/wp-admin/images/logo-login.gif&#8221;) no-repeat scroll 0 0 transparent;display:block;padding-bottom:15px;text-indent:-9999px; width:310px; height: 70px; margin: 0 auto} </pre>
<p>Replace the text <em><strong>/wp-admin/images/logo-login.gif</strong></em> with the url of the logo to display</p>
<p>Change the text <em><strong>width:310px; </strong></em>and <em><strong>height: 70px;</strong></em> to the dimensions of the logo used.</p>
<p><strong>Step 5:  If needed, modify the width of the Login form<br />
</strong></p>
<p>The width of the login form is set to 350px.  If the logo being displayed is wider than 350px, it may be necessary to modify the width of the form for the logo to display nicely.</p>
<p>Locate the code:</p>
<pre class="brush:php&gt;?php">#login {margin:15% auto;width:350px;}</pre>
<p>and modify the text <em><strong>width:350px;</strong></em> to match the width of the logo (at least)</p>
<p><strong>Step 6:  Change the color of the login form background</strong></p>
<p>The standard form background can be a bit boring, and it&#8217;s possible to add a little pizazz to the form by changing the form background.</p>
<p>Locate the line:</p>
<pre class="brush:php&gt;?php">form{background:none repeat scroll 0 0 #ffffff !important;}</pre>
<p>Replace the text #ffffff with the color to display instead.</p>
<p>Of course, you can add an image to the background by adding the text url(&#8220;/wp-admin/images/logo-login.gif&#8221;) to the style&#8230; remember to change the /wp-admin/images/logo-login.gif to the url of the image to use.</p>
<p>And your done&#8230;. when you navigate to the wp-login page on the website it should now be formatted similarly to your theme&#8230;.</p>
<p>I did similar with The WP Warrior Login page:</p>
<p><a class="highslide img_8" href="https://askcharlyleetham.box.net/shared/static/9tgarveje1.png" onclick="return hs.expand(this)"><img class="alignnone" title="Login Screen" src="https://askcharlyleetham.box.net/shared/static/9tgarveje1.png" alt="" width="400" /></a></p>
<p><a href="http://thewordpresswarrior.com/742/customizing-the-wp-login-form-without-playing-with-the-wp-core">Customizing the WP-Login form without playing with the WP Core</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thewordpresswarrior.com/742/customizing-the-wp-login-form-without-playing-with-the-wp-core/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wishlist Member: Version 2.3 Snapshot</title>
		<link>http://thewordpresswarrior.com/731/wishlist-member-version-2-3-snapshot</link>
		<comments>http://thewordpresswarrior.com/731/wishlist-member-version-2-3-snapshot#comments</comments>
		<pubDate>Sat, 10 Jul 2010 02:08:07 +0000</pubDate>
		<dc:creator>Charly Leetham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[latest version of wishlist member]]></category>
		<category><![CDATA[Wishlist Member]]></category>
		<category><![CDATA[wishlist member and wordpress 3]]></category>
		<category><![CDATA[wordpress membership sites]]></category>

		<guid isPermaLink="false">http://thewordpresswarrior.com/?p=731</guid>
		<description><![CDATA[Wishlist Products have released Version 2.3 of Wishlist Member.  This release addresses a number of bugs and makes Wishlist Member work correctly with Wordpress 3.0.
I haven&#8217;t had a lot of time to play with the new version of Wishlist Member 2.3 and I&#8217;ve seen some issues being listed on the Insiders Forum, so I do [...]<p><a href="http://thewordpresswarrior.com/731/wishlist-member-version-2-3-snapshot">Wishlist Member: Version 2.3 Snapshot</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Wishlist Products have released Version 2.3 of Wishlist Member.  This release addresses a number of bugs and makes Wishlist Member work correctly with Wordpress 3.0.</p>
<p>I haven&#8217;t had a lot of time to play with the new version of Wishlist Member 2.3 and I&#8217;ve seen some issues being listed on the Insiders Forum, so I do recommend approaching the upgrade to both Wordpress 3.0 and Wishlist Member 2.3 very, very careful.</p>
<p>My initial look at Ver 2.3 of Wishlist Member reveals some pretty cool functionality.  This post will address some of the new features you can expect to see.</p>
<p><span id="more-731"></span></p>
<p><a class="highslide img_12" href="http://thewordpresswarrior.com/wp-content/uploads/2010/07/WLMSettingsFullPage.png" onclick="return hs.expand(this)"><img class="size-medium wp-image-732 alignleft" title="WLMSettingsFullPage" src="http://thewordpresswarrior.com/wp-content/uploads/2010/07/WLMSettingsFullPage-300x236.png" alt="" width="300" height="236" /></a><strong>Starting on the WL Member Settings screen</strong></p>
<p><strong>reCaptcha<br />
</strong></p>
<p>The ability to add a reCaptcha box to your membership registration page.  Not a big one for many membership site owners &#8211; but if you&#8217;ve been experiencing &#8217;spammy&#8217; signups, reCaptcha will help minimize these.</p>
<p><strong>Enable File Protection</strong></p>
<p>I haven&#8217;t had chance to look at this one yet &#8211; but it looks promising! Protecting downloadable content is a big thing &#8211; can&#8217;t wait to see what this does!</p>
<p><a class="highslide img_13" href="http://thewordpresswarrior.com/wp-content/uploads/2010/07/memberlevelsettings.png" onclick="return hs.expand(this)"><img class="size-medium wp-image-733 alignright" title="memberlevelsettings" src="http://thewordpresswarrior.com/wp-content/uploads/2010/07/memberlevelsettings-300x130.png" alt="" width="300" height="130" /></a><strong>Membership Settings Screen</strong></p>
<p>The membership settings page has been revamped to include the new features.</p>
<p>You can specify which membership levels use reCaptcha on the registration form.</p>
<p>A member can be required to confirm their membership via email after registration &#8211; another way to reduce &#8217;spam&#8217; signups.</p>
<p>And&#8230;. another popular request &#8211; administrators can now manually approve memberships before a member goes live.</p>
<p><a class="highslide img_14" href="http://thewordpresswarrior.com/wp-content/uploads/2010/07/WLMSettingsBackup.png" onclick="return hs.expand(this)"><img class="alignleft size-medium wp-image-734" title="WLMSettingsBackup" src="http://thewordpresswarrior.com/wp-content/uploads/2010/07/WLMSettingsBackup-300x264.png" alt="" width="300" height="264" /></a><strong>Backup, Backup, Backup</strong></p>
<p>Still have to test this one &#8211; but a new option has been added to allow site administrators to backup their WLM settings.</p>
<p>Doing a full site backup and database backup is a great idea. However, being able to do a backup of your membership settings, export and import them is wonderful.</p>
<p>Whilst I still have to test the functionality, I&#8217;m relieved to see this type of functionality in the mix.</p>
<p>If you&#8217;re looking for help with your upgrade to Wishlist Member 2.3, <a href="http://thewordpresswarrior.com/about/contact-us/" target="_blank">you can contact us</a> or I highly recommend joining <a href="http://askcharlyleetham.com/wlminsider" target="_blank">Wishlist Insider</a> to tap into the great community and resources there.</p>
<p><a href="http://thewordpresswarrior.com/731/wishlist-member-version-2-3-snapshot">Wishlist Member: Version 2.3 Snapshot</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thewordpresswarrior.com/731/wishlist-member-version-2-3-snapshot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Creating the Author&#8217;s Profile Block</title>
		<link>http://thewordpresswarrior.com/726/creating-the-authors-profile-block</link>
		<comments>http://thewordpresswarrior.com/726/creating-the-authors-profile-block#comments</comments>
		<pubDate>Wed, 30 Jun 2010 02:29:12 +0000</pubDate>
		<dc:creator>Charly Leetham</dc:creator>
				<category><![CDATA[Wordpress Hints And Tips]]></category>
		<category><![CDATA[author profile]]></category>
		<category><![CDATA[author profile block]]></category>
		<category><![CDATA[profile block]]></category>

		<guid isPermaLink="false">http://thewordpresswarrior.com/?p=726</guid>
		<description><![CDATA[Recently, I added author profile blocks to the bottom of my blog posts.  This was inspired by advise from the team at Wishlist Products and after I saw their author info boxes.
There are many benefits to incorporating an Authors info box on your site &#8211; the least of which is having guest authors that you [...]<p><a href="http://thewordpresswarrior.com/726/creating-the-authors-profile-block">Creating the Author&#8217;s Profile Block</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Recently, I added author profile blocks to the bottom of my blog posts.  This was inspired by advise from the team at Wishlist Products and after I saw their author info boxes.</p>
<p>There are many benefits to incorporating an Authors info box on your site &#8211; the least of which is having guest authors that you can show case.</p>
<p>I thought I would share how I&#8217;ve created this box&#8230;.</p>
<p>Let&#8217;s start with the code I use first.  Below is the block of code I have inserted in my themes single.php file however, it can be inserted into any of the theme files where there is an author.<span id="more-726"></span></p>
<pre class="brush:php&gt;?php">&lt;!&#8211; About The Author &#8211;&gt;
&lt;?php $authoremail=get_the_author_meta(&#8216;user_email&#8217;); ?&gt;
&lt;div style=&#8221;width:100%; margin-top:10px; float:left; font-size: 12px;border:5px solid #EDEDED;&#8221; id=&#8221;authordiv&#8221;&gt;
&lt;div style=&#8221;width:125px; float:left; padding: 5px;&#8221;&gt;
&lt;?php echo get_avatar($authoremail,$size=&#8217;125&#8242;,$default=&#8217;&lt;path_to_url&gt;&#8217; ); ?&gt;
&lt;/div&gt;
&lt;div style=&#8221;width: 415px; float:left; padding: 5px;&#8221;&gt;&lt;p&gt;&lt;?php echo the_author_meta( &#8216;description&#8217; ); ?&gt;&lt;br /&gt;
&lt;a href=&#8221;&lt;?php the_author_meta( &#8216;user_url&#8217; ); ?&gt;&#8221; style=&#8221;font-size:10px; color:#0000ff;font-weight:bold;&#8221;&gt;&lt;?php the_author_meta( &#8216;user_url&#8217; ); ?&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!&#8211; End About The Author &#8211;&gt;</pre>
<p>Breaking this down into sections will help.  I&#8217;m going to ignore the formatting that I&#8217;ve included for now and focus on the code, then add the formatting.</p>
<p><strong>Getting the Authors Avatar</strong></p>
<p>Displaying a photo of the author is really quite important &#8211; it helps to connect the reader with the author.</p>
<p>To simplify things, I decided to use the Gravatar system.  Your authors will need to register an account for the email address they are using on your site at <a href="http://gravatar.com">Gravatar.com</a> and upload their image.  The benefit of this, is that image can be used across a variety of sites that already use Gravatar (like most Wordpress commenting systems do).</p>
<p>This line uses the standard Wordpress function <strong>get_the_author_meta </strong>to  retrieve the email address and then assigns that value to the variable <strong>$authoremail</strong>.</p>
<pre class="brush:php&gt;?php">&lt;?php $authoremail=get_the_author_meta(&#8216;user_email&#8217;); ?&gt; </pre>
<p>To display the author&#8217;s Gravatar on the page, we use the following line:</p>
<pre class="brush:php&gt;?php">&lt;?php echo  get_avatar($authoremail,$size=&#8217;125&#8242;,$default=&#8217;&lt;path_to_url&gt;&#8217; );  ?&gt;</pre>
<p>The <strong>get_avatar</strong> function is standard to Wordpress and allows site owners to modify the size of the displayed avatar using the $size= paramater.  In this case, I&#8217;ve set the avatar to 125px by 125px.  Note the use of the variable $authoremail &#8211; this was set in the previous line of code.</p>
<p><strong>The Author Bio</strong></p>
<p>I&#8217;ve also allowed the use of html in my author description field.  By default Wordpress strips out any html characters and leaves a plain text profile.  Whilst this isn&#8217;t desirable, it does protect your site from poorly formed code being added to the profile.  If you really want to allow for the use of html code in your user profiles (I wanted to link to other images) add the following line of code to your functions.php file in the theme.</p>
<pre class="brush:php&gt;?php">// enable html markup in user profiles
remove_filter(&#8216;pre_user_description&#8217;, &#8216;wp_filter_kses&#8217;);</pre>
<p>Now to add the users profile and link to their website&#8230;.</p>
<pre class="brush:php&gt;?php">&lt;?php echo the_author_meta( &#8216;description&#8217; ); ?&gt;</pre>
<p>This will retrieve the content of the authors description field and &#8216;echo&#8217; it to the screen.</p>
<p>To display a nicely formatted link to the Authors website:</p>
<pre class="brush:php&gt;?php">&lt;a href=&#8221;&lt;?php the_author_meta( &#8216;user_url&#8217; ); ?&gt;&#8221;  style=&#8221;font-size:10px; color:#0000ff;font-weight:bold;&#8221;&gt;&lt;?php  the_author_meta( &#8216;user_url&#8217; ); ?&gt;&lt;/a&gt;&lt;/p&gt;</pre>
<p>Using the built in function <strong>the_author_meta(&#8216;user_url&#8217;) </strong>will retrieve the website address from the authors profile.  There is no need to use the <strong>echo</strong> function, as <strong>the_author_meta </strong>will automatically echo the output to the screen.</p>
<p>The rest of the code lays the components out on my page nicely.  You&#8217;ll have to tweak your code to suit your layout.</p>
<p>To create an Author archive page, I use a similar approach.</p>
<p>Initially, I copy my page.php theme file and call it author.php.</p>
<p>At the top of my author.php page I place:</p>
<pre class="brush:php&gt;?php">&lt;?php if(isset($_GET['author_name'])) :
$curauth = get_userdatabylogin($author_name);
$authorset = 1;
else :
$curauth = get_userdata(intval($author));
endif; ?&gt;</pre>
<p>Then, just above the line:</p>
<pre class="brush:php&gt;?php"> if (have_posts()) : </pre><br />
I insert:</p>
<p><pre class="brush:php&gt;?php">
&lt;?php if (is_author()) { ?&gt;
&lt;!&#8211; About The Author &#8211;&gt;
&lt;?php $authoremail=get_the_author_meta(&#8216;user_email&#8217;); ?&gt;
&lt;div style=&#8221;width:100%; margin-top:10px; float:left; font-size: 12px;border:5px solid #EDEDED;&#8221; id=&#8221;authordiv&#8221;&gt;
&lt;div style=&#8221;width:125px; float:left; padding: 5px;&#8221;&gt;
&lt;?php echo get_avatar($authoremail,$size=&#8217;125&#8242;,$default=&#8217;&lt;path_to_url&gt;&#8217; ); ?&gt;
&lt;/div&gt;
&lt;div style=&#8221;width: 415px; float:left; padding: 5px;&#8221;&gt;&lt;p&gt;&lt;?php echo the_author_meta( &#8216;description&#8217; ); ?&gt;&lt;br /&gt;
&lt;a href=&#8221;&lt;?php the_author_meta( &#8216;user_url&#8217; ); ?&gt;&#8221; style=&#8221;font-size:10px; color:#0000ff;font-weight:bold;&#8221;&gt;&lt;?php the_author_meta( &#8216;user_url&#8217; ); ?&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!&#8211; End About The Author &#8211;&gt;
&lt;?php _e(&#8216;Posts by Authors&#8217;,kubrick); ?&gt;
&lt;?php  }?&gt;</pre>
<p>This will allow your visitors to click on the authors link in the post, and see all the articles by an author.  An example of the <a href="http://businessstartuptipsonline.com/author/admin">author profile page can be seen here</a></p>
<p><a href="http://thewordpresswarrior.com/726/creating-the-authors-profile-block">Creating the Author&#8217;s Profile Block</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thewordpresswarrior.com/726/creating-the-authors-profile-block/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSS Feeds and Wishlist Member</title>
		<link>http://thewordpresswarrior.com/715/rss-feeds-and-wishlist-member</link>
		<comments>http://thewordpresswarrior.com/715/rss-feeds-and-wishlist-member#comments</comments>
		<pubDate>Wed, 23 Jun 2010 23:27:11 +0000</pubDate>
		<dc:creator>Charly Leetham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thewordpresswarrior.com/?p=715</guid>
		<description><![CDATA[RSS is a powerful way to deliver content to your community.  However, there is a lot of concern about the security of members only content when using RSS Feeds.
One of the features of Wishlist Member is a Secure RSS Feed &#8211; but I really didn&#8217;t understand what that meant or how it protected my content&#8230;. [...]<p><a href="http://thewordpresswarrior.com/715/rss-feeds-and-wishlist-member">RSS Feeds and Wishlist Member</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></description>
			<content:encoded><![CDATA[<p>RSS is a powerful way to deliver content to your community.  However, there is a lot of concern about the security of members only content when using RSS Feeds.</p>
<p>One of the features of Wishlist Member is a Secure RSS Feed &#8211; but I really didn&#8217;t understand what that meant or how it protected my content&#8230;. so I thought I would test it.  Here&#8217;s what I found.</p>
<p>There were three scenarios I tested&#8230;<span id="more-715"></span></p>
<p><strong>1.  Member logged in </strong>- accessing the default feed of the site (i.e  http://yourdomain.com/feed)</p>
<p><strong>2. Not logged in</strong> &#8211; accessing the  default feed of this site (i.e http://yourdomain.com/feed)</p>
<p><strong>3. Not  Logged In</strong> &#8211; accessing the secure feed of the site (i.e  http://yourdomain.com/?wpmfeedkey=&lt;somereallylongstring&gt;</p>
<p>What I found was very reassuring in terms of protecting content via the RSS Feed.</p>
<p><strong>Not  Logged In, standard feed</strong></p>
<p>Access was provided to the public  content only.  No protected content was displayed at all.<br />
So if someone subscribes to the standard feed, all they will get is the content you designate as public content.</p>
<p><strong>Logged  In, standard feed</strong></p>
<p>Provides access to public and protected content (for  that level) was provided.  No downloadable content was shown in the  feed.</p>
<p>This is a minor benefit &#8211; but some of your members may try this and it&#8217;s good to know what they will see.</p>
<p><strong>Logged In, protected feed</strong></p>
<p>Access to public and  protected content (for that level). Downloadable content  was shown in the feed.</p>
<p>I recommend that you test this all for yourself before implementing it on your site and ensure that you are comfortable with what information &#8216;leaves your site&#8217; &#8230;.</p>
<p><strong>Disabling The Feed Altogether</strong></p>
<p>Still not comfortable with any content leaving your site?  Using standard Wordpress Action api you can remove the feed completely or, better yet, send people to your sales or join page.</p>
<p>Below is a function you can add to completely disable your feeds.  This function, will display the content of your chosen page in the &#8216;error message&#8217; or (if the chosen page can&#8217;t be found) a simple message directing the visit the homepage.</p>
<pre class="brush:php&gt;?php">&lt;?php
function twpw_disable_feed() {
$args=array(
&#8216;post_type&#8217;=&gt;&#8217;page&#8217;,
&#8216;post__in&#8217; =&gt; array(&#8216;158&#8242;) //change the 158 to the id of the page or the post you want to display
);
$the_query = new WP_Query($args);
if ( !$the_query-&gt;have_posts() ) {
$message = &#8216;No feed available,please visit our &lt;a href=&#8221;http://yourdomain.com&#8221;&gt;Homepage&lt;/a&gt;!&#8217;;
} else {
while ( $the_query-&gt;have_posts() ) {
$the_query-&gt;the_post();
$message = the_content();
}
}
wp_die( __($message),&#8217;Members Only&#8217; );
}
add_action(&#8216;do_feed&#8217;, &#8216;twpw_disable_feed&#8217;, 1);
add_action(&#8216;do_feed_rdf&#8217;, &#8216;twpw_disable_feed&#8217;, 1);
add_action(&#8216;do_feed_rss&#8217;, &#8216;twpw_disable_feed&#8217;, 1);
add_action(&#8216;do_feed_rss2&#8242;, &#8216;twpw_disable_feed&#8217;, 1);
add_action(&#8216;do_feed_atom&#8217;, &#8216;twpw_disable_feed&#8217;, 1);
?&gt;</pre>
<p>Add this function to your themes function.php file and change this line:</p>
<pre class="brush:php&gt;?php">&#8216;post__in&#8217; =&gt; array(&#8216;158&#8242;) //change the 158 to the id of  the page or the post you want to display</pre>
<p>Modify the &#8216;158&#8242; to be the id of the page or post you want to display in the message.</p>
<p>I&#8217;m interested to see how you modify this function to work on your site.</p>
<p><a href="http://thewordpresswarrior.com/715/rss-feeds-and-wishlist-member">RSS Feeds and Wishlist Member</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thewordpresswarrior.com/715/rss-feeds-and-wishlist-member/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom Login Box for your website</title>
		<link>http://thewordpresswarrior.com/711/custom-login-box-for-your-website</link>
		<comments>http://thewordpresswarrior.com/711/custom-login-box-for-your-website#comments</comments>
		<pubDate>Sat, 19 Jun 2010 23:58:46 +0000</pubDate>
		<dc:creator>Charly Leetham</dc:creator>
				<category><![CDATA[Wordpress Hints And Tips]]></category>
		<category><![CDATA[customize wordpress login widget]]></category>

		<guid isPermaLink="false">http://thewordpresswarrior.com/?p=711</guid>
		<description><![CDATA[Following on from yesterdays post, I decided that a custom login box would be appropriate to include on a website.
Thanks to Insite Website Design, I found something that would work nicely and I&#8217;ve extended this to include a way to easily add this to your sidebar without messing too much with the code.
The code is [...]<p><a href="http://thewordpresswarrior.com/711/custom-login-box-for-your-website">Custom Login Box for your website</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Following on from yesterdays post, I decided that a custom login box would be appropriate to include on a website.</p>
<p>Thanks to <a href="http://www.insitewebsitedesign.com/wordpress-custom-login-box">Insite Website Design</a>, I found something that would work nicely and I&#8217;ve extended this to include a way to easily add this to your sidebar without messing too much with the code.</p>
<p>The code is very &#8216;vanilla&#8217; and you can make the widget display however you want using CSS styles.</p>
<p><span id="more-711"></span></p>
<pre class="brush:php&gt;?php">&lt;!&#8211; If User Is Logged In Display This &#8211;&gt;
&lt;?php function twpwnewloginwidget() {
if (is_user_logged_in()) { ?&gt;
Welcome &lt;strong&gt;&lt;?php echo $user_identity ?&gt;&lt;/strong&gt;.
&lt;form name=&#8221;loginform&#8221; id=&#8221;loginform&#8221; action=&#8221;&lt;?php echo wp_logout_url(); ?&gt;&#8221; method=&#8221;post&#8221;&gt;
&lt;input type=&#8221;submit&#8221; name=&#8221;wp-submit&#8221; id=&#8221;wp-submit&#8221; value=&#8221;LOG OUT&#8221; /&gt;
&lt;a href=&#8221;http://www.yourdomain.com/wp-admin/&#8221;&gt;EDIT YOUR PROFILE&lt;/a&gt;
&lt;input type=&#8221;hidden&#8221; name=&#8221;redirect_to&#8221; value=&#8221;&lt;?php bloginfo(&#8216;url&#8217;); ?&gt;&#8221; /&gt;
&lt;/form&gt;
&lt;!&#8211; If User Is NOT Logged In Display This &#8211;&gt;
&lt;? } else { ?&gt;
&lt;form name=&#8221;loginform&#8221; id=&#8221;loginform&#8221; action=&#8221;&lt;?php bloginfo(&#8216;url&#8217;); ?&gt;/wp-login.php&#8221; method=&#8221;post&#8221;&gt;
&lt;label for=&#8221;log&#8221;&gt;Username&lt;/label&gt; &lt;input type=&#8221;text&#8221; name=&#8221;log&#8221; id=&#8221;user_login&#8221; value=&#8221;" size=&#8221;20&#8243; tabindex=&#8221;10&#8243; /&gt;&lt;/p&gt;
&lt;label for=&#8221;pwd&#8221;&gt;Password&lt;/label&gt; &lt;input type=&#8221;password&#8221; name=&#8221;pwd&#8221; id=&#8221;user_pass&#8221; value=&#8221;" size=&#8221;20&#8243; tabindex=&#8221;20&#8243; /&gt;&lt;/p&gt;
&lt;input type=&#8221;submit&#8221; name=&#8221;wp-submit&#8221; id=&#8221;wp-submit&#8221; value=&#8221;LOG IN&#8221; /&gt; &lt;input type=&#8221;button&#8221; value=&#8221;SIGNUP&#8221; onClick=&#8221;parent.location=&#8217;&lt;?php bloginfo(&#8216;url&#8217;); ?&gt;/wp-login.php?action=register&#8217;&#8221; /&gt;
&lt;a href=&#8221;&lt;?php bloginfo(&#8216;url&#8217;); ?&gt;/wp-login.php?action=lostpassword&#8221;&gt;Lost your password?&lt;/a&gt;
&lt;input type=&#8221;hidden&#8221; name=&#8221;redirect_to&#8221; value=&#8221;&lt;?php bloginfo(&#8216;url&#8217;); ?&gt;/members&#8221; /&gt;
&lt;input type=&#8221;hidden&#8221; name=&#8221;testcookie&#8221; value=&#8221;1&#8243; /&gt;
&lt;/form&gt;
&lt;? }
}
add_shortcode(&#8216;twpwshowloginwidget&#8217;, &#8216;twpwnewloginwidget&#8217;);
add_filter(&#8216;widget_text&#8217;, &#8216;do_shortcode&#8217;);
?&gt;</pre>
<p>Add this code to your Themes function.php file.  It will create a function called twpwnewloginwidget, and add a short code called twpwshowloginwidget.</p>
<p>By adding the line:</p>
<pre class="brush:php&gt;?php">add_filter(&#8216;widget_text&#8217;, &#8216;do_shortcode&#8217;);</pre>
<p>the shortcode will work in the widget area &#8211; so to display your new widget, add a text widget and put the code [ twpwshowloginwidget ] (remember to remove the spaces  after the [ and before the ])</p>
<p>To change where your members are sent on login, modify this line:</p>
<pre class="brush:php&gt;?php">&lt;input type=&#8221;hidden&#8221; name=&#8221;redirect_to&#8221; value=&#8221;&lt;?php  bloginfo(&#8216;url&#8217;); ?&gt;/members&#8221; /&gt;</pre>
<p>and change the /members/ to the specific page / post you choose.</p>
<p>Finally &#8211; remember to change all references to yourdomain.com to your own website url.</p>
<p>You can style your widget whichever way you want in your style sheet&#8230;. more on that later.</p>
<p><a href="http://thewordpresswarrior.com/711/custom-login-box-for-your-website">Custom Login Box for your website</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thewordpresswarrior.com/711/custom-login-box-for-your-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redirecting The Registration Page</title>
		<link>http://thewordpresswarrior.com/702/redirecting-the-registration-page</link>
		<comments>http://thewordpresswarrior.com/702/redirecting-the-registration-page#comments</comments>
		<pubDate>Sat, 19 Jun 2010 03:21:47 +0000</pubDate>
		<dc:creator>Charly Leetham</dc:creator>
				<category><![CDATA[Wordpress Hints And Tips]]></category>
		<category><![CDATA[redirect registration]]></category>
		<category><![CDATA[redirect wp-login.php?action=register]]></category>
		<category><![CDATA[Wishlist Member]]></category>
		<category><![CDATA[wordpress websites]]></category>

		<guid isPermaLink="false">http://thewordpresswarrior.com/?p=702</guid>
		<description><![CDATA[When using the Wishlist Member sidebar widget, the Register link goes to the standard Registration page for your wordpress website.
This really isn&#8217;t a great thing mainly because when someone clicks on that register link &#8211; they&#8217;re interested in becoming a member&#8230; and this is an opportunity for us to encourage our visitor to join the [...]<p><a href="http://thewordpresswarrior.com/702/redirecting-the-registration-page">Redirecting The Registration Page</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></description>
			<content:encoded><![CDATA[<p>When using the Wishlist Member sidebar widget, the Register link goes to the standard Registration page for your wordpress website.</p>
<p>This really isn&#8217;t a great thing mainly because when someone clicks on that register link &#8211; they&#8217;re interested in becoming a member&#8230; and this is an opportunity for us to encourage our visitor to join the right membership level&#8230;</p>
<p>So, I&#8217;ve conducted some investigations and created a function that will detect access to the registration page, and redirect it automatically to another page of your choice&#8230;<span id="more-702"></span></p>
<p>Kudos to Callum Macdonald for the <strong><a href="http://wordpress.org/extend/plugins/wp-block-admin/" target="_blank">WP Block Admin</a></strong> plugin that gave me the basis for this code.</p>
<p>Add the following code to functions.php in your theme:</p>
<pre class="brush:php&gt;?php">&lt;?php
function twpw_redirect_init() {
$twpw_redirect_to = &#8216;http://yourdomain.com/redirectpage/&#8217;;
// Is this the registration page?
if (
// Look for the presence of /wp-login.php?action=register in the url
stripos($_SERVER['REQUEST_URI'],&#8217;/wp-login.php?action=register&#8217;) || stripos($_SERVER['REQUEST_URI'],&#8217;/wp-login.php?registration=disabled&#8217;) !== false
) {
// Send a temporary redirect
wp_redirect($twpw_redirect_to,302);   }
}
// Add the action with maximum priority
add_action(&#8216;init&#8217;,'twpw_redirect_init&#8217;,0);
?&gt;</pre>
<p>Then change the line:</p>
<pre class="brush:php&gt;?php">$twpw_redirect_to =  &#8216;http://yourdomain.com/redirectpage&#8217;;</pre>
<p>to the page you would like to send your visitors too.</p>
<p>This code works if registrations are disabled in wp-admin as well.</p>
<p>Let me know how this goes for you &#8211; show off your efforts!</p>
<p><a href="http://thewordpresswarrior.com/702/redirecting-the-registration-page">Redirecting The Registration Page</a> is a post from: <a href="http://thewordpresswarrior.com">The Wordpress Warrior</a></p>
]]></content:encoded>
			<wfw:commentRss>http://thewordpresswarrior.com/702/redirecting-the-registration-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
