<?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>blogdelwebmaster.net &#187; Web Development</title>
	<atom:link href="http://blogdelwebmaster.net/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogdelwebmaster.net</link>
	<description></description>
	<lastBuildDate>Wed, 22 Feb 2012 17:55:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Using jQueryUI in WordPress</title>
		<link>http://blogdelwebmaster.net/using-jqueryui-in-wordpress/</link>
		<comments>http://blogdelwebmaster.net/using-jqueryui-in-wordpress/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 03:34:52 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[jQueryUI]]></category>
		<category><![CDATA[Using]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blogdelwebmaster.net/using-jqueryui-in-wordpress/</guid>
		<description><![CDATA[With the update to WordPress 3.3.x, the WordPress core now includes the entire jQueryUI suite packaged in the download. No longer do plugin and theme developers have to include their own custom builds of jQueryUI elements (hopefully they never did include custom builds of the elements, but there are quite a few plugins and themes [...]]]></description>
			<content:encoded><![CDATA[<p>With the update to WordPress 3.3.x, the WordPress core now includes the entire jQueryUI suite packaged in the download. No longer do plugin and theme developers have to include their own custom builds of jQueryUI elements (hopefully they never did include custom builds of the elements, but there are quite a few plugins and themes that did). Instead, you simply need to enqueue the existing scripts.</p>
<p>Following is a full list of the jQueryUI elements included in WordPress, along with their &#8220;handles&#8221; for use with the <code>wp_enqueue_script()</code> function.<span id="more-2292"></span></p>
<ul>
<li><strong>UI Core</strong>
<ul>
<li><a href="http://jqueryui.com/home">Core</a> &#8211; jquery-ui-core</li>
<li><a href="http://jqueryui.com/demos/widget">Widget</a> &#8211; jquery-ui-widget</li>
<li>Mouse &#8211; jquery-ui-mouse</li>
<li><a href="http://jqueryui.com/demos/position">Position</a> &#8211; jquery-ui-position</li>
</ul>
</li>
<li><strong>Interactions</strong>
<ul>
<li><a href="http://jqueryui.com/demos/draggable">Draggable</a> &#8211; jquery-ui-draggable</li>
<li><a href="http://jqueryui.com/demos/droppable">Droppable</a> &#8211; jquery-ui-droppable</li>
<li><a href="http://jqueryui.com/demos/resizable">Resizable</a> &#8211; jquery-ui-resizable</li>
<li><a href="http://jqueryui.com/demos/selectable">Selectable</a> &#8211; jquery-ui-selectable</li>
<li><a href="http://jqueryui.com/demos/sortable">Sortable</a> &#8211; jquery-ui-sortable</li>
</ul>
</li>
<li><strong>Widgets</strong>
<ul>
<li><a href="http://jqueryui.com/demos/accordion">Accordion</a> &#8211; jquery-ui-accordion</li>
<li><a href="http://jqueryui.com/demos/autocomplete">Autocomplete</a> &#8211; jquery-ui-autocomplete</li>
<li><a href="http://jqueryui.com/demos/button">Button</a> &#8211; jquery-ui-button</li>
<li><a href="http://jqueryui.com/demos/dialog">Dialog</a> &#8211; jquery-ui-dialog</li>
<li><a href="http://jqueryui.com/demos/slider">Slider</a> &#8211; jquery-ui-slider</li>
<li><a href="http://jqueryui.com/demos/tabs">Tabs</a> &#8211; jquery-ui-tabs</li>
<li><a href="http://jqueryui.com/demos/datepicker">DatePicker</a> &#8211; jquery-ui-datepicker</li>
<li><a href="http://jqueryui.com/demos/progressbar">ProgressBar</a> &#8211; jquery-ui-progressbar</li>
</ul>
</li>
<li><strong>Effects</strong>
<ul>
<li><a href="http://jqueryui.com/docs/Effects/Methods">Effects Core</a> &#8211; jquery-effects-core</li>
<li>Effects &#8220;Blind&#8221; &#8211; jquery-effects-blind</li>
<li>Effects &#8220;Bounce&#8221; &#8211; jquery-effects-bounce</li>
<li>Effects &#8220;Clip&#8221; &#8211; jquery-effects-clip</li>
<li>Effects &#8220;Drop&#8221; &#8211; jquery-effects-drop</li>
<li>Effects &#8220;Explode&#8221; &#8211; jquery-effects-explode</li>
<li>Effects &#8220;Fade&#8221; &#8211; jquery-effects-fade</li>
<li>Effects &#8220;Fold&#8221; &#8211; jquery-effects-fold</li>
<li>Effects &#8220;Highlight&#8221; &#8211; jquery-effects-highlight</li>
<li>Effects &#8220;Pulsate&#8221; &#8211; jquery-effects-pulsate</li>
<li>Effects &#8220;Scale&#8221; &#8211; jquery-effects-scale</li>
<li>Effects &#8220;Shake&#8221; &#8211; jquery-effects-shake</li>
<li>Effects &#8220;Slide&#8221; &#8211; jquery-effects-slide</li>
<li>Effects &#8220;Transfer&#8221; &#8211; jquery-effects-transfer</li>
</ul>
</li>
</ul>
<p>There is one caveat, though. As of right now, WordPress does not include any CSS for many of these jQueryUI elements. Instead, you will have to temporarily include your own. I honestly couldn&#8217;t recommend the best way to do this. It seems to me that the best way is probably to download the appropriate CSS for each element and save them as separate CSS files, then register and enqueue them as they are necessary.</p>
<p>The WordPress team is <a href="http://core.trac.wordpress.org/ticket/18909">working on putting together complete jQueryUI themes</a> for the WordPress admin area, so you probably won&#8217;t need to use your custom CSS build for long.</p>
<p>Related posts:
<ol>
<li><a href='http://www.htmlcenter.com/blog/using-googles-cdn-for-wordpress-javascript/' rel='bookmark' title='Using Google&#8217;s CDN for WordPress JavaScript'>Using Google&#8217;s CDN for WordPress JavaScript</a></li>
<li><a href='http://www.htmlcenter.com/blog/using-jquery-in-your-wordpress-plugins/' rel='bookmark' title='Using jQuery in your WordPress plugins'>Using jQuery in your WordPress plugins</a></li>
<li><a href='http://www.htmlcenter.com/blog/wordpress-adding-a-proper-visual-editor-to-your-plugin/' rel='bookmark' title='WordPress: Adding a Proper Visual Editor to Your Plugin'>WordPress: Adding a Proper Visual Editor to Your Plugin</a></li>
</ol>
<p><a rel="nofollow" href="http://www.htmlcenter.com/blog/using-jqueryui-in-wordpress/">HTMLCenter Web Development Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdelwebmaster.net/using-jqueryui-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcement: Winners of Deals2Have Giveaway</title>
		<link>http://blogdelwebmaster.net/announcement-winners-of-deals2have-giveaway/</link>
		<comments>http://blogdelwebmaster.net/announcement-winners-of-deals2have-giveaway/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 16:36:17 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[Deals2Have]]></category>
		<category><![CDATA[Giveaway]]></category>
		<category><![CDATA[Winners]]></category>

		<guid isPermaLink="false">http://blogdelwebmaster.net/announcement-winners-of-deals2have-giveaway/</guid>
		<description><![CDATA[Advertise here with BSA We recently ran an excellent giveaway of 5 free Deals from Deals2Have (a site providing great discounts on digital products for Mac enthusiasts, creative professionals and startups). This post announces the 5 lucky Six Revisions winners who&#8217;ve won. The Winners Here are the winners of the Deals2Have giveaway: Eric Carrie Cousins [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1259902&#038;k=6989dd4b5220d0b14530453de7387991&#038;a=6184&#038;c=117871659' target='_blank'><img src='http://rss.buysellads.com/img.php?z=1259902&#038;k=6989dd4b5220d0b14530453de7387991&#038;a=6184&#038;c=117871659' border='0' alt='' /></a>
<p><a href='http://buysellads.com/buy/sitedetails/pubkey/6989dd4b5220d0b14530453de7387991/zone/1259902' target='_blank'>Advertise here with BSA</a></p>
<p>
<p><a href="http://sixrevisions.com/contests/announcement-winners-of-deals2have-giveaway/"><img src="http://cdn.sixrevisions.com/0248-01_winners_deals2have_jan2012_thumbnail.jpg" width="550" height="200" alt="Announcement: Winners of Deals2Have Giveaway" /></a></p>
<p>We recently ran an excellent <a href="http://sixrevisions.com/contests/giveaway-5-free-deals-from-deals2have/">giveaway of 5 free Deals</a> from <a href="http://www.deals2have.com/index.php?suc=welcome">Deals2Have</a> (a site providing great discounts on digital products for Mac enthusiasts, creative professionals and startups). This post announces the 5 lucky Six Revisions winners who&#8217;ve won.</p>
<p><span id="more-6184"></span></p>
<h3>The Winners</h3>
<p>Here are the winners of the Deals2Have giveaway:</p>
<ul>
<li><a href="http://sixrevisions.com/contests/giveaway-5-free-deals-from-deals2have/#comment-142066">Eric</a></li>
<li><a href="http://sixrevisions.com/contests/giveaway-5-free-deals-from-deals2have/#comment-142163">Carrie Cousins</a></li>
<li><a href="http://sixrevisions.com/contests/giveaway-5-free-deals-from-deals2have/#comment-142051">Jason Morton</a></li>
<li><a href="http://sixrevisions.com/contests/giveaway-5-free-deals-from-deals2have/#comment-141961">Ron</a></li>
<li><a href="http://sixrevisions.com/contests/giveaway-5-free-deals-from-deals2have/#comment-142210">Hasitha</a></li>
</ul>
<p>Congratulations to all the winners! The winners should&#8217;ve already received information from the folks at Deals2Have on how to claim their prize via email.</p>
<p><img src="http://cdn.sixrevisions.com/0248-02_winners_deals2have_jan2012_sqlquery.png" width="550" height="327" alt="" /></p>
<h3>About Deals2Have</h3>
<p><a href="http://www.deals2have.com/index.php?suc=welcome">Deals2Have</a>, which started in summer of 2011, is a site where you can find big discounts on useful digital products.</p>
<p>For the latest deals and news, follow Deals2Have on <a href="https://twitter.com/#!/Deals2Have">Twitter</a>, join them on <a href="https://www.facebook.com/deals2have">Facebook</a> and subscribe to their <a href="http://feeds.feedburner.com/Deals2have">RSS feed</a>.</p>
<h3>Related Content</h3>
<ul>
<li><a href="http://sixrevisions.com/website-management/things-you-should-do-immediately-after-launching-a-website/">Things You Should Do Immediately After Launching a Website</a></li>
<li><a href="http://sixrevisions.com/website-management/how-to-grow-a-community-insights-from-experts/">How to Grow a Community: Insights from Experts</a></li>
<li><a href="http://sixrevisions.com/website-management/launching-blog-successfully/">Launching a Blog Successfully in 15 Days</a></li>
<li><em>Related categories</em>: <a href="http://sixrevisions.com/category/website-management/">Website Management</a> and <a href="http://sixrevisions.com/category/resources/">Resources</a></li>
</ul>
<h3>About the Author</h3>
<p class="about-author"><img src="http://images.sixrevisions.com/authors/jacob_gube_small.jpg" alt="" width="80" height="80" /><span class="author-bio-text"><strong>Jacob Gube</strong> is the Founder and Chief Editor of <strong><a href="http://sixrevisions.com/">Six Revisions</a></strong>. He&#8217;s also a web developer/designer who specializes in front-end development (JavaScript, HTML, CSS) and also a <a href="http://www.amazon.com/gp/product/1847194583?ie=UTF8&amp;tag=sixrevi-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1847194583"><strong>book author</strong></a>. If you&#8217;d like to connect with him, head on over to the <a href="http://sixrevisions.com/contact/"><strong>contact page</strong></a> and follow him on Twitter: <strong>@<a href="http://twitter.com/sixrevisions">sixrevisions</a></strong>.</span></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SixRevisions?a=zqBFzQkSucI:HwCSmQEkjr4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SixRevisions?i=zqBFzQkSucI:HwCSmQEkjr4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=zqBFzQkSucI:HwCSmQEkjr4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=zqBFzQkSucI:HwCSmQEkjr4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=zqBFzQkSucI:HwCSmQEkjr4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SixRevisions?i=zqBFzQkSucI:HwCSmQEkjr4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=zqBFzQkSucI:HwCSmQEkjr4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=7Q72WNTAKBA" border="0"></img></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/SixRevisions/~4/zqBFzQkSucI" height="1" width="1"/><br />
<a rel="nofollow" href="http://feedproxy.google.com/~r/SixRevisions/~3/zqBFzQkSucI/">Six Revisions</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdelwebmaster.net/announcement-winners-of-deals2have-giveaway/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Quick Lesson in WordPress Semantics</title>
		<link>http://blogdelwebmaster.net/a-quick-lesson-in-wordpress-semantics/</link>
		<comments>http://blogdelwebmaster.net/a-quick-lesson-in-wordpress-semantics/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 04:39:53 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Lesson]]></category>
		<category><![CDATA[Quick]]></category>
		<category><![CDATA[Semantics]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blogdelwebmaster.net/a-quick-lesson-in-wordpress-semantics/</guid>
		<description><![CDATA[As much as I love WordPress, there are quite a few elements and functions in the system that can be a bit confusing, and even ambiguous. In this article, I&#8217;m going to try to explain and unravel a few of these items. What&#8217;s the difference between the &#8220;home&#8221; page and the &#8220;front page&#8221;? To many [...]]]></description>
			<content:encoded><![CDATA[<p>As much as I love WordPress, there are quite a few elements and functions in the system that can be a bit confusing, and even ambiguous. In this article, I&#8217;m going to try to explain and unravel a few of these items.</p>
<h2>What&#8217;s the difference between the &#8220;home&#8221; page and the &#8220;front page&#8221;?</h2>
<p>To many users, the terms &#8220;home&#8221; page and &#8220;front page&#8221; might seem like the same thing. However, in WordPress, they&#8217;re treated as two different elements. The &#8220;home&#8221; page is the main page that shows blog posts. If you install WordPress and don&#8217;t change any of the settings, this will be your site&#8217;s front page. However, if you modify the &#8220;Settings -&gt; Reading -&gt; Front page displays&#8221; setting to select &#8220;A static page (see below)&#8221;, and you choose a page for the &#8220;Front page&#8221; and a page for the &#8220;Posts page&#8221;, the &#8220;home&#8221; page is no longer the first page on your site. Instead, the first page on your site is the &#8220;front page&#8221;, now.<span id="more-2287"></span></p>
<p>Therefore, when using the <code>is_front_page()</code> and <code>is_home()</code> conditional functions, you need to know what the distinction is.</p>
<p>The <code>is_front_page()</code> function returns <code>true</code> only when the visitor is viewing the static page you&#8217;ve set as your site&#8217;s front page. If you don&#8217;t have a static page set as your site&#8217;s front page, that function will never return <code>true</code>.</p>
<p>The <code>is_home()</code> function will return <code>true</code> on your site&#8217;s main blog page (the page that shows your latest blog posts).</p>
<h2>What&#8217;s a &#8220;site&#8221;, a &#8220;network&#8221; or a &#8220;blog&#8221;?</h2>
<p>Back when WordPressMU was a separate project from WordPress, the term &#8220;blog&#8221; was used to describe a single site within a WordPressMU installation and the term &#8220;site&#8221; was used to describe the collection of &#8220;blogs&#8221; (generally the entire MU installation).</p>
<p>When WordPressMU was merged into the WordPress core and became WordPress Multisite, the term &#8220;site&#8221; started to refer to single instances within a Multisite installation, and the term &#8220;network&#8221; began to refer to the collection of &#8220;sites&#8221;.</p>
<p>In the documentation and in the administration area, the terms &#8220;site&#8221; and &#8220;network&#8221; are used to describe these items, but, mostly for backwards-compatibility reasons, the terms &#8220;blog&#8221; and &#8220;site&#8221; are still used in the code itself.</p>
<p>Therefore, if you want to retrieve an option from a specific site in the installation, you use the <code>get_blog_option()</code> function; and if you want to retrieve a setting that applies to the entire network, you use the <code>get_site_option()</code> function.</p>
<p>There are a few exceptions to this one, as well, though. To figure out whether you&#8217;re viewing the administration area for the entire network, you use <code>is_network_admin()</code>. To add an admin notice that displays only in the network administration area, you hook into the <code>network_admin_notices</code> action. To add a new menu or submenu in the network administration area, you hook into the <code>network_admin_menu</code> action.</p>
<h2>Is You Is, or Is You Ain&#8217;t My Baby?</h2>
<p>A fairly consistent naming convention in WordPress applies to the conditional functions that report which page is currently being viewed. Most of these functions start with &#8220;is_&#8221;, followed by the type of page for which you&#8217;re testing. If you want to know if you&#8217;re currently viewing an archive page, you use is_archive(); if you want to know if you&#8217;re viewing a page, you use is_page(); etc.</p>
<p>There is one notable gotcha in WordPress Multisite, though. The function <code>is_super_admin()</code> isn&#8217;t a conditional tag used to test which page is being viewed; instead it tells you whether or not the user with the ID you supply is a Super Admin user.</p>
<h2>Template Function Naming Convention</h2>
<p>For the most part, there are two different versions of each template function in WordPress. One of those functions will normally start with &#8220;the_&#8221; while the other will start with &#8220;get_the_&#8221;. The &#8220;the&#8221; function will output (echo) the information into the page directly where you call it, while the &#8220;get&#8221; function will return the information so you can store it in a variable.</p>
<p>Some examples include:</p>
<ul>
<li><code>the_content()</code> &amp; <code>get_the_content()</code></li>
<li><code>the_title()</code> &amp; <code>get_the_title()</code></li>
<li><code>the_post_thumbnail()</code> &amp; <code>get_the_post_thumbnail()</code></li>
<li><code>the_excerpt()</code> &amp; <code>get_the_excerpt()</code></li>
<li><code>the_category()</code> &amp; <code>get_the_category()</code></li>
<li><code>the_tags()</code> &amp; <code>get_the_tags()</code></li>
<li><code>the_date()</code> &amp; <code>get_the_date()</code></li>
<li><code>the_time()</code> &amp; <code>get_the_time()</code></li>
</ul>
<p>There are a few exceptions where things differ slightly from this convention, though. For instance, if you want to echo the URL to a page/post, you would use <code>the_permalink()</code>; but if you just want to retrieve it, you use <code>get_permalink()</code> instead of <code>get_the_permalink()</code>.</p>
<p>If you want to retrieve information about the site, or you want to retrieve various URLs related to the site, most of those functions don&#8217;t include the word &#8220;the&#8221; in them. The retrieval functions still start with &#8220;get_&#8221;, though. For instance, you would use <code>get_bloginfo()</code> to retrieve information about the site, but you just use <code>bloginfo()</code> to echo it.</p>
<h2>Templates, Themes and Stylesheets</h2>
<p>In WordPress, the word &#8220;theme&#8221; generally refers to any package of files that governs the appearance of the site.</p>
<p>The word &#8220;template&#8221; is a little more ambiguous. In most of the documentation and in the administration area, the word &#8220;template&#8221; refers to a specific file that you can apply to specific pages.</p>
<p>The term &#8220;stylesheet&#8221; in WordPress refers to the location of the chosen theme, while the term &#8220;template&#8221; can refer to the chosen theme (in the case of an independent theme), or it can refer to the parent theme on which the chosen theme depends.</p>
<p>If you are using a child theme, using bloginfo( &#8216;stylesheet_directory&#8217; ) will echo the URL to the directory in which your child theme resides, while bloginfo( &#8216;template_directory&#8217; ) will echo the URL to the directory in which the parent theme resides. If you&#8217;re using an independent theme, both calls will echo the same URL.</p>
<p>To make things even more fun, you can define the <code>WP_DEFAULT_THEME</code> constant, but it can only be used to set independent or parent themes as your default active theme. If you try to set a child theme as your default, you&#8217;ll end up with some PHP errors and warnings.</p>
<h2>Paths, Directories and URLs</h2>
<p>As if the template/themes/stylesheets thing wasn&#8217;t confusing enough; this is where it starts to get really confusing. For the most part, the word &#8220;path&#8221; describes the absolute system path to something, directory refers to the URL to the base directory in which a file resides and url refers to the actual URL to a file.</p>
<p>However, there are a lot of exceptions in WordPress to this nomenclature. In the <code>bloginfo()</code> and <code>get_bloginfo()</code> functions, <code>template_url</code> and <code>template_directory</code> both return exactly the same information (the URL to the base directory for the chosen theme).</p>
<p>Some constants, such as <code>WP_CONTENT_DIR</code>, <code>WP_PLUGIN_DIR</code>, <code>WPMU_PLUGIN_DIR</code>, etc., refer to an absolute system path; while others that use &#8220;dir&#8221;, such as <code>PLUGINDIR</code> and <code>MUPLUGINDIR</code> (both left in the code strictly for backwards-compatibility) refer to relative paths.</p>
<p>Then, there are constants that include the word &#8220;path&#8221; that refer to absolute paths (as you&#8217;d expect), such as TEMPLATEPATH (which actually refers to a &#8220;theme&#8221; rather than a &#8220;template&#8221;) and STYLESHEETPATH; but the related functions that are actually used to populate those constants use the word &#8220;directory&#8221; (<code>get_template_directory()</code> and <code>get_stylesheet_directory()</code>).</p>
<p>Related posts:
<ol>
<li><a href='http://www.htmlcenter.com/blog/wordpress-security-change-your-theme-name/' rel='bookmark' title='WordPress Security Tip &#8211; Change Your Theme Name'>WordPress Security Tip &#8211; Change Your Theme Name</a></li>
<li><a href='http://www.htmlcenter.com/blog/using-javascript-in-wordpress-themes/' rel='bookmark' title='Using Javascript in WordPress Themes'>Using Javascript in WordPress Themes</a></li>
<li><a href='http://www.htmlcenter.com/blog/get-information-about-top-level-pages-in-wordpress/' rel='bookmark' title='Get Information About Top-Level Pages in WordPress'>Get Information About Top-Level Pages in WordPress</a></li>
</ol>
<p><a rel="nofollow" href="http://www.htmlcenter.com/blog/a-quick-lesson-in-wordpress-semantics/">HTMLCenter Web Development Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdelwebmaster.net/a-quick-lesson-in-wordpress-semantics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zeus and WordPress Part 3: SSL Issues</title>
		<link>http://blogdelwebmaster.net/zeus-and-wordpress-part-3-ssl-issues/</link>
		<comments>http://blogdelwebmaster.net/zeus-and-wordpress-part-3-ssl-issues/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 05:46:12 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Issues]]></category>
		<category><![CDATA[Part]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Zeus]]></category>

		<guid isPermaLink="false">http://blogdelwebmaster.net/zeus-and-wordpress-part-3-ssl-issues/</guid>
		<description><![CDATA[While working to get WordPress functioning properly on a Zeus Web server, one of the issues I came across was the fact that I couldn&#8217;t seem to get any SSL functions working properly. I tried 2 or 3 different plugins, and all of them started causing infinite redirect loops as soon as they were activated. [...]]]></description>
			<content:encoded><![CDATA[<p>While working to get WordPress functioning properly on a Zeus Web server, one of the issues I came across was the fact that I couldn&#8217;t seem to get any SSL functions working properly. I tried 2 or 3 different plugins, and all of them started causing infinite redirect loops as soon as they were activated.</p>
<p>Eventually, after quite a bit of investigating and testing, I found the cause of the issue: that particular server (and, presumably, all Zeus servers) doesn&#8217;t use any of the same indicators that SSL is being used that apache does. On apache servers, PHP usually has a handful of indicators that SSL is currently being used to serve the page. For instance, there&#8217;s a server global variable called &#8220;HTTPS&#8221; that gets set to &#8220;on&#8221; for many PHP configurations; SSL is generally served over port 443 instead of port 80; etc.<span id="more-2283"></span></p>
<p>The WordPress HTTPS plugin runs four different checks to see if SSL is running, but all of them fail on Zeus. Following is the check that WordPress HTTPS runs:</p>
<pre style="width: 96%; margin: 1%; padding: 1%; overflow-x: auto;">public function is_ssl() {
    $https_url = parse_url($this-&gt;https_url);
    // Some extra checks for proxies and Shared SSL
    if ( is_ssl() &amp;&amp; strpos($_SERVER['HTTP_HOST'], $https_url['host']) === false &amp;&amp; $_SERVER['SERVER_ADDR'] != $_SERVER['HTTP_HOST'] ) {
        return false;
    } else if ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) &amp;&amp; strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']) == 'https' ) {
        return true;
    } else if ( $this-&gt;diff_host &amp;&amp; !is_ssl() &amp;&amp; isset($_SERVER['HTTP_X_FORWARDED_SERVER']) &amp;&amp; strpos($this-&gt;https_url, 'https://' . $_SERVER['HTTP_X_FORWARDED_SERVER']) !== false ) {
        return true;
    } else if ( $this-&gt;diff_host &amp;&amp; !is_ssl() &amp;&amp; strpos($_SERVER['HTTP_HOST'], $https_url['host']) !== false &amp;&amp; (!$this-&gt;ssl_port || $_SERVER['SERVER_PORT'] == $this-&gt;ssl_port) &amp;&amp; (isset($https_url['path']) &amp;&amp; !$https_url['path'] || strpos($_SERVER['REQUEST_URI'], $https_url['path']) !== false) ) {
        return true;
    }
    return is_ssl();
}</pre>
<p>Like I said, at least on the Zeus server I was dealing with, all four of those checks failed, so it kept reporting that the page wasn&#8217;t running over SSL, so it caused an infinite redirect loop.</p>
<p>After a while, I did find a variable (actually, 3 of them) that, while it doesn&#8217;t seem to have any consistent value, always seems to be set when running SSL, and never seems to exist when running without SSL. That variable is the $_SERVER['HTTP_SSLCLIENTCERTSTATUS'] variable. Checking for the existence of that variable seems to consistently report whether or not SSL is running for the page.</p>
<p>For my purposes, I ended up editing a plugin called WPSSL (simply because it was simpler than making sure I&#8217;d edited all of the correct places within WordPress HTTPS) to check the existence of that variable.</p>
<p>Have you come across this same issue on a Zeus server? Is this common, or is this an issue unique to the particular host that&#8217;s being used for this project?</p>
<p>Related posts:
<ol>
<li><a href='http://www.htmlcenter.com/blog/zeus-and-wordpress-part-2/' rel='bookmark' title='Zeus and WordPress Part 2: Fixing Query Strings'>Zeus and WordPress Part 2: Fixing Query Strings</a></li>
<li><a href='http://www.htmlcenter.com/blog/wordpress-and-zeus-part-1-getting-permalinks-working/' rel='bookmark' title='WordPress and Zeus Part 1: Getting Permalinks Working'>WordPress and Zeus Part 1: Getting Permalinks Working</a></li>
<li><a href='http://www.htmlcenter.com/blog/php-framework-mvc/' rel='bookmark' title='Programming your own PHP framework Part 2 &#8211; MVC'>Programming your own PHP framework Part 2 &#8211; MVC</a></li>
</ol>
<p><a rel="nofollow" href="http://www.htmlcenter.com/blog/zeus-and-wordpress-part-3/">HTMLCenter Web Development Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdelwebmaster.net/zeus-and-wordpress-part-3-ssl-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zeus and WordPress Part 2: Fixing Query Strings</title>
		<link>http://blogdelwebmaster.net/zeus-and-wordpress-part-2-fixing-query-strings/</link>
		<comments>http://blogdelwebmaster.net/zeus-and-wordpress-part-2-fixing-query-strings/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 06:41:10 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Fixing]]></category>
		<category><![CDATA[Part]]></category>
		<category><![CDATA[Query]]></category>
		<category><![CDATA[Strings]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Zeus]]></category>

		<guid isPermaLink="false">http://blogdelwebmaster.net/zeus-and-wordpress-part-2-fixing-query-strings/</guid>
		<description><![CDATA[If you&#8217;re trying to get WordPress working on a Zeus Web server, and you&#8217;ve gotten as far as using a good rewrite script to make permalinks work properly, you might have noticed that query strings don&#8217;t work at the ends of your permalinks. At first, it seemed like this wouldn&#8217;t be too big of an [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re trying to get WordPress working on a Zeus Web server, and you&#8217;ve gotten as far as using a good rewrite script to make permalinks work properly, you might have noticed that query strings don&#8217;t work at the ends of your permalinks. At first, it seemed like this wouldn&#8217;t be too big of an issue; it just meant that users wouldn&#8217;t be able to preview posts/pages, and there would be one or two other issues they&#8217;d have to live with. However, after using the site that way for a little while, we started coming across more and more issues that this caused, and it finally reached a tipping point.</p>
<p>To solve the issue, I wrote a simple function that runs any time a 404 error occurs on the site. Essentially, it parses the path of the requested page, cuts off the query string temporarily, and then searches the database for a post or page that has the slug at the end of the path.</p>
<p>You may be wondering why I didn&#8217;t just parse the request/get variables sent with the page. The problem is, those were empty in each of the cases I tested.<span id="more-2279"></span></p>
<p>Anyway, following is the function I ended up writing.</p>
<pre style="width: 96%; margin: 1%; padding: 1%; overflow-x: auto;">function zeus_reply_fix() {
	if ( ! isset( $_SERVER['PATH_INFO'] ) ) {
		return;
	}
	if ( ! is_404() ) {
		return;
	}

	$path = $_SERVER['PATH_INFO'];
	$parts = explode( '/', $path );
	$qs = array_pop( $parts );
	$parsed = array();
	if ( strstr( $qs, '&amp;' ) || strstr( $qs, '?' ) ) {
		parse_str( $qs, $parsed );
	} else {
		return;
	}
	if ( is_array( $parsed ) ) {
		global $wpdb, $post, $wp_query;
		$post_ID = $wpdb-&gt;get_var( $wpdb-&gt;prepare( "SELECT ID FROM {$wpdb-&gt;posts} WHERE post_name=%s", array_pop( $parts ) ) );

		if ( empty( $post_ID ) ) {
			return;
		}

		$wp_query = new WP_Query( array( 'page_id' =&gt; $post_ID ) );
		$wp_query-&gt;is_404 = false;
		foreach ( $parsed as $k=&gt;$v ) {
			if ( ! empty( $k ) &amp;&amp; ! empty( $v ) )
				set_query_var( $k, $v );
		}

		$_GET = $_GET + $parsed;

		$use_template = 'index.php';
		$post = $wp_query-&gt;get_queried_object();

		load_template( trailingslashit( get_template_directory() ) . $use_template );
		die();
	}
}
add_action( 'wp', 'zeus_reply_fix', 99 );</pre>
<p>Have you found a better way of dealing with this issue? Do you see anything that could be done better? I&#8217;d love to see other solutions to this particular problem with Zeus &amp; WordPress.</p>
<p>Related posts:
<ol>
<li><a href='http://www.htmlcenter.com/blog/wordpress-and-zeus-part-1-getting-permalinks-working/' rel='bookmark' title='WordPress and Zeus Part 1: Getting Permalinks Working'>WordPress and Zeus Part 1: Getting Permalinks Working</a></li>
<li><a href='http://www.htmlcenter.com/blog/wordpress-multi-site-get-a-featured-image-from-another-blog/' rel='bookmark' title='WordPress Multi-Site: Get Featured Image from Another Blog'>WordPress Multi-Site: Get Featured Image from Another Blog</a></li>
<li><a href='http://www.htmlcenter.com/blog/order-wordpress-pages-by-multiple-fields/' rel='bookmark' title='Order WordPress Pages By Multiple Fields'>Order WordPress Pages By Multiple Fields</a></li>
</ol>
<p><a rel="nofollow" href="http://www.htmlcenter.com/blog/zeus-and-wordpress-part-2/">HTMLCenter Web Development Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdelwebmaster.net/zeus-and-wordpress-part-2-fixing-query-strings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Giveaway: 100 Custom Flyers from Next Day Flyers</title>
		<link>http://blogdelwebmaster.net/giveaway-100-custom-flyers-from-next-day-flyers/</link>
		<comments>http://blogdelwebmaster.net/giveaway-100-custom-flyers-from-next-day-flyers/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 19:19:13 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Custom]]></category>
		<category><![CDATA[Flyers]]></category>
		<category><![CDATA[From]]></category>
		<category><![CDATA[Giveaway]]></category>
		<category><![CDATA[Next]]></category>

		<guid isPermaLink="false">http://blogdelwebmaster.net/giveaway-100-custom-flyers-from-next-day-flyers/</guid>
		<description><![CDATA[Advertise here with BSA We&#8217;ve partnered up again with our wonderful friends at Next Day Flyers to give away two sets of 1/4-page flyers with free shipping anywhere in the Continental U.S. Each set contains 100 flyers. Flyer printing can be used and customized for a variety of purposes including promoting a club event, marketing [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1259902&#038;k=6989dd4b5220d0b14530453de7387991&#038;a=6188&#038;c=1781794879' target='_blank'><img src='http://rss.buysellads.com/img.php?z=1259902&#038;k=6989dd4b5220d0b14530453de7387991&#038;a=6188&#038;c=1781794879' border='0' alt='' /></a>
<p><a href='http://buysellads.com/buy/sitedetails/pubkey/6989dd4b5220d0b14530453de7387991/zone/1259902' target='_blank'>Advertise here with BSA</a></p>
<p>
<p><a target="_blank" title="Click here to open Next Day Flyers - Club Flyers page in a new browser tab/browser window." href="http://www.nextdayflyers.com/club-flyers/"><img src="http://cdn.sixrevisions.com/0247-01_giveaway_nextdayflyers_jan2012_thumbnail.jpg" width="550" height="200" alt="Click here to open Next Day Flyers - Club Flyers page in a new browser tab/browser window." /></a></p>
<p>We&#8217;ve partnered up again with our wonderful friends at Next Day Flyers to give away two sets of 1/4-page flyers with free shipping anywhere in the Continental U.S. Each set contains 100 flyers. <a href="http://www.nextdayflyers.com/club-flyers/">Flyer printing</a> can be used and customized for a variety of purposes including promoting a club event, marketing a small business and sending out announcements. Read on to see how you can win!</p>
<p><span id="more-6188"></span></p>
<h3>About Next Day Flyers</h3>
<p><a href="http://www.nextdayflyers.com/">Next Day Flyers</a> is an offset printing company offering an array of printed materials such as flyers, business cards, postcards, brochures, tickets and more.</p>
<p>They&#8217;re not newcomers to the industry. They&#8217;ve been in business for 13 years and have over 100,000 satisfied customers.</p>
<p>And with longevity comes experience. They know what their customers are seeking and how to meet the high expectations.</p>
<p>Quality is of utmost importance as Next Day Flyers utilizes a <a href="http://www.nextdayflyers.com/printing/index.php?fuseaction=116">quality checkpoint system</a> which includes 33 steps to ensure the files are printed correctly and ready on time.</p>
<p><a href="http://www.nextdayflyers.com/printing/index.php?fuseaction=116"><img src="http://cdn.sixrevisions.com/0247-02_giveaway_nextdayflyers_jan2012_qualitycheckpoint.jpg" width="550" height="581" /></a></p>
<p>And speaking of time, this is a strong point of Next Day Flyers. As the name suggests, they offer next day turnaround time, but as customers asked for a same-day print option, that was added too. So files in by 10:00 AM PST can be printed the same day, while files in by 6:00 PM PST can be printed and ready to pick up or ship the next day.</p>
<p>The Next Day Flyers online ordering system allows for easy file uploads of print ready files. They have file prep guides and <a href="http://www.nextdayflyers.com/prepare-your-files/index.php?fuseaction=53">templates</a> available to make sure the bleeds, size, color are set to print correctly.</p>
<h3>How to Win</h3>
<p>To win, simply answer the following question:</p>
<ul>
<li><strong><em>How can these flyers help you and/or your business?</em></strong><em></em></li>
</ul>
<h4>Giveaway Details</h4>
<p>This giveaway ends on <strong>Monday, January 30, 2012</strong> after which the comments section on this post will be closed and you will no longer be able to leave a comment. <strong>Shipping outside of the continental U.S. will incur extra costs.</strong> Please leave a valid email address when filling out the comment form so that we can contact you if you have won. Please only comment once. The winners will be randomly selected using a similar method as previous Six Revisions giveaways. The winners will be announced on a separate post. You are advised to <a href="http://feeds2.feedburner.com/SixRevisions">subscribe to our RSS feed</a> so that you can be quickly notified when the winners announcement post has been published. Please note that comments are moderated and so your comment may not show up right away. Please note that comments that do not follow the instructions on how to win (described above) may not be published, or may be removed later on.</p>
<h3>Related Content</h3>
<ul>
<li><a href="http://sixrevisions.com/tutorials/photoshop-tutorials/create-a-slick-business-card-design-with-stunning-typography/">Create a Slick Business Card Design with Stunning Typography</a></li>
<li><a href="http://sixrevisions.com/graphics-design/15-excellent-logo-design-tutorials-using-illustrator/">15 Excellent Logo Design Tutorials Using Illustrator</a></li>
<li><a href="http://sixrevisions.com/graphics-design/20-useful-websites-for-graphic-design-textures-and-patterns/">20 Useful Websites for Graphic Design Textures and Patterns</a></li>
<li><em>Related categories</em>: <a href="http://sixrevisions.com/category/graphics-design/">Graphic Design</a> and <a href="http://sixrevisions.com/category/resources/">Resources</a></li>
</ul>
<h3>About the Author</h3>
<p class="about-author"><img src="http://images.sixrevisions.com/authors/jacob_gube_small.jpg" alt="" width="80" height="80" /><span class="author-bio-text"><strong>Jacob Gube</strong> is the Founder and Chief Editor of <strong><a href="http://sixrevisions.com/">Six Revisions</a></strong>. He&#8217;s also a web developer/designer who specializes in front-end development (JavaScript, HTML, CSS) and also a <a href="http://www.amazon.com/gp/product/1847194583?ie=UTF8&amp;tag=sixrevi-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1847194583"><strong>book author</strong></a>. If you&#8217;d like to connect with him, head on over to the <a href="http://sixrevisions.com/contact/"><strong>contact page</strong></a> and follow him on Twitter: <strong>@<a href="http://twitter.com/sixrevisions">sixrevisions</a></strong>.</span></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SixRevisions?a=-HbWS-jMwFI:3eNeI_s1FkQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SixRevisions?i=-HbWS-jMwFI:3eNeI_s1FkQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=-HbWS-jMwFI:3eNeI_s1FkQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=-HbWS-jMwFI:3eNeI_s1FkQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=-HbWS-jMwFI:3eNeI_s1FkQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SixRevisions?i=-HbWS-jMwFI:3eNeI_s1FkQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=-HbWS-jMwFI:3eNeI_s1FkQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=7Q72WNTAKBA" border="0"></img></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/SixRevisions/~4/-HbWS-jMwFI" height="1" width="1"/><br />
<a rel="nofollow" href="http://feedproxy.google.com/~r/SixRevisions/~3/-HbWS-jMwFI/">Six Revisions</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdelwebmaster.net/giveaway-100-custom-flyers-from-next-day-flyers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress and Zeus Part 1: Getting Permalinks Working</title>
		<link>http://blogdelwebmaster.net/wordpress-and-zeus-part-1-getting-permalinks-working/</link>
		<comments>http://blogdelwebmaster.net/wordpress-and-zeus-part-1-getting-permalinks-working/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 07:38:25 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Getting]]></category>
		<category><![CDATA[Part]]></category>
		<category><![CDATA[Permalinks]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Working]]></category>
		<category><![CDATA[Zeus]]></category>

		<guid isPermaLink="false">http://blogdelwebmaster.net/wordpress-and-zeus-part-1-getting-permalinks-working/</guid>
		<description><![CDATA[For those of you that might not know (and I was one of you about a month ago), Zeus is a Web server package that&#8217;s used instead of apache by some Web hosts. If you&#8217;re planning to use WordPress, and you have a choice between apache and Zeus, I would definitely recommend choosing apache. However, [...]]]></description>
			<content:encoded><![CDATA[<p>For those of you that might not know (and I was one of you about a month ago), <a href="http://en.wikipedia.org/wiki/Zeus_Web_Server">Zeus is a Web server package</a> that&#8217;s used instead of apache by some Web hosts. If you&#8217;re planning to use WordPress, and you have a choice between apache and Zeus, I would definitely recommend choosing apache. However, sometimes you don&#8217;t have a choice in the matter; and you have to do what you can to make things work.</p>
<p>WordPress will work out of the box with Zeus, but a lot of things won&#8217;t behave the way you might expect. One of those things is the permalink structure.</p>
<p>Instead of getting nice, clean URLs like &#8220;http://example.com/blog/2012/01/my-first-blog-post/&#8221;, you get &#8220;index.php&#8221; shoved in there (like &#8220;http://example.com/index.php/blog/2012/01/my-first-blog-post/&#8221;). You can correct this issue, but it&#8217;s not quite as simple as updating an .htaccess file (in fact, without some jiggery-pokery by your Web host, Zeus doesn&#8217;t support .htaccess at all). Instead, you have to apply a rewrite script to your server configuration.</p>
<p>After quite a bit of searching and trial &amp; error, I finally found a working rewrite script configuration for WordPress. A hosting company called <a href="http://support.ziphosting.com.au/index.php?_m=knowledgebase&amp;_a=viewarticle&amp;kbarticleid=205">ZipHosting posted the scripts below in their knowledgebase</a>. The first script is set up for you to use if WordPress is hosted in a subdirectory, and the second is for use with WordPress in the root directory.<span id="more-2275"></span></p>
<h2>WordPress in a Subdirectory</h2>
<pre style="width: 96%; margin: 1%; padding: 1%; overflow-x: auto;">RULE_0_START:
    # Get the document root path and put value into the SCRATCH array.
    # This is the server path not the web URL.
    # i.e. /clientdata/clients/p/h/php.testing.au.com/www/

map path into SCRATCH:DOCROOT from /

    # Get the URL without the domain.
    # e.g. /test&amp;colour=red
    # e.g. /an-example-post/?color=red

 set SCRATCH:ORIG_URL = %{URL}
 set SCRATCH:REQUEST_URI = %{URL}

    # See if there are any queries in our URL.

 match URL into $ with ^(.*)\?(.*)$

    # If there are...

 if matched then
    # Set a var to path without the domain part.
    # e.g. /an-example-post

     set SCRATCH:REQUEST_URI = 

    # Set a var to the passed queries.
    # e.g. colour=red

     set SCRATCH:QUERY_STRING =
 endif
 RULE_0_END:

RULE_1_START:
    # This is setting a var to the server path and sub folders.
    # e.g. /clientdata/clients/p/h/php.testing.au.com/www/wordpress/an-example-post/

 set SCRATCH:REQUEST_FILENAME = %{SCRATCH:DOCROOT}
 set SCRATCH:REQUEST_FILENAME . %{SCRATCH:REQUEST_URI}

    # Check to see if the file exists.

 look for file at %{SCRATCH:REQUEST_FILENAME}
 if not exists then

    # The file wasn't found so is it a folder?

     look for dir at %{SCRATCH:REQUEST_FILENAME}
     if not exists then

    # No folder either. So now check the URL for special hosting folders.

         match SCRATCH:ORIG_URL into % with ^/stats|^/logs
         if matched then

    # If a special folder was requested end the script.

             goto END
         else

    # There were no files, folders or special folders so set the new URL.
    # -- Sub directory -------------------------------------------------------------
    # If the blog is in a sub directory...replace the words in bold  with your directory name.
    # e.g. /wordpress/index.php/an-example-post

             match SCRATCH:REQUEST_URI into $ with ^/wordpress(.*)
             if matched then
                 set URL = /wordpress/index.php
             endif

    # -- Sub directory ends --------------------------------------------------------
    # or...
    # -- Top level -----------------------------------------------------------------
    # If the blog is in the top level of the site...
    # e.g. /index.php/an-example-post
    # set URL = /index.php%{SCRATCH:REQUEST_URI}
    # -- Top level ends ------------------------------------------------------------
    # Go to the next rule.

             goto RULE_2_START
         endif
     endif
 endif

    # If files or folders were found end the rewrite script.

 goto END
 RULE_1_END:

RULE_2_START:

    # Check for queries in the requested URL.

 match SCRATCH:ORIG_URL into % with \?(.*)$
 if matched then

    # If queries were found add them to the new URL.
    # e.g. /index.php/an-example-post/&amp;colour=red

     set URL = %{URL}&amp;%{SCRATCH:QUERY_STRING}

 endif

    # -- Sub directory -------------------------------------------------------------
    # If you only want to rewrite the sub directory uncomment this bit.
      match SCRATCH:ORIG_URL into % with ^/wordpress
 if matched then
    # -- Sub directory ends --------------------------------------------------------

    # End the script.

     goto END

    # -- Sub directory -------------------------------------------------------------
 endif
    # -- Sub directory ends --------------------------------------------------------
 RULE_2_END:</pre>
<h2>WordPress Installed in the Root Directory</h2>
<pre style="width: 96%; margin: 1%; padding: 1%; overflow-x: auto;">RULE_0_START:
    # Get the document root path and put value into the SCRATCH array.
    # This is the server path not the web URL.
    # i.e. /clientdata/clients/p/h/php.testing.au.com/www/

map path into SCRATCH:DOCROOT from /

    # Get the URL without the domain.
    # e.g. /test&amp;colour=red
    # e.g. /an-example-post/?color=red

 set SCRATCH:ORIG_URL = %{URL}
 set SCRATCH:REQUEST_URI = %{URL}

    # See if there are any queries in our URL.

 match URL into $ with ^(.*)\?(.*)$

    # If there are...

 if matched then
    # Set a var to path without the domain part.
    # e.g. /an-example-post

     set SCRATCH:REQUEST_URI = 

    # Set a var to the passed queries.
    # e.g. colour=red

     set SCRATCH:QUERY_STRING =
 endif
 RULE_0_END:

RULE_1_START:
    # This is setting a var to the server path and sub folders.
    # e.g. /clientdata/clients/p/h/php.testing.au.com/www/wordpress/an-example-post/

 set SCRATCH:REQUEST_FILENAME = %{SCRATCH:DOCROOT}
 set SCRATCH:REQUEST_FILENAME . %{SCRATCH:REQUEST_URI}

    # Check to see if the file exists.

 look for file at %{SCRATCH:REQUEST_FILENAME}
 if not exists then

    # The file wasn't found so is it a folder?

     look for dir at %{SCRATCH:REQUEST_FILENAME}
     if not exists then

    # No folder either. So now check the URL for special hosting folders.

         match SCRATCH:ORIG_URL into % with ^/stats|^/logs
         if matched then

    # If a special folder was requested end the script.

             goto END
         else

    # There were no files, folders or special folders so set the new URL.
    # -- Sub directory -------------------------------------------------------------
    # If the blog is in a sub directory...replace the words in bold  with your directory name.
    # e.g. /wordpress/index.php/an-example-post

    # match SCRATCH:REQUEST_URI into $ with ^/wordpress(.*)
    # if matched then
    #     set URL = /wordpress/index.php
    # endif

    # -- Sub directory ends --------------------------------------------------------
    # or...
    # -- Top level -----------------------------------------------------------------
    # If the blog is in the top level of the site...
    # e.g. /index.php/an-example-post
     set URL = /index.php%{SCRATCH:REQUEST_URI}
    # -- Top level ends ------------------------------------------------------------
    # Go to the next rule.

             goto RULE_2_START
         endif
     endif
 endif

    # If files or folders were found end the rewrite script.

 goto END
 RULE_1_END:

RULE_2_START:

    # Check for queries in the requested URL.

 match SCRATCH:ORIG_URL into % with \?(.*)$
 if matched then

    # If queries were found add them to the new URL.
    # e.g. /index.php/an-example-post/&amp;colour=red

     set URL = %{URL}&amp;%{SCRATCH:QUERY_STRING}

 endif

    # -- Sub directory -------------------------------------------------------------
     # If you only want to rewrite the sub directory uncomment this bit.
    # match SCRATCH:ORIG_URL into % with ^/wordpress
 if matched then
    # -- Sub directory ends --------------------------------------------------------

    # End the script.

     goto END

    # -- Sub directory -------------------------------------------------------------
 endif
    # -- Sub directory ends --------------------------------------------------------
 RULE_2_END:</pre>
<p>Unfortunately, that won&#8217;t solve all of your permalink issues, but it will get you started. One serious issue you might encounter is the fact that query strings aren&#8217;t recognized at the end of your permalinks; instead, WordPress shows a 404 error page whenever a query string is attached. In my next article, I&#8217;ll explain how I fixed that issue.</p>
<p>Related posts:
<ol>
<li><a href='http://www.htmlcenter.com/blog/wordpress-creating-custom-permalinks-for-plug-ins/' rel='bookmark' title='WordPress: Creating Custom Permalinks for Plug-Ins'>WordPress: Creating Custom Permalinks for Plug-Ins</a></li>
<li><a href='http://www.htmlcenter.com/blog/installing-wordpress-through-ssh/' rel='bookmark' title='Installing WordPress Through SSH'>Installing WordPress Through SSH</a></li>
<li><a href='http://www.htmlcenter.com/blog/my-first-official-wordpress-plugin/' rel='bookmark' title='My First Official WordPress Plugin'>My First Official WordPress Plugin</a></li>
</ol>
<p><a rel="nofollow" href="http://www.htmlcenter.com/blog/wordpress-and-zeus-part-1-getting-permalinks-working/">HTMLCenter Web Development Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdelwebmaster.net/wordpress-and-zeus-part-1-getting-permalinks-working/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Giveaway: 10 Subscriptions to Mindomo (Mind-Mapping App)</title>
		<link>http://blogdelwebmaster.net/giveaway-10-subscriptions-to-mindomo-mind-mapping-app/</link>
		<comments>http://blogdelwebmaster.net/giveaway-10-subscriptions-to-mindomo-mind-mapping-app/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 19:40:35 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Giveaway]]></category>
		<category><![CDATA[MindMapping]]></category>
		<category><![CDATA[Mindomo]]></category>
		<category><![CDATA[Subscriptions]]></category>

		<guid isPermaLink="false">http://blogdelwebmaster.net/giveaway-10-subscriptions-to-mindomo-mind-mapping-app/</guid>
		<description><![CDATA[Advertise here with BSA Mindomo, a mind mapping application for brainstorming,  has teamed up with us to give out 10 Premium Account subscriptions for one year (worth each). Read on to see how you can win this awesome prize. About Mindomo Mindomo is a simple mind mapping application, which can be used individually or in [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1259902&#038;k=6989dd4b5220d0b14530453de7387991&#038;a=6176&#038;c=1282431673' target='_blank'><img src='http://rss.buysellads.com/img.php?z=1259902&#038;k=6989dd4b5220d0b14530453de7387991&#038;a=6176&#038;c=1282431673' border='0' alt='' /></a>
<p><a href='http://buysellads.com/buy/sitedetails/pubkey/6989dd4b5220d0b14530453de7387991/zone/1259902' target='_blank'>Advertise here with BSA</a></p>
<p>
<p><a target="_blank" title="Click here to open Mindomo home page in a new browser window/tab." href="http://www.mindomo.com/"><img src="http://cdn.sixrevisions.com/0246-01_giveaway_mindmodo_jan2012_thumbnail.jpg" width="550" height="200" alt="Giveaway: 10 Subscriptions to Mindomo (Mind-Mapping App)" /></a></p>
<p><a href="http://www.mindomo.com/">Mindomo</a>, a mind mapping application for brainstorming,  has teamed up with us to give out <a href="http://www.mindomo.com/pricing.htm" title="Mindomo - Pricing">10 Premium Account subscriptions</a> for one year (worth  each). Read on to see how you can win this awesome prize.</p>
<p><span id="more-6176"></span></p>
<h3>About Mindomo</h3>
<p>Mindomo is a simple mind mapping application, which can be used individually or in group for creative idea generation, gathering project requirements, building quick site-maps and simple project management.</p>
<p><a href="http://www.mindomo.com/"><img src="http://cdn.sixrevisions.com/0246-02_giveaway_mindmodo_jan2012_webdesignmindmap.jpg" width="550" height="317" /></a><span class="figure-caption">A designer&#8217;s mind map created by Mindomo.</span></p>
<p>Mindomo allows easy development of a design concept or idea. When you start a web design project, you need to analyze the requirements from your clients, then you need to come up with a proposal which contains proposed solution, terms of agreement, financial points a simple site map and required resources.</p>
<p>Mindomo allows to handle all these intuitively, and when you are done, you can quickly present the whole project settings with Mindomo&#8217;s unique Presentation mode.</p>
<p><img src="http://cdn.sixrevisions.com/0246-03_giveaway_mindmodo_jan2012_presentationmode.jpg" width="550" height="317" /><span class="figure-caption">Mindomo&#8217;s Presentation mode.</span></p>
<p><strong>Some of the things you can do with Mindomo:</strong></p>
<ul>
<li>Work on mind maps simultaneously with your clients</li>
<li>Create full detail sitemaps</li>
<li>Comment or vote on topics to evaluate</li>
<li>Show your work to clients with no login required</li>
<li>Drag and drop pictures</li>
</ul>
<p><img src="http://cdn.sixrevisions.com/0246-04_giveaway_mindmodo_jan2012_presentationmode2.jpg" width="550" height="317" /></p>
<h3>Try Mindomo for Free!</h3>
<p>Mindomo has a free account with a limited number of maps so you can evaluate their tool.</p>
<p><strong><a href="http://www.mindomo.com/signup.htm">Signup now</a> </strong>and start using mind maps for your projects.</p>
<h3>How to Win</h3>
<p>For a chance to win, simply answer the following question in the comments:</p>
<ul>
<li><em><strong>How would you use your subscription to Mindomo if you won?</strong></em><strong></strong></li>
</ul>
<p>This giveaway ends on <em>Wednesday, January 25, 2012</em> after which the comments section on this post will be closed and you will no longer be able to leave a comment. Please leave a valid email address when filling out the comment form so that we can contact you if you have won. Please only comment once. The winners will be randomly selected using a similar method as previous Six Revisions giveaways. The winners will be announced on a separate post. You are advised to <a href="http://feeds2.feedburner.com/SixRevisions">subscribe to our RSS feed</a> so that you can be quickly notified when the winners announcement post has been published. Please note that comments are moderated and so your comment may not show up right away. Please note that comments that do not follow the instructions on how to win (described above) may not be published, or may be removed later on.</p>
<h3>About the Author</h3>
<p class="about-author"><img src="http://images.sixrevisions.com/authors/jacob_gube_small.jpg" alt="" width="80" height="80" /><span class="author-bio-text"><strong>Jacob Gube</strong> is the Founder and Chief Editor of <strong><a href="http://sixrevisions.com/">Six Revisions</a></strong>. He&#8217;s also a web developer/designer who specializes in front-end development (JavaScript, HTML, CSS) and also a <a href="http://www.amazon.com/gp/product/1847194583?ie=UTF8&amp;tag=sixrevi-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1847194583"><strong>book author</strong></a>. If you&#8217;d like to connect with him, head on over to the <a href="http://sixrevisions.com/contact/"><strong>contact page</strong></a> and follow him on Twitter: <strong>@<a href="http://twitter.com/sixrevisions">sixrevisions</a></strong>.</span></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SixRevisions?a=DF9FMJoUMRk:Wx2_pSKn7_U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SixRevisions?i=DF9FMJoUMRk:Wx2_pSKn7_U:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=DF9FMJoUMRk:Wx2_pSKn7_U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=DF9FMJoUMRk:Wx2_pSKn7_U:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=DF9FMJoUMRk:Wx2_pSKn7_U:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SixRevisions?i=DF9FMJoUMRk:Wx2_pSKn7_U:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=DF9FMJoUMRk:Wx2_pSKn7_U:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=7Q72WNTAKBA" border="0"></img></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/SixRevisions/~4/DF9FMJoUMRk" height="1" width="1"/><br />
<a rel="nofollow" href="http://feedproxy.google.com/~r/SixRevisions/~3/DF9FMJoUMRk/">Six Revisions</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdelwebmaster.net/giveaway-10-subscriptions-to-mindomo-mind-mapping-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Episode 95: Jeff Carouth at ZendCon 2011</title>
		<link>http://blogdelwebmaster.net/episode-95-jeff-carouth-at-zendcon-2011/</link>
		<comments>http://blogdelwebmaster.net/episode-95-jeff-carouth-at-zendcon-2011/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 19:51:16 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[Carouth]]></category>
		<category><![CDATA[Episode]]></category>
		<category><![CDATA[Jeff]]></category>
		<category><![CDATA[ZendCon]]></category>

		<guid isPermaLink="false">http://blogdelwebmaster.net/episode-95-jeff-carouth-at-zendcon-2011/</guid>
		<description><![CDATA[Sorry to be so late posting this. I chatted with Jeff Carouth about his day to day worklife as a PHP guy (among other things) at Texas A and M. Learn the A and M mascot name, Jeff&#8217;s favorite design pattern, and more Jeff Carouth :: Follow Jeff on Twitter Jeff Carouth home :: Jeff&#039;s [...]]]></description>
			<content:encoded><![CDATA[<p>Sorry to be so late posting this.  I chatted with Jeff Carouth about his day to day worklife as a PHP guy (among other things) at Texas A and M.  Learn the A and M mascot name, Jeff&#8217;s favorite design pattern, and more <img src='http://blogdelwebmaster.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ul>
<li>
<a href="http://twitter.com/jcarouth" title="Follow Jeff on Twitter">Jeff Carouth</a> :: Follow Jeff on Twitter</a>
    </li>
<li>
<a href="http://carouth.com/" title="Jeff&#039;s home on the web">Jeff Carouth home</a> :: Jeff&#039;s home on the web</a>
    </li>
</ul>
<p><a href="http://www.webdevradio.com/pod/podcast-webdevradio-2012-01-18-49067.mp3">File Download (38:16 min / 26 MB)</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/WebdevradioPodcastHome?a=ykDRjA6slF4:UNSw-7lRUkQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/WebdevradioPodcastHome?i=ykDRjA6slF4:UNSw-7lRUkQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebdevradioPodcastHome?a=ykDRjA6slF4:UNSw-7lRUkQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/WebdevradioPodcastHome?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebdevradioPodcastHome?a=ykDRjA6slF4:UNSw-7lRUkQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/WebdevradioPodcastHome?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebdevradioPodcastHome?a=ykDRjA6slF4:UNSw-7lRUkQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/WebdevradioPodcastHome?i=ykDRjA6slF4:UNSw-7lRUkQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/WebdevradioPodcastHome?a=ykDRjA6slF4:UNSw-7lRUkQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/WebdevradioPodcastHome?i=ykDRjA6slF4:UNSw-7lRUkQ:F7zBnMyn0Lo" border="0"></img></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/WebdevradioPodcastHome/~4/ykDRjA6slF4" height="1" width="1"/><br />
<a rel="nofollow" href="http://feedproxy.google.com/~r/WebdevradioPodcastHome/~3/ykDRjA6slF4/index.php">WebDevRadio.com &#8211; web development podcast</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdelwebmaster.net/episode-95-jeff-carouth-at-zendcon-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.webdevradio.com/pod/podcast-webdevradio-2012-01-18-49067.mp3" length="0" type="audio/mpeg" />
		</item>
		<item>
		<title>The Proxority Principle in Web Design</title>
		<link>http://blogdelwebmaster.net/the-proxority-principle-in-web-design/</link>
		<comments>http://blogdelwebmaster.net/the-proxority-principle-in-web-design/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 07:54:08 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Principle]]></category>
		<category><![CDATA[Proxority]]></category>

		<guid isPermaLink="false">http://blogdelwebmaster.net/the-proxority-principle-in-web-design/</guid>
		<description><![CDATA[Advertise here with BSA In web design, the position of design elements and the layout of web pages is everything. So many cool, exciting techniques are available to help us lay out our designs (especially with CSS3 at our disposal) that we often forget that structure is as important as aesthetics. How do you determine [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://rss.buysellads.com/click.php?z=1259902&#038;k=6989dd4b5220d0b14530453de7387991&#038;a=6170&#038;c=350552513' target='_blank'><img src='http://rss.buysellads.com/img.php?z=1259902&#038;k=6989dd4b5220d0b14530453de7387991&#038;a=6170&#038;c=350552513' border='0' alt='' /></a>
<p><a href='http://buysellads.com/buy/sitedetails/pubkey/6989dd4b5220d0b14530453de7387991/zone/1259902' target='_blank'>Advertise here with BSA</a></p>
<p>
<p><a href="http://sixrevisions.com/web_design/proxority-principle/"><img src="http://cdn.sixrevisions.com/0245-01-proxority_principle_thumbnail.jpg" width="550" height="200" /></a></p>
<p>In web design, the position of design elements and the <a href="http://sixrevisions.com/web_design/a-guide-on-layout-types-in-web-design/" title="A Guide on Layout Types in Web Design">layout of web pages</a> is everything. So many cool, exciting techniques are available to help us lay out our designs (especially with <a href="http://sixrevisions.com/css/embracing-and-using-css3-pragmatically/" title="Embracing and Using CSS3 Pragmatically">CSS3 at our disposal</a>) that we often forget that structure is as important as aesthetics.</p>
<p>How do you determine where content should appear, and how can a well-oiled interface increase website readability? This is what we&#8217;ll aim to uncover in this article.</p>
<p><span id="more-6170"></span></p>
<p>We&#8217;re going to examine a basic technique that could help you improve your general content flow, and, for lack of a better term, I&#8217;m going to call that technique the proxority principle (a portmanteau word that combines &quot;proximity&quot; and &quot;priority&quot;).</p>
<h3>Communication through Design</h3>
<p>Designers already understand that the relationships between objects on a page matter. That&#8217;s why when we create a design, we think about <a href="http://sixrevisions.com/web_design/using-power-structure-and-gestalt-for-visual-hierarchy/" title="Using Power Structure and Gestalt for Visual Hierarchy">visual hierarchy</a>, <a href="http://sixrevisions.com/graphics-design/visual-weight-designs/" title="Working with Visual Weight in Your Designs">visual weight</a>, <a href="http://sixrevisions.com/web_design/gestalt-principles-applied-in-design/" title="Gestalt Principles Applied in Design">Gestalt psychology</a>, the <a href="http://sixrevisions.com/web_design/the-art-of-distinction-in-web-design/" title="The Art of Distinction in Web Design">distinctiveness of important elements</a> and other principles that affect relationships between the various components of a web page. It&#8217;s one of the reasons why we tend to get neurotic when it comes to <a href="http://sixrevisions.com/user-interface/navigation-design-patterns/" title="Guide to Website Navigation Design Patterns">navigation menus</a>, headers or footers.</p>
<p>With so much going on inside the average web page, getting the right content to users in the right place and at the right time is quite an achievement!</p>
<p>If your content isn&#8217;t structured suitably, there can be a number of downsides, such as:</p>
<ul>
<li>Critical information getting lost or skipped</li>
<li>User interaction issues like error-proneness or confusion</li>
<li>Reduced web accessibility for screen readers</li>
</ul>
<p>The proxority principle, in a nutshell, puts forth the idea that if we can prioritize our content to ensure that the most relevant material is visible and appealing, users will immediately be drawn to it.</p>
<p>This principle asserts that all related, important content should be grouped or joined together whenever possible to allow flow and feedback.</p>
<p>The art of this technique isn&#8217;t in the theory, because we often lay out content logically as we write it (headings, subheadings, bullet points, etc.); instead, it&#8217;s in the planning stage.</p>
<h3>Proxority Principle in Site Navigation</h3>
<p>Consider something like a <a href="http://sixrevisions.com/design-showcase-inspiration/50-stylish-navigation-menus-for-design-inspiration/">navigation menu</a>. One of the first things we do when producing  the <a href="http://sixrevisions.com/usabilityaccessibility/information-architecture-101-techniques-and-best-practices/" title="Information Architecture 101: Techniques and Best Practices">information architecture</a> of a site is to organize pages and links into one cohesive structure, after which we add categories or subsections if appropriate.</p>
<p>This technique leads to the development of <a href="http://sixrevisions.com/design-showcase-inspiration/50-examples-of-drop-down-navigation-menus-in-web-designs/" title="50 Examples of Drop-Down Navigation Menus in Web Designs">drop-down menus</a> and other unique browsing aids which help us to further bind content that lacks proxority.</p>
<p>When planning navigation menus, one must pay particularly close attention to the value of pages and their connections, in order to make them a perfect example of proxority in action.</p>
<p>This particular technique works for any style of website, so whether you&#8217;re scaling a huge service-heavy but content-light layout (like Amazon) or a content-heavy but feature-light design (like a blog), the technique should be of use.</p>
<p>Better yet, the principle can help you organize your website&#8217;s information architecture; the proxority between pages is as important as what exists upon individual pages.</p>
<p>If you find yourself <strong>struggling to determine where stuff should be placed</strong>, this strategic guide will help you.</p>
<h3>Priority: Boost the Best, Weed out the Worst</h3>
<p>Many of us know only too well the benefits of prioritizing. The priority we give our content plays a huge part in the perceived value it has upon a page.</p>
<p>A site&#8217;s logo/name, for example, is recognizable because of its critically high placement, usually in the top left-hand corner, and it maintains visibility in that position on every page of a website.</p>
<p><img src="http://cdn.sixrevisions.com/0245-02_amazon.png" width="549" height="249" /><span class="figure-caption">A logo should be dominant over all other objects on a page. That&#8217;s its proxority.</span></p>
<h4>Rate Each Element&#8217;s Value</h4>
<p>To identify which pieces of a web page are most critical and important, we need to begin by examining every object in a layout, no matter how small.</p>
<p>Rate them based on their <em>perceived value</em> (according to what your visitors need to know or are likely to want to know) and their <em>functional value</em> (according to what contributions they make to the website, such as functionality or advertisements).</p>
<p>You can do this either by taking a screen capture (or printout) of the entire page and annotating it, or by producing a list of everything that appears on a page. This exercise will help you reassess the value of your website&#8217;s content.</p>
<p>Rate images, media, content (at a paragraph level), and everything else according to this numbering system:</p>
<table width="550" border="0" cellspacing="0" cellpadding="0">
<tr>
<th scope="col">Rating</th>
<th scope="col">Description of Element</th>
</tr>
<tr>
<td>1</td>
<td>The website cannot function without this.</td>
</tr>
<tr>
<td>2</td>
<td>This adds benefits but is non-essential.</td>
</tr>
<tr>
<td>3</td>
<td>This supplements or reiterates content.</td>
</tr>
<tr>
<td>4</td>
<td>This is redundant or wastes space in some other way.</td>
</tr>
</table>
<h4>Eliminate Unneeded Elements</h4>
<p>When you&#8217;ve gone through everything, review the results.</p>
<p>Before we go any further, it&#8217;s probably worth mentioning that if you find content, links or objects that are no longer useful or don&#8217;t contribute anything, remove them.</p>
<p>Eliminating clutter from an interface is tough, but <a href="http://sixrevisions.com/web_design/reductionism-in-web-design/">reductionism</a> improves the general user experience of a website.</p>
<p>For <strong>elements rated at a 3</strong>, removal might be a bit harsh, so consider rewording or attaching things together to add value.</p>
<p><a href="http://www.helpscout.net/"><img src="http://cdn.sixrevisions.com/0245-03_help_scout.png" width="550" height="259" /></a><span class="figure-caption">This website arranges its critical information into clearly defined segments for readability.</span></p>
<p>After you&#8217;ve identified the stuff that can be deleted, merged or moved, look at <strong>everything you&#8217;ve given a rating of 2</strong>. These elements can be the toughest to deal with because you want visitors to benefit from them, but you don&#8217;t want to overburden them.</p>
<p>One solution to giving these these needed, but non-essential elements an appropriate proxority is to use <a href="http://sixrevisions.com/user-interface/progressive-disclosure-in-user-interfaces/" title="Progressive Disclosure in User Interfaces">progressive disclosure</a>: make content appear on demand with drop-down menus or tooltips, or display it further down the page so that it&#8217;s still available but less prominent.</p>
<p><img src="http://cdn.sixrevisions.com/0245-04_angry_birds.png" width="550" height="300" /><span class="figure-caption">Many websites use progressive disclosure to avoid swamping their users with details.</span></p>
<h3>Proximity: Flow, Feedback and Functionality</h3>
<p>We&#8217;ve considered the importance of prioritizing every asset on your page, identifying which bits have more sway than others, eliminating the fluff that has accumulated, combining weak material into a strong structure and pushing the less critical data out of the field of vision.</p>
<p>We now need to take all the remaining content and follow through on the second part of the process: to connect everything logically and put it all back together, as if it were a jigsaw puzzle &#8212; or a storybook, wherein the plot develops at consecutive points.</p>
<p>You should be left with everything that needs to be on your website, in its most diluted form, with supplementary content either hidden down the page or waiting in tooltips and extensible data boxes.</p>
<h4>Rate Important Elements in Relation to Each Other</h4>
<p>Go back over everything to which you have assigned ranks of 1 and 2, and rank them again; number everything according to what order you believe readers need to know about it.</p>
<p>If everything ends up where it should end up, it will all make perfect sense when you read it aloud.</p>
<p><img src="http://cdn.sixrevisions.com/0245-05_your_project.png" width="550" height="301" /><span class="figure-caption">The developers and designers behind this website clearly understand the need for organization and feedback.</span></p>
<h4>Redesign</h4>
<p>Once you&#8217;ve got everything labeled, re-shuffle your source code to match the new reading order. Pay special attention to bits of content that connect to or depend on other pieces of content (such as image captions), and put them as close together as possible.</p>
<p>Then, make the necessary changes to your CSS and JavaScript.</p>
<h3>Proxority: Examples and Patterns in Action</h3>
<p>Many websites already exhibit what I&#8217;d define as high proxority in that they take great care to use techniques that account for both priority (bringing attention to certain elements) and proximity (making reactions happen directly next to or above the objects being interacted with).</p>
<p>Below is a showcase of a few examples of best practices in use. Some we&#8217;ve briefly mentioned before, and others are being introduced here. By following similar practices, you can avoid user confusion and increase reading efficiency.</p>
<p><strong>Using progressive disclosure to track the progress of a form:</strong></p>
<p><img src="http://cdn.sixrevisions.com/0245-06_buffalo.png" width="550" height="317" /></p>
<p><strong>Informing visitors of errors as they enter data:</strong></p>
<p><img src="http://cdn.sixrevisions.com/0245-07_twitter.png" width="550" height="247" /></p>
<p><strong>Drop-down menus expanding close to the cursor icon:</strong></p>
<p><img src="http://cdn.sixrevisions.com/0245-08_envato.png" width="550" height="261" /></p>
<p><strong>Input objects disabling once they&#8217;ve been submitted:</strong></p>
<p><img src="http://cdn.sixrevisions.com/0245-09_user_info.png" width="550" height="209" /></p>
<p><strong>Progress bars showing loading progress:</strong></p>
<p><img src="http://cdn.sixrevisions.com/0245-10_mockingbird.png" width="549" height="293" /></p>
<p><strong>Content or light boxes expanding upon user interaction:</strong></p>
<p><img src="http://cdn.sixrevisions.com/0245-11_we_were_sofa.png" width="550" height="301" /></p>
<h3>Proxority: Origami for the Web</h3>
<p>The proxority principle posits that everything you find on a web page can be assigned a value and a place in sequence, in relation to the objects that surround it. This idea has existed since the early days of the Web, but too few designers pay enough attention to it. Think through what is actually needed, where it is needed and when it should appear (as opposed to simply putting all of the content on the screen, in its entirety, in an order that &quot;looks pretty&quot;). The need for such techniques is increasing, especially given the proliferation of handheld devices and the idea of designing with a &quot;mobile-first&quot; philosophy.</p>
<p><img src="http://cdn.sixrevisions.com/0245-12_facebook.png" width="550" height="305" /><span class="figure-caption">If content isn&#8217;t worthy of a restrictive mobile layout, why is it needed in the desktop layout?</span></p>
<p>If you have ten spare minutes, give this simple activity a try. Go through your website and weed out anything that isn&#8217;t offering what it should. Make existing objects provide greater value to users (or use less space), and don&#8217;t be afraid to reorganize your code and its content to ensure that what&#8217;s needed is what appears. Oh, and if you do feel tempted to make actions elicit responses, ensure that users know that your website is responding; after all, you don&#8217;t want them clicking &quot;submit&quot; ten times in a row, only to fail.</p>
<h3>Related Content</h3>
<ul>
<li><a href="http://sixrevisions.com/web_design/overview-user-experience-webdesigners/">Quick Overview of User Experience for Web Designers</a></li>
<li><a href="http://sixrevisions.com/user-interface/is-it-time-to-rethink-website-navigation/">Is It Time to Rethink Website Navigation?</a></li>
<li><a href="http://sixrevisions.com/user-interface/10-important-ui-design-considerations-for-web-apps/">10 Important UI Design Considerations for Web Apps</a></li>
<li><em>Related categories</em>: <a href="http://sixrevisions.com/category/web_design/">Web Design</a> and <a href="http://sixrevisions.com/category/user-interface/">User Interface</a></li>
</ul>
<h3>About the Author</h3>
<p class="about-author"><img src="http://images.sixrevisions.com/authors/alexander_dawson_small.jpg" alt="" width="80" height="80" /><span class="author-bio-text"><strong>Alexander Dawson</strong> is a freelance web designer, author and recreational software developer specializing in web standards, accessibility and UX design. As well as running a business called <strong><a href="http://www.hitechy.com/">HiTechy</a></strong> and writing, he spends time on <strong><a href="http://twitter.com/AlexDawsonUK">Twitter</a></strong>, SitePoint&#8217;s forums and other places, helping those in need.</span></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/SixRevisions?a=woHXUyerIpE:RaZ7UiWR_oI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/SixRevisions?i=woHXUyerIpE:RaZ7UiWR_oI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=woHXUyerIpE:RaZ7UiWR_oI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=woHXUyerIpE:RaZ7UiWR_oI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=woHXUyerIpE:RaZ7UiWR_oI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/SixRevisions?i=woHXUyerIpE:RaZ7UiWR_oI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/SixRevisions?a=woHXUyerIpE:RaZ7UiWR_oI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/SixRevisions?d=7Q72WNTAKBA" border="0"></img></a>
</div>
<p><img src="http://feeds.feedburner.com/~r/SixRevisions/~4/woHXUyerIpE" height="1" width="1"/><br />
<a rel="nofollow" href="http://feedproxy.google.com/~r/SixRevisions/~3/woHXUyerIpE/">Six Revisions</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogdelwebmaster.net/the-proxority-principle-in-web-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

