<?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>StylizedWeb.com &#187; WordPress</title>
	<atom:link href="http://stylizedweb.com/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://stylizedweb.com</link>
	<description>Web Design + Wordpress Tutorials &#38; Resources</description>
	<lastBuildDate>Tue, 27 Mar 2012 09:00:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Keeping Your WordPress Database Healthy</title>
		<link>http://stylizedweb.com/2011/12/06/keeping-your-wordpress-database-healthy/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://stylizedweb.com/2011/12/06/keeping-your-wordpress-database-healthy/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 18:00:04 +0000</pubDate>
		<dc:creator>3pointross</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[size]]></category>
		<category><![CDATA[speed]]></category>

		<guid isPermaLink="false">http://stylizedweb.com/?p=620</guid>
		<description><![CDATA[As far as site maintenance goes most WordPress users know the importance of keeping WordPress and plugins up to date. Some also know to keep frequent site backups. Few realize there is more to website maintenance than these two tasks. The health of your WordPress database is often overlooked. To explain further, WordPress typically stores information (or [...]]]></description>
			<content:encoded><![CDATA[<p>As far as site maintenance goes most WordPress users know the importance of keeping WordPress and plugins up to date. Some also know to keep frequent site backups. Few realize there is more to website maintenance than these two tasks. The health of your WordPress database is often overlooked.</p>
<p>To explain further, WordPress typically stores information (or data) on a MySQL database located on your web host. Storing information in a database, rather than in files, makes WordPress more flexible, capable and reliable. This is why most web based software use databases for information storage. Databases are not with out their drawbacks. It takes time to access a database, look up, retrieve it and display information. Typically the time required to perform these actions is negligible. The capabilities the database affords are worth the minor performance hit. Over time the database can become bloated however, this slowing down the entire site.</p>
<p>Not only are users intolerant of slow websites (many leave after 4 - 5 seconds of load time,) Google now includes site performance in their ranking algorithm. Suffice to say, you can no longer afford to have a slow website regardless of cause and many do because they have not kept their database healthy. To do so you must put your database on a diet, optimize your tables and eliminate the need for it altogether where possible.</p>
<h2>Going on a Database Diet</h2>
<p><a href="http://stylizedweb.com/assets/screenshot-1.jpg"><img class="alignright size-medium wp-image-622" title="screenshot-1" src="http://stylizedweb.com/assets/screenshot-1-300x211.jpg" alt="" width="300" height="211" /></a>The best way to address an "overweight" database is by slimming it down. This means optimizing the database by removing any old, unnecessary information (or tables.) You could login to your MySQL database and do this manually (if you are a gluten for punishment I highly recommend it,) but it's better to have a plugin do it for you. The choice is yours, I choose the later. <a href="http://wordpress.org/extend/plugins/wp-database-optimizer/" target="_blank">The WP Database Optimizer plugin</a> will delete excessive post revisions and other unnecessary information and you can even schedule it to run regularly.</p>
<p>This plugin takes care of obvious bloat, but misses the commonly overlooked pending comments. If you are like me you see pending comments much like e-mail, at a certain point it's not worth manually marking each one as spam which in turn causes them to build up to an excessive level. Those 5,000+ spam comments awaiting moderation are also slowing down your website (damn you spammers,) so you should probably clear them out. Of course WordPress doesn't make it easy to delete thousands of comments at the same time, so we will have to find a plugin to do it for us. Luckily t<a href="http://wordpress.org/extend/plugins/delete-pending-comments/" target="_blank">he Delete Pending Comments</a> plugin does just that. One click and some extra confirmation latter and your database is feeling lean and mean.</p>
<p>With your Database slimmed down you can move onto step two, optimize that sucka!</p>
<h2>Optimize Your Tables</h2>
<p><a href="http://stylizedweb.com/assets/screenshot-1-1.jpg"><img class="alignright size-medium wp-image-623" title="screenshot-1 (1)" src="http://stylizedweb.com/assets/screenshot-1-1-300x300.jpg" alt="" width="300" height="300" /></a>MySQL has an "optimize" function built in which defragments stored data. This reduces the time necessary to query a database and can reduce the file size as well. Again, for <a href="http://www.dbtuna.com/article.php?id=15" target="_blank">those of you who love pain you can do it manually</a>... but I would much rather let the <a href="http://wordpress.org/extend/plugins/wp-optimize/" target="_blank">WP-Optimize</a> plug-in do it for me. Beyond optimizing tables, WP-Optimize can also clean out the database making the two aforementioned plug-ins unnecessary. Three birds with one stone.</p>
<p>Now your database is lean and optimized, you should be good to go right? Not quiet, there is one last step. Eliminate the database where possible.</p>
<h2>Don't Use the Database</h2>
<p>There is no better way to reduce database associated slow downs than removing the database all together. Sound fanatical? Stay with me. I am not suggesting you find some way to run WordPress with out a database, rather use a caching plugin to reduce how often the database is used (my favorite is <a href="http://wordpress.org/extend/plugins/w3-total-cache/" target="_blank">W3 Total Cache</a>.) Caching plugins create a static version of your page the first time a user visits. Meaning, when the first users visits your page the database is accessed to generate the page. That generated page is stored on the server so the next time a user visits the page they are served that same pre-generated page and the database is left alone. When the page is altered, such as an edit or a new comment, the generate page is flushed and a new one is created.</p>
<p>This reduces most of the database associated slow downs. However, since some users will still encounter the database generated page it's worth getting your database trimmed and optimized as described above.</p>
<h2>Summary: Set and Forget</h2>
<p>The great thing about the plugins mentioned is most of them can be automated. Just install them once, schedule them to be run routinely and you have very little to worry about. It just takes the initial twenty minutes to get them installed and configured. Last but not least, the healthiest database is one with several backups. Make sure to backup your database frequently to prevent any unrecoverable issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://stylizedweb.com/2011/12/06/keeping-your-wordpress-database-healthy/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>What I Learned at WordCamp Detroit 2011</title>
		<link>http://stylizedweb.com/2011/11/28/what-i-learned-at-wordcamp-detroit-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://stylizedweb.com/2011/11/28/what-i-learned-at-wordcamp-detroit-2011/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 15:31:56 +0000</pubDate>
		<dc:creator>3pointross</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Business Models]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Detroit]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[WordCamp]]></category>

		<guid isPermaLink="false">http://stylizedweb.com/?p=612</guid>
		<description><![CDATA[As a WordPress obsessor, I jumped at the opportunity to not only attend WordCamp Detroit but also help plan it. Months of work finally paid off on November 12th and 13th where 250 WordPress lovers spent two days at the Detroit Renaissance Center and listened to speakers who flew in from all over the US (and Canada). As [...]]]></description>
			<content:encoded><![CDATA[<p>As a WordPress obsessor, I jumped at the opportunity to not only attend WordCamp Detroit but also help plan it. Months of work finally paid off on November 12th and 13th where 250 WordPress lovers spent two days at the Detroit Renaissance Center and listened to speakers who flew in from all over the US (and Canada). As a self labeled "expert" I didn't expect to learn much, but I was wrong. Here are some of my key takeaways:</p>
<h2>Sam Cohen, Local Development</h2>
<p><a href="http://www.samcohen.net/" target="_blank">Designer and Developer at SamCohen.net</a></p>
<ul>
<li>It's time to stop cowboy coding (ie: editing sites directly off the file server)</li>
<li>Instead develop your site locally using <a href="http://sourceforge.net/projects/xampp/" target="_blank">XAMPP</a>, <a href="http://www.mamp.info/en/index.html" target="_blank">MAMP</a>, <a href="http://www.wampserver.com/en/" target="_blank">WAMP</a> or my favorite <a href="http://www.instantwp.com/" target="_blank">InstantWP</a></li>
<li>Use <a href="http://crowdfavorite.com/wordpress/ramp/" target="_blank">RAMP</a> to deploy content from dev to live environments</li>
</ul>
<h2>Chris Ross, Free is Not A Business Model</h2>
<p><a href="http://thisismyurl.com/" target="_blank">WordPress Designer at ThisIsMyURL.com</a></p>
<ul>
<li>In business school, they teach you that "Free is not a business model." With WordPress, it is.</li>
<li>WordPress allows you to make money by giving things away for free.</li>
<ul>
<li>Make free plugins and charge for support</li>
<li>Make free plugins and get freelance gigs (to customize)</li>
<li>Ask for donations</li>
<li>Write / publish free content and get donations or ads</li>
<li>Write / publish free content and make affiliate sales</li>
</ul>
<li>Google is now notifying site owners that they need to upgrade WordPress (through Google Webmaster tools)</li>
</ul>
<h2>Wally Metts, Communication</h2>
<p><a href="http://TheDaysMan.com" target="_blank">Communications Professor at Spring Arbor University</a></p>
<ul>
<li>An adjective is the enemy of the noun. Avoid adjectives, use stronger nouns.</li>
<li>Active writing means using better verbs.</li>
<li>Vivid writing means using better nouns.</li>
<ul>
<li>ie: don't use "they made a decision" use "they decided"</li>
</ul>
<li>When communicating "unpad" everything. Remove meaningless, doubled and inferred words.</li>
</ul>
<div>
<h2>Matt Lincoln Russell, Online Communities</h2>
<p><a href="http://www.lincolnwebs.com/" target="_blank">Software Developer at Vanilla Forums</a></p>
<ul>
<li>Forums are still one of the most popular methods of online socialization</li>
<li>The typical forum design does little to engage the user, they are complicated and overwhelming</li>
<li>Some forum solutions (like<a href="http://vanillaforums.org/" target="_blank"> Vanilla</a>) try and simplify the forum process</li>
<li>Getting forums started is the hardest part</li>
<li>Eventually people will police and moderate your forum for you</li>
</ul>
</div>
<h2>David Wilemski, WordPress Security</h2>
<ul>
<li>A large part of keeping WordPress secure is being "less hackable" than everyone else</li>
<li>Most attacks are not targeted (attacks try thousands of WordPress sites, looking for the most vulnerable.)</li>
<li>Common vulnerabilities:</li>
<ul>
<li>Privilege escalation</li>
<li>SQL Injection</li>
<li>XSS</li>
<li>CSRF</li>
</ul>
<li>Some easy fixes:</li>
<ul>
<li>Change your WordPress table prefix</li>
<li>Rename the "admin" account</li>
<li>Use SSL in your admin</li>
<li>Use 755 file permissions for for directories and 644 for files</li>
<li>Use the wp-config.php secure keys</li>
<li>Limit login attempts (or login via specific IPs)</li>
</ul>
<li>Be prepared backup regularly, including:</li>
<ul>
<li>Database</li>
<li>Theme</li>
<li>Plugins</li>
<li>Uploads</li>
</ul>
<li>When hacked, clear and reinstall (there could be hidden hacks)</li>
</ul>
<h2>Overall Takeaways</h2>
<p>Having used WordPress since 2006 I didn't expect to learn new things, but the community continues to impress me (or maybe I'm not as smart as I think.) I often go to events such as WordCamp for networking and opportunities, not for education. However there are so many smart WordPress experts willing to share their knowledge for free. Additionally, WordCamp Detroit demonstrated the breadth of the WordPress community. The best presentations were not about core WordPress functionality, rather the surrounding topics of being a website owner, developer, designer, etc...</p>
]]></content:encoded>
			<wfw:commentRss>http://stylizedweb.com/2011/11/28/what-i-learned-at-wordcamp-detroit-2011/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>WordCamp Detroit, November 12th &amp; 13th, 2011</title>
		<link>http://stylizedweb.com/2011/11/07/wordcamp-detroit-november-12th-13th-2011/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://stylizedweb.com/2011/11/07/wordcamp-detroit-november-12th-13th-2011/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 15:10:47 +0000</pubDate>
		<dc:creator>3pointross</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://stylizedweb.com/?p=588</guid>
		<description><![CDATA[We talk a lot about WordPress on StylizedWeb because it's a great content management system. Like all great products it has developed a strong following and community, which in my opinion, is one of the best advantages WordPress has to offer. There is an incredibly active forum, tens of thousands of plug-ins and themes, countless [...]]]></description>
			<content:encoded><![CDATA[<p>We talk a lot about WordPress on StylizedWeb because it's a great content management system. Like all great products it has developed a strong following and community, which in my opinion, is one of the best advantages WordPress has to offer. There is an incredibly active forum, tens of thousands of plug-ins and themes, countless blogs and best of all WordCamp's. WordCamp Detroit is coming up and if you are anywhere near Michigan you should attend. Having spoken at the last WordCamp Detroit I can honestly say last years even was great but this year will blow it out of the water.</p>
<p>First off, WordCamp Detroit will be held at the Renaissance Center in downtown Detroit. The beautiful GM High Rise that overlooks the riverfront. Secondarily, there are two days full of interesting and unique speakers and activities. Finally, there will be a "help bar" in which anyone can get 1 on 1 advice for their WordPress websites... for free.</p>
<p><a href="http://2011.detroit.wordcamp.org/" target="_blank">Buy tickets now as they are running low and the even is only a week away</a> (November 11th and 12th).</p>
]]></content:encoded>
			<wfw:commentRss>http://stylizedweb.com/2011/11/07/wordcamp-detroit-november-12th-13th-2011/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>6 Things Dissenters Don&#8217;t Know About WordPress</title>
		<link>http://stylizedweb.com/2011/06/02/6-things-disenters-dont-know-about-wordpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://stylizedweb.com/2011/06/02/6-things-disenters-dont-know-about-wordpress/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 15:49:17 +0000</pubDate>
		<dc:creator>3pointross</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[capabilities]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[functionality]]></category>

		<guid isPermaLink="false">http://stylizedweb.com/?p=527</guid>
		<description><![CDATA[Yesterday I was asked to defend WordPress' against 400lbs gorilla Drupal at local marketing group LA2M. Having used both systems for some time, I have a strong sense as the pro's and con's of each platform (neither is perfect). Of course WordPress is my top choice and I do have reasoning to back it up which I communicated to the [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I was asked to defend WordPress' against 400lbs gorilla Drupal at local marketing group LA2M. Having used both systems for some time, I have a strong sense as the pro's and con's of each platform (neither is perfect). Of course WordPress is my top choice and I do have reasoning to back it up which I communicated to the group of 70+ attendees. Interestingly enough, as the discussion was not so much a debate as panel that answered questions I noticed an interesting pattern. Much of the supposed benefits of Drupal were expressed in such a way that it made WordPress seem incapable of those benefits... which was not the case. Unable to rebut before the next question, many viewers (and the pro-Drupal speakers) didn't get to hear this. To address this I felt it would be best to outline these common misunderstandings in this blog post.</p>
<p><strong>Here are the six things that dissenters don't know about WordPress:</strong></p>
<h2>1. WordPress is Incredibly Scaleable</h2>
<p>There is a misconception that WordPress can only handle small sites because it was built as a blogging tool. If you need a large site with a lot of content WordPress will choke and die. Not true, sites like <a href="http://www.smashingmagazine.com" target="_blank">SmashingMagazine</a> and <a href="http://www.techcrunch.com" target="_blank">TechCrunch</a> have hundreds of thousands of pages of content and still run lightening fast. WordPress can be run on multiple servers if needed or integrated with a content delivery network if you have high amounts of traffic or a particularly large website.</p>
<p>Additionally <a href="http://en.wordpress.com/stats/" target="_blank">WordPress.com</a>, the hosted version of WordPress has over <strong><em>20 million blogs</em></strong> running on a version of WordPress (using the multisite mode). If that doesn't demonstrate scalability I don't know what would.</p>
<h2>2. WordPress is NOT Just Posts and Pages</h2>
<p>While WordPress originated as a simple blogging platform that only had posts and pages, it has come along way with custom content types. Drupal has always been strong in this area, with the CCK (Custom Content Kit) allowing the creation of flexible data models and have now integrated that capability into the Drupal core. Unbeknownst to most Drupal developers, WordPress also has this capability built into the core (since version 3.0).</p>
<p>The custom post type gives developers the abilities to create content types that have have their own data structure that doesn't need any resemblance to  posts or pages. This content can be displayed anyway you wish and can be dissected, mashed up and output if you so desire. Additionally, with plugins like <a href="http://wordpress.org/extend/plugins/magic-fields/" target="_blank">Magic Fields</a>, <a href="http://wordpress.org/extend/plugins/custom-post-type-ui/" target="_blank">Custom Post Type UI</a>, <a href="http://wordpress.org/extend/plugins/pods/" target="_blank">PODS</a> and <a href="http://wordpress.org/extend/plugins/advanced-custom-fields/" target="_blank">Advanced Custom Fields</a> this can all be done from the WordPress backend. Along with custom taxonomies content can take any shape, can be sorted, classified and output anyway you need it.</p>
<h2>3. WordPress is NOT Just for Simple Sites</h2>
<p>Many people gravitate towards Drupal because they think that it has more capabilities than WordPress. WordPress is thought of a "simple CMS for simple websites." In reality, WordPress is extremely extendable. In fact I have yet to come across a project that you outright couldn't do in WordPress (not that it is the best fit for all projects, just that it would be technically possible.) In fact here are some capabilities WordPress can easily accomplish:</p>
<ul>
<li>Facebook clone</li>
<li>Forums</li>
<li>Digg Clone</li>
<li>Newsletter</li>
<li>Wiki</li>
<li>Customer Relationship Management System</li>
<li>Twitter clone</li>
<li>Invoicing system</li>
<li>Project management system</li>
<li>Calendar system</li>
<li>E-commerce website</li>
<li>Job board</li>
<li>Classified board</li>
<li>Real estate listing site</li>
<li>Business directory</li>
<li>Auctions website</li>
<li>Review website</li>
</ul>
<p>And that isn't even all of them. With custom post types you could conceivably do just about anything.</p>
<h2>4. WordPress Has Great User Management</h2>
<p>I have no problem admitting that Drupal has really powerful user management capabilities. Drupal was originally a community based platform that has evolved into a CMS "Framework," so much of the user management capabilities have been left in the core. That being said, WordPress can have extremely powerful user management <strong>if you need it</strong>. I would say that the average website doesn't need complex user management capabilities, for most businesses you only have one or two people maintaining the website. If you do need more power there are plugins like <a href="http://wordpress.org/extend/plugins/user-permissions/" target="_blank">User Permissions</a>, <a href="http://wordpress.org/extend/plugins/user-access-manager/" target="_blank">User Access Manager</a> or <a href="http://wordpress.org/extend/plugins/user-role-editor/" target="_blank">User Role Editor</a> that can give you that functionality.</p>
<p>Those plugins allow you to create groups, restrict group capabilities on a detail level (including editing, adding or modifying plugins, etc...) restrict page editing to specific groups, etc... Pretty much anything you would need with a community based site.</p>
<h2>5. WordPress Can Address Your Workflow Needs</h2>
<p>It is likely that new web content will need to be approved before it goes live. This is described as workflow and it is the process of how the content must be created, reviewed and published. By default WordPress has a few ways to manage this, including private pages (you must be logged in to see), password protected pages and draft pages. If you need a more sophisticated system you can use <a href="http://wordpress.org/extend/plugins/edit-flow/" target="_blank">Edit Flow</a>, <a href="http://wordpress.org/extend/plugins/zensor/" target="_blank">Zensor</a>, <a href="http://wordpress.org/extend/plugins/user-submitted-posts/" target="_blank">User Submitted Posts</a>, <a href="http://wordpress.org/extend/plugins/peters-collaboration-e-mails/" target="_blank">Peter's Collaboration E-mails</a> or <a href="http://wordpress.org/extend/plugins/peters-post-notes/" target="_blank">Peter's Post Notes</a> to add the functionality you need.</p>
<h2>6. WordPress Can Rock E-Commerce</h2>
<p>In my presentation I made the mistake of saying that at some point you should use a full fledged E-Commerce system rather than WordPress. While I still believe that hard core e-commerce sites should run on an e-commerce specific platform, it did make WordPress sound like an poor candidate for selling items online. Through a handful of great e-commerce plugins, you can use WordPress to sell products online including the following features:</p>
<ul>
<li>Real products</li>
<li>Digital / downloadable products</li>
<li>Tickets / event registration</li>
<li>Subscription / site access services</li>
<li>Real time shipping integration</li>
<li>Payment gateway integration</li>
<li>Product variations (colors, sizes, types, costs, etc...)</li>
<li>Quickbooks integration</li>
<li>Affiliate management</li>
<li>Custom fields / product types</li>
<li>Pricing levels</li>
<li>Wish lists</li>
<li>Recommend products</li>
<li>Discount codes</li>
<li>Stock management</li>
<li>Import / export capabilities</li>
</ul>
<p>These capabilities exist in the plugins or through already available plugin extensions. No custom development is required.</p>
<p>Additionally WordPress has been able to integrate with outside e-commerce systems like Magento, ZenCart and OS Commerce since as early as 2008.</p>
<h2>Summary: Why I Love WordPress, but Drupal is Great Too...</h2>
<p>I love WordPress because it is kind to my users, the end client. WordPress was designed to make the management of your site easy and that is exactly what it does. Because of it's ease of use it has reached the level of fame that it now enjoys (powering over 60% of the top 1 million websites that have a CMS). This level of fame has lead to the endless capabilities that allow us to take this simple website CMS and turn it into complex web applications.</p>
<p>That being said I recognize that WordPress is not right for every project. There will be situations where Drupal is a better fit (or some other system all together). I don't think Drupal is a bad platform, I have used it enough in the past to understand it's capabilities. I just prefer WordPress because it makes it easier for me to build sites and my clients to manage them.</p>
]]></content:encoded>
			<wfw:commentRss>http://stylizedweb.com/2011/06/02/6-things-disenters-dont-know-about-wordpress/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>Cufon and WordPress &#8211; Clean and Custom Fonts</title>
		<link>http://stylizedweb.com/2010/10/31/cufon-and-wordpress-clean-and-custom-fonts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://stylizedweb.com/2010/10/31/cufon-and-wordpress-clean-and-custom-fonts/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 19:47:24 +0000</pubDate>
		<dc:creator>3pointross</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[cufon]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[replacement]]></category>

		<guid isPermaLink="false">http://stylizedweb.com/?p=464</guid>
		<description><![CDATA[Before there was @font-face web designers used advanced font replacement techniques to widen the pool of typefaces that could be used online. Even though all of the popular browsers support @font-face and font embeding there are still good reasons to use some of these font replacement techniques. The major issue that font embeding still faces [...]]]></description>
			<content:encoded><![CDATA[<p>Before there was @font-face web designers used advanced font replacement techniques to widen the pool of typefaces that could be used online. Even though all of the popular browsers support @font-face and font embeding there are still good reasons to use some of these font replacement techniques. The major issue that font embeding still faces is that while it does give you a large pool of typefaces to choose from that pool is still limited due to licensing issues. If you are developing a design that has a specific typeface with in the brand guidelines you might not be able to license it for web usage.</p>
<p>This is where the font replacement methods become extremely useful. Because the font is not downloaded directly (rather used to "create" the rendered font on the screen) you are not faced with the same issues as font embeding. Font replacement has been handled in a number of ways over the years, from automatically generating JPGs to embeding flash. The most effective approach that I have come across is the dynamic creation and rendering of the type through javascript and the SVG or the canvas element (depending on the browser), this being the "cufon" approach.</p>
<p>While installing cufon on a site is relatively easy, it actually is super simple when you are using WordPress.</p>
<h2>The Two Parts of Cufon</h2>
<p>Cufon essentially consists of two parts:</p>
<ol>
<li>A font file that contains a generated version of the font you wish to use</li>
<li>The javascript font rendering engine</li>
</ol>
<p>In order to get Cufon running on your WordPress installation you need the two pieces together. These both end up being javascript files, then you simply declaire which HTML elements you would like to be replaced with the Cufon text. Cufon then uses your CSS styling to determine what the type should look like (in terms of size, color, weight, etc...)</p>
<p>The first step is to generate a Cufon version of the font you wish to use. While this may sound complicated it actually is really simple. Just browse over to the <a href="http://cufon.shoqolate.com/generate/" target="_blank">Cufon font generator</a> site and you are able to select the font you wish to convert off your hard drive. The standard conversion settings are typically fine, the only item you should be sure to enabled is the "WordPress punctuation" with in Glyphs section of options.</p>
<p>This will create a javascript file that contains your now cufon embeded font. Typically the file will follow this format <code>fontname-fontweight.font.js</code>.</p>
<p>Now typically with Cufon you would include the font file and the cufon library javascript in your <code>&lt;head&gt;</code> much like any other javascript library, however it is actually easier to do this in WordPress.</p>
<h2>The WordPress Plugin</h2>
<p><a href="http://stylizedweb.com/wp-content/uploads/2010/10/cufon1.png"><img class="aligncenter size-full wp-image-484" title="cufon" src="http://stylizedweb.com/wp-content/uploads/2010/10/cufon1.png" alt="" width="585" height="383" /></a></p>
<p>There are a couple WordPress plug-ins that make this really easy. Rather than manually including the font files, writing out the Cufon font declarations (which are typically the hardest point) the plug-ins do this for you. While there are two plug-ins, <a href="http://wordpress.org/extend/plugins/wp-cufon/" target="_blank">WP-Cufon</a> seems to be the most user friendly.</p>
<h3>1. Install the Plugin</h3>
<p>After you have obtained your Cufon encoded font file simply <a href="http://wordpress.org/extend/plugins/wp-cufon/" target="_blank">download and install the WP-Cufon plugin</a>. This can be done through manually downloading the plugin or through the WordPress Plugins menu item.</p>
<h3>2. Add Your Fonts</h3>
<p>At this point WordPress is ready to incorporate Cufon, you just need to upload some fonts to WordPress and the plugin. This is done by creating a folder in your plugins directory <code>/wp-content/plugins/fonts/</code>. Then simply upload your previously created font javascript file into this folder.</p>
<h3><a href="http://stylizedweb.com/wp-content/uploads/2010/10/cufon-example2.png"><img class="alignright size-full wp-image-490" title="cufon-example" src="http://stylizedweb.com/wp-content/uploads/2010/10/cufon-example2.png" alt="" width="250" height="263" /></a></h3>
<h3>3. Configure Your Font Replacements</h3>
<p>Now that you have uploaded your fonts you can go to the WP-Cufon settings page and create your Cufon font declarations. These declarations look like this:</p>
<p><code>Cufon.replace('h1', { fontFamily: 'Vegur' });</code></p>
<p>While this may look complicated it is actually really simple. All you have to do is replace the 'h1' with what ever element you wish to use Cufon on. These can be HTML elements such as h1 - h5, classes, ID's, or a combination of them. Then change the <code>fontFamily</code> declaration to the name of your embeded font. For example <code>'Gotham HTF'</code> or <code>'Trajan Pro'</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://stylizedweb.com/2010/10/31/cufon-and-wordpress-clean-and-custom-fonts/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>WordPress 3.0 Features for Designers</title>
		<link>http://stylizedweb.com/2010/10/26/wordpress-3-0-features-for-designers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://stylizedweb.com/2010/10/26/wordpress-3-0-features-for-designers/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 09:00:35 +0000</pubDate>
		<dc:creator>Dejan Cancarevic</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://stylizedweb.com/?p=456</guid>
		<description><![CDATA[The recent release of WordPress 3.0 has shifted the already rockstar popular WordPress from a capable but simple CMS/Blogging Platform into a full featured website framework. It is safe to say that the quick rise and wide-spread popularity of WordPress is largely in part of it's simplicity. It seems that the team behind WordPress is [...]]]></description>
			<content:encoded><![CDATA[<p>The recent release of WordPress 3.0 has shifted the already rockstar popular WordPress from a capable but simple CMS/Blogging Platform into a full featured website framework. It is safe to say that the quick rise and wide-spread popularity of WordPress is largely in part of it's simplicity. It seems that the team behind WordPress is careful not to try and make it all things to all people, as there are plenty of other CMS solutions out there that are already fighting in that space (Joomla, Drupal).</p>
<p>Adding new and complex new features to the system may sound sacrilegious. Wasn't the whole point that it was simple and easy? The truth is that WordPress has always been a limitless solution... if you were a capable WordPress developer. However now there are easy to "enable" features that make it the ideal solution for designers. What previous required heavy hacking or several plug-ins can be integrated into your themes right out of the box (or should I say download?)</p>
<p>What you will find is that the WordPress team has addressed the most common requests by top designers with this 3.0 release. Where previous version have made large strides towards a better system none have included quite so many notable capabilities. This now allows designers who use WordPress to add new layers of visual interest and style to their designs with the knowledge that not only can it be done in WordPress, but the design features can be administered easily as well. While the features are powerful and have already created waves in the design communities, there are so many different capabilities that many are unaware of what now can be done with ease.</p>
<p><strong>WordPress 3.0 has included the following key designer features that we will cover:</strong></p>
<ul>
<li>Custom background images</li>
<li>Custom header images</li>
<li>Custom content types</li>
<li>Author templates</li>
<li>Custom menus</li>
</ul>
<h2>Custom Background Images</h2>
<p><img src="/images/wp3/custom-backgrounds.png" alt="Custom Backgrounds" width="585" height="272" /></p>
<p>With the adoption of broadband and better server technologies, a visually rich background image doesn't pose a major experience issue on most users. As a result it is common to see more sites with different visually interesting background images.</p>
<p>Visually interesting background images are a great way to draw a user in and engage them. WordPress 3.0 has given us the ability to upload and select different background images through the administration interface.</p>
<h3>Why Designers Should Care</h3>
<p>As designers we are no longer held back by complicated implementation issues. We also can give our clients the ability to manage and select different background images with ease. The new functionality includes a full administration interface that has such features as image sizing/editing, positioning, tiling and uploading.</p>
<p>As a site grows and evolves there may be good reason to change the background. Being able to easily switch the background image allows designers to use the background as a tool rather than just an area to fill. We can now design sites with the idea that the background can on the site from time to time (seasonal backgrounds anyone?)</p>
<h3>How To Use Custom Background Images</h3>
<p>The first step to implementing custom background images is turning on the functionality through your themes functions.php file by adding the following line of code:</p>
<pre><code>if (function_exists('add_custom_background')) { add_custom_background(); }</code></pre>
<p>This will turn on the capability through the WordPress Administration so that users can upload and manage different background images. This functionality puts custom CSS in the head and stylizes the body element.</p>
<h2>Custom Header Images</h2>
<p><img src="/images/wp3/custom_headers.png" alt="Custom Headers" width="585" height="272" /></p>
<p>Sticking with the theme of making WordPress a more media rich tool, we now have the capability to upload and manage header banners through the administration panel. The system is sophisticated enough where it will resize large images to fit with in the desired area.</p>
<p>While you could previously force this sort of functionality through post thumbnails it lacked the polish and sophistication of the new custom header images. With WordPress you can now define the size, set the default image and manage them all in one place.</p>
<h3>Why Designers Should Care</h3>
<p>It used to be that design agencies would design a homepage and subpage for clients. The client could input what ever content they develop into those templates and be on their merry way. While there is nothing inherently wrong with this process the header images rarely could be contextually relevant for every page of content on the site. It is more common these days to have a different header image for each page.</p>
<h3>How to Use Custom Header Images</h3>
<p>Using and working with custom header images is a bit more tricky than backgrounds, but with a few functions added to the functions.php code you can setup the functionality and turn the keys over to your staff or clients.</p>
<p>(This code was found in the new TwentyTen theme, thanks to wpbeginner.com for the tutorial)</p>
<pre><code>
	if ( ! function_exists('customtheme_setup') ):

		function customtheme_setup() {

		add_theme_support( 'post-thumbnails' );

		define( 'HEADER_TEXTCOLOR', '' );
		 array (
		     'url' =&gt; '%s/images/headers/customHeaderOne.jpg',
		    'thumbnail_url' =&gt; '%s/images/headers/customHeaderOne-thumbnail.jpg',
		    'description' =&gt; __( 'Business People', 'customtheme' )
		),
		    'cherryblossom' =&gt; array (
		     'url' =&gt; '%s/images/headers/customHeaderTwo.jpg',
		     'thumbnail_url' =&gt; '%s/images/headers/customHeaderTwo-thumbnail.jpg',
		    'description' =&gt; __( 'Chess Set', 'customtheme' )
		),
		    'concave' =&gt; array (
		    'url' =&gt; '%s/images/headers/customHeaderThree.jpg',
		    'thumbnail_url' =&gt; '%s/images/headers/customHeaderThree-thumbnail.jpg',
		    'description' =&gt; __( 'Puzzle Pieces', 'customtheme' )
		)
		) );
		}
		endif;

		if ( ! function_exists( 'customtheme_admin_header_style' ) ) :
		/**
		* Styles the header image displayed on the Appearance &gt; Header admin panel.
		*
		* Referenced via add_custom_image_header() in customtheme_setup().
		*
		* @since 3.0.0
		*/
		function customtheme_admin_header_style() {
		?&gt;
		&lt;style type="text/css"&gt;
			#headimg {
				height: px;
				width: px;
			}
			#headimg h1, #headimg #desc {
				display: none;
			}
                &lt;/style&gt;
                }
                endif;

		</code></pre>
<p>This will setup your theme so that you can upload and manage new custom images. Additionally it allows you to set the banner size so that images that don't fit those dimensions can be cropped to fit. This is half of the work that needs to be done, the next step you must actually insert the code to render the banner into your WordPress theme templates. In most cases this will end up in the header.php file.</p>
<pre><code>

</code>&lt;?php
    // Check if this is a post or page, if it has a thumbnail, and if it's a big one
    if ( is_singular() &amp;&amp;
        has_post_thumbnail( $post-&gt;ID ) &amp;&amp;
        ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post-&gt;ID ), 'post-thumbnail') ) &amp;&amp;
        $image[1] &gt;= HEADER_IMAGE_WIDTH ) :
        // We have a new header image!
        echo get_the_post_thumbnail( $post-&gt;ID, 'post-thumbnail' );
    else : ?&gt;
        &lt;img src="/images/wp/&lt;?php header_image(); ?&gt;" width="&lt;?php echo HEADER_IMAGE_WIDTH; ?&gt;" height="&lt;?php echo HEADER_IMAGE_HEIGHT; ?&gt;" alt="" /&gt;
    &lt;?php endif; ?&gt;<code>
			<img src="/images/wp/&lt;?php header_image(); ?&gt;" alt="" width="&lt;?php echo HEADER_IMAGE_WIDTH; ?&gt;" height="&lt;?php echo HEADER_IMAGE_HEIGHT; ?&gt;" />

		</code></pre>
<p>This code will go through the process of identifying the type of page, if there is a thumbnail and then if the attached image is large enough to fill the space. If it is the image will be rendered, otherwise it will output a default header.</p>
<h2>Custom Content Types</h2>
<p><img src="/images/wp3/custom-content.png" alt="Custom Content" width="585" height="272" /></p>
<p>One of the areas that has always pained me with WordPress is the lack of Custom Content Types. Systems like Drupal and Joomla have had this capability for a long time and in most projects you are going to end up with situations in which the site has different types of content. Whether you have employee bios or need individual listings for homes just having a standard "page" is rarely ideal.</p>
<p>WordPress 3.0 now has the capability to have Custom Content Types. No longer are we restricted to trying to make all content fit with in a post or page, we can define what ever content we need.</p>
<h3>Why Designers Should Care</h3>
<p>Previously if you were designing a site you couldn't design any sort of standard layout that differed greatly from your standard page as there were no great ways to implement it. Meaning if you had a standard set of employee information, unless you worked with more complicated plug-ins or taught your client how to use custom fields you had to keep the content pretty free form.</p>
<p>Now that WordPress supports custom content we can customize the administration panel, add our own custom fields and inputs and then design rich interfaces around them.</p>
<h3>How to Use Custom Content Types</h3>
<p>I will be honest and say that WordPress hasn't made this extremely easy at this point in time. Certainly not as easy as the visual interface of building Custom Content of Drupal's CCK (Content Construction Kit). Much like the other features if you are doing this by hand you will be adding a fair amount of code to your functions.php.</p>
<p>If you are the type that likes to get your hands dirty I recommend you read <a href="http://cogdogblog.com/2010/05/28/setting-up-custom-contenttypes/">this great article about setting up custom content types and fields</a>.</p>
<p>If you are like me then you would rather be designing than hacking through your functions.php, in which case you can choose from a wide range of <a href="http://stylizedweb.com/2010/06/22/essential-plugins-for-wordpress-3-0/">capable plug-ins that will help you build the new content types easily</a>.</p>
<h2>Author Templates</h2>
<p>WordPress has always had a very flexible templating system. Creating new templates for different sections of your site, blog or categories has always been as simple as creating a new file and adding a comment to give the template a name.</p>
<p>Previous releases of WordPress have resulted in category specific template capabilities, and to make a strength even stronger the new version of WordPress now features the capability to have author specific templates.</p>
<h3>Why Designers Should Care</h3>
<p>Experienced designers will agree that context is everything. Not only is it important that the template match the content and context of the site, but also the author.</p>
<p>While this won't apply to all sites, it is becoming more and more common to have different authors writing for a single blog. When you have faced with multiple authors you are going to end up with different writing styles, opinions and content. With these differences it simply makes sense to have different templates for the different authors.</p>
<p>Now of course I am not suggesting that you have a drastically different design, rather a slightly different template that indicates and reflects the author and their characteristics.</p>
<h3>How to Create Custom Author Templates</h3>
<p>Creating an author specific template is incredibly simple, WordPress will look for an author specific template when ever a post is rendered. Finding none it will use a default template. So all you have to do is create a varied template using the WordPress naming structure:</p>
<pre><code>author-{nicename}.php</code></pre>
<p>or</p>
<pre><code>author-{id}.php</code></pre>
<h2>Custom Menus</h2>
<p><img src="/images/wp3/custom-menus.png" alt="Custom Menus" width="585" height="272" /></p>
<p>The custom menu system developed from the <a href="http://www.woothemes.com" target="_new">WooThemes</a> crew is one of the most significant advances in this release. WordPress always had ways to outputting a menu based on page structure, but it was hardly ideal. Often times you had to use a few plug-ins to hide unwanted pages and it really only worked for a primary navigation.</p>
<p>The new menu system makes it easy for clients and designers alike to design and work with rich menu systems with out hacking and extra plug-ins.</p>
<h3>Why Designers Should Care</h3>
<p>Beyond the fact that it makes designing menus easier it also opens up several new options that we previously couldn't do well with WordPress. We can now have multiple menus that don't need to be hard coded. This means easier footer navigation, utility navigation, etc...</p>
<p>Additionally the new menu system gives us a wide range of additional options such as custom CSS classes, descriptions, etc... This gives us a whole range of options that were difficult before, such as:</p>
<ul>
<li>Icons for each menu item</li>
<li>Menu item descriptions (more popular)</li>
<li>Better placement / styling through .first and .last style classes</li>
<li>Better Microformat support through XFN</li>
</ul>
<p>This really opens up a whole new level of design options that were previously very difficult to do.</p>
<h3>How to Use Custom Menus</h3>
<p>When it comes to adding custom menu support for our themes there are two steps, the first involves altering the functions.php file to add menu support.</p>
<pre><code>
			add_action( 'init', 'register_menus' );

			function register_menus() {
				register_nav_menus(
					array(
						'primary-menu' =&gt; __( 'Primary Menu' ),
						'utility-menu' =&gt; __( 'Utility Menu' ),
						'footer-menu' =&gt; __( 'Footer Menu' )
					)
				);
			}
		</code></pre>
<p>This code here calls a function to register the different menus we wish to create. In this example we are creating a primary menu, utility menu and footer menu. The regster_nav_menus() function will create areas in which we can define menus through the administration panel. We just populate the array with the menu name and description (which can be what ever you would like).</p>
<p>From this point we can include the function to display the nav menu in our WordPress theme through the wp_nav_menu() function.</p>
<pre>&lt;?php wp_nav_menu( array( 'theme_location' =&gt; 'primary-menu' ) ); ?&gt;</pre>
<p>This will output the menu we have defined as 'primary-menu'. WordPress will automatically output an unordered list containing the complete menu that is created through the administration panel. By default it also includes quite a bit of extra xhtml and css, but luckily the function can be customized fairly easily. If you are looking to customize your mark-up a bit more consider reading the <a href="http://codex.wordpress.org/Function_Reference/wp_nav_menu" target="_new">reference for the wp_nav_menu() function.</a></p>
<p>Those of you looking to display the description can do so by using the walker function of the menu, <a href="http://stylizedweb.com/2010/08/16/use-the-link-description-in-wordpress-3-0-menus/" target="_new">which you can read more about here</a>.</p>
<h2>Conclusion</h2>
<p>The new version of WordPress has given designers a whole new tool set of functionality and capabilities. We can now put a whole new layer of polish and depth into our designs to provide a better experience for our users.</p>
<p>There is no doubt that WordPress will continue to evolve as a formidable platform and framework for designers and developers alike. As a designer, what features and functionality do you find most useful?</p>
]]></content:encoded>
			<wfw:commentRss>http://stylizedweb.com/2010/10/26/wordpress-3-0-features-for-designers/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Speed up WordPress, WordPress Horsepower Presentation</title>
		<link>http://stylizedweb.com/2010/10/11/speed-up-wordpress-wordpress-horsepower-presentation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://stylizedweb.com/2010/10/11/speed-up-wordpress-wordpress-horsepower-presentation/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 00:42:13 +0000</pubDate>
		<dc:creator>3pointross</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[horsepower]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[page load]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://stylizedweb.com/?p=450</guid>
		<description><![CDATA[I had the pleasure of presenting at Wordcamp Detroit this past weekend. I had previous discussed methods to speeding up WordPress at a local WordPress Ann Arbor event. This gave me a great opportunity to revisit the presentation, polish it up and focus on the core elements that are going to make a significant impact [...]]]></description>
			<content:encoded><![CDATA[<p>I had the pleasure of presenting at <a href="http://wordcampdetroit.com">Wordcamp Detroit </a> this past weekend. I had previous discussed methods to speeding up WordPress at a local <a href="http://www.wordpressannarbor.com" target="_blank">WordPress Ann Arbor</a> event. This gave me a great opportunity to revisit the presentation, polish it up and focus on the core elements that are going to make a significant impact on your WordPress site.</p>
<p>Some of the methods are a bit more difficult and require additional budget or capabilities, however there are tips in the presentation for all levels of WordPress users or developers.</p>
<p>The presentiona not only discusses ways to speed up WordPress, but also why page load time still matters and what techniques and plugins cans ensure that your site loads quickly for all users. You can <a href="http://stylizedweb.com/presentations/wp-hp.pdf" target="_blank">access the slides as a PDF here</a>, or via slideshare below:</p>
<div id="__ss_5408234" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="Speed Up WordPress, WordPress Horsepower" href="http://www.slideshare.net/3pointross/speed-up-wordpress-wordpress-horsepower">Speed Up WordPress, WordPress Horsepower</a></strong><object id="__sse5408234" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wp-hp-101010183033-phpapp01&amp;stripped_title=speed-up-wordpress-wordpress-horsepower&amp;userName=3pointross" /><param name="name" value="__sse5408234" /><param name="allowfullscreen" value="true" /><embed id="__sse5408234" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wp-hp-101010183033-phpapp01&amp;stripped_title=speed-up-wordpress-wordpress-horsepower&amp;userName=3pointross" name="__sse5408234" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/3pointross">3pointross</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://stylizedweb.com/2010/10/11/speed-up-wordpress-wordpress-horsepower-presentation/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Create a Client Area in WordPress</title>
		<link>http://stylizedweb.com/2010/09/07/create-a-client-area-in-wordpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://stylizedweb.com/2010/09/07/create-a-client-area-in-wordpress/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 22:37:55 +0000</pubDate>
		<dc:creator>3pointross</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[area]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[members]]></category>
		<category><![CDATA[permission]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://stylizedweb.com/?p=440</guid>
		<description><![CDATA[It seems to be more and more common for companies to have special areas of their websites specifically for their existing clients. There are a lot of reasons this approach can be a great business strategy. Not only are you able to reward your loyal customers with rewards, you are also encouraging additional interactions and [...]]]></description>
			<content:encoded><![CDATA[<p>It seems to be more and more common for companies to have special areas of their websites specifically for their existing clients. There are a lot of reasons this approach can be a great business strategy. Not only are you able to reward your loyal customers with rewards, you are also encouraging additional interactions and client registrations. While you should always avoid using registration data for malicious reasons it can be a great way to develop a list, evaluate your marketing demographics or get feedback.</p>
<p>While WordPress has a fairly fully functioning registration system out of the box it is really designed for subscribing to a blog and leaving comments. However with a few plug-ins and some tweaks it is pretty easy to develop a full featured client section through your WordPress Installation.</p>
<h2>The Behavior</h2>
<p>Typically a client area works something like this:</p>
<ul>
<li>Client registers for access (or you may want to manually give them access)</li>
<li>They are either approved or auto sent a username / password</li>
<li>They can now login and are forwarded to a section of the site that contains special content, downloads, etc...</li>
<li>When they are done they log out.</li>
</ul>
<p>WordPress can do quite a bit of this for us, including user registration, private pages and the assignment of username and password. The areas in which we would like to get a bit more capabilities would be a more streamlined login page (one that matches the theme vs the WordPress admin login), forwarding the user to the proper area and collecting more information about the customer than just username and password.</p>
<h2>Collecting More Data</h2>
<p>The first step is either creating a user for clients (if you want to be more selective and hand them out on a case by case bases) or allowing them to register for the client area. While the WordPress user profile does allow the storing of some basic information it is not included in the normal registration process and leaves out some potentially important details. With the <a href="http://skullbit.com/wordpress-plugin/register-plus/" target="_blank">Register Plus plugin</a> you can add common fields such as phone number, address, etc... but you can also manually create additional profile fields and include them in the registration form.</p>
<h2><a href="http://stylizedweb.com/wp-content/uploads/2010/09/ss-rplus.png"><img class="alignnone size-full wp-image-442" title="ss-rplus" src="http://stylizedweb.com/wp-content/uploads/2010/09/ss-rplus.png" alt="" width="605" height="200" /></a></h2>
<h2>Moderate Registrations</h2>
<p>Worried that just anyone is going to sign up and access the special area? The appropriately titled <a href="http://wordpress.org/extend/plugins/new-user-approve/" target="_blank">New User Approval</a> plugin has got you covered. Now you will be e-mailed when a user tries to register and can manually approve or disallow case by case.</p>
<h2>Move Users in the Right Direction</h2>
<p>Now when a user logins in you probably don't want them to go to the dashboard. This would be pretty confusing and disorienting and they likely would have little idea on how to get to the client section they were interested in. With <a href="http://wordpress.org/extend/plugins/peters-login-redirect/" target="_blank">Peters Login Redirect plugin</a> you can choose exactly where logged in users will go. Typically this will be done based on userlevel, however if you are looking to have content and information specific to a given client then you can also redirect them to pages based on their username.</p>
<h2><a href="http://stylizedweb.com/wp-content/uploads/2010/09/ss-redirects.png"><img class="alignnone size-full wp-image-443" title="ss-redirects" src="http://stylizedweb.com/wp-content/uploads/2010/09/ss-redirects.png" alt="" width="605" height="200" /></a></h2>
<h2>Protecting Pages</h2>
<p><a href="http://stylizedweb.com/wp-content/uploads/2010/09/ss-private.png"><img class="alignright size-full wp-image-446" title="ss-private" src="http://stylizedweb.com/wp-content/uploads/2010/09/ss-private.png" alt="" width="302" height="311" /></a>Now the whole point of all of this is that we want some content to only be available to some users. At the most basic level all you have to do is change the default visibility with in the publishing properties from "Public" to "Private." However this only works if you don't mind all registered users being able to see all of the private content. IE: It is an "all or nothing" system. If you need more granularity then it is time to install the <a href="http://wordpress.org/extend/plugins/user-access-manager/" target="_blank">User Access Manager</a> plugin, which will give you the capability to setup groups which have access to specific pages and sections.</p>
<h2>Better Login &amp; Register</h2>
<p>While the Register Plus plugin will let you change the default login logo from WordPress to your own, it is highly unlikely that the login page will actually match the rest of your sites design. While you could figure it is close enough and be on your marry way it wouldn't be a bad idea to include a login form from one of your templates. This way the users experience is never put at jeopardy and there is no risk of confusion.</p>
<p>While you could simply hard code the form HTML from the login page it is much easier to use one of the many available plugins to facilitate the experience.</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/registration-form-widget/" target="_blank">Registration Widget</a></li>
<li><a href="http://wordpress.org/extend/plugins/simplr-registration-form/" target="_blank">Simplr User Registration Form</a></li>
<li><a href="http://wordpress.org/extend/plugins/wp-sliding-logindashboard-panel/" target="_blank">Sliding Login</a></li>
<li><a href="http://wordpress.org/extend/plugins/sidebar-login/" target="_blank">Sidebar Login</a></li>
</ul>
<p>These plugins will help you integration the login and registration forms into your site rather than take them to the WordPress styled administrative register / login pages.</p>
<h2><a href="http://stylizedweb.com/wp-content/uploads/2010/09/sweb-login.png"><img class="alignnone size-full wp-image-445" title="sweb-login" src="http://stylizedweb.com/wp-content/uploads/2010/09/sweb-login.png" alt="" width="605" height="200" /></a></h2>
<h2>Build, Build, Build</h2>
<p>Once you have these plugins put together you should be ready to build out the content like you would any other pages in WordPress. This is a simple and easy way to go about making a WordPress Client area. Depending on your creativity it wouldn't be hard to develop Calendars for specific groups, file upload sections, etc... Really the possibilities become endless.</p>
<p>In a later post we will cover how to build a more complex client area for WordPress using current_user information and extra fields.</p>
]]></content:encoded>
			<wfw:commentRss>http://stylizedweb.com/2010/09/07/create-a-client-area-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Use the Link Description in WordPress 3.0 Menus</title>
		<link>http://stylizedweb.com/2010/08/16/use-the-link-description-in-wordpress-3-0-menus/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://stylizedweb.com/2010/08/16/use-the-link-description-in-wordpress-3-0-menus/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 17:43:49 +0000</pubDate>
		<dc:creator>Dejan Cancarevic</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[description]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[functionality]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[subtitle]]></category>
		<category><![CDATA[title]]></category>

		<guid isPermaLink="false">http://stylizedweb.com/?p=426</guid>
		<description><![CDATA[One of the great new features that the recent WordPress 3.0 release has given us is the new and improved menu system. Those of you who have built complex websites in WordPress will undoubtably share my pain in working with menu systems in WordPress. Previously it seemed that we would have to use a mixture [...]]]></description>
			<content:encoded><![CDATA[<p>One of the great new features that the recent WordPress 3.0 release has given us is the new and improved menu system. Those of you who have built complex websites in WordPress will undoubtably share my pain in working with menu systems in WordPress. Previously it seemed that we would have to use a mixture of plug-in cocktails and hard coded sub-menus.</p>
<p>The new menu system alleviates a lot of these problems and gives us easy control over our menus. With multiple menu support, drag and drop ordering and easy title changes it is hard to imagine needing much more.</p>
<p>The new system even addresses a challenge I have always had with WordPress, and that is of using link descriptions. Link descriptions typically are one or two lines of descriptive text below a primary navigation item used to  describe the section or link. They are a nice visual touch and can really enhance usability in a significant way.</p>
<p><img class="alignright size-full wp-image-431" title="link-desc" src="http://stylizedweb.com/wp-content/uploads/2010/08/link-desc.png" alt="" width="491" height="165" /></p>
<p>Until now there wasn't a great way to do this, even with the use of plug-ins. Even with the use of custom fields and some hacking it was never perfect.</p>
<p>The new menu system allows us to do a bit more customization to our menus, such as adding custom classes, titles and even including a description.</p>
<h2>Working with Link Descriptions</h2>
<p>The first step is of course enabling custom menu support through your theme. This can be done with the following simple code in your functions.php file:</p>
<pre><code>add_action( 'init', 'register_menus' );
     function register_menus() {
           register_nav_menus(
                array(
                     'primary-menu' =&gt; __( 'Primary Menu' )
                 )
            );
      }</code></pre>
<p><a href="http://stylizedweb.com/wp-content/uploads/2010/08/screen-options1.png"><img class="alignnone size-full wp-image-433" title="screen-options" src="http://stylizedweb.com/wp-content/uploads/2010/08/screen-options1.png" alt="" width="605" height="191" /></a>You will then find a "Menu" link in your appearance tab with in the WordPress administration interface. Once clicked on make sure that you turn on "link description" with in the Screen Options.</p>
<p>At this point we can now define where we would like our menu to display in our theme by adding the following function to our theme files:</p>
<pre><code>&lt;?php wp_nav_menu( array( 'theme_location' =&gt; 'primary-menu' ) ); ?&gt;</code></pre>
<p>This will output the menu with our defined order and menu titles. It won't however output the description by default, in order to do so we will have to take advantage of the $walker function with in WordPress.</p>
<p>This is done by creating a custom class in our functions.php, such as the following:</p>
<p><br class="clear" /></p>
<pre><code>class My_Walker extends Walker_Nav_Menu
{
	function start_el(&amp;$output, $item, $depth, $args) {
		global $wp_query;
		$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';

		$class_names = $value = '';

		$classes = empty( $item-&gt;classes ) ? array() : (array) $item-&gt;classes;

		$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) );
		$class_names = '';

		$output .= $indent . '&lt;li id="menu-item-'. $item-&gt;ID . '"' . $value . $class_names .'&gt;';

		$attributes  = ! empty( $item-&gt;attr_title ) ? ' title="'  . esc_attr( $item-&gt;attr_title ) .'"' : '';
		$attributes .= ! empty( $item-&gt;target )     ? ' target="' . esc_attr( $item-&gt;target     ) .'"' : '';
		$attributes .= ! empty( $item-&gt;xfn )        ? ' rel="'    . esc_attr( $item-&gt;xfn        ) .'"' : '';
		$attributes .= ! empty( $item-&gt;url )        ? ' href="'   . esc_attr( $item-&gt;url        ) .'"' : '';

		$item_output = $args-&gt;before;
		$item_output .= '&lt;a'. $attributes .'&gt;';
		$item_output .= $args-&gt;link_before . apply_filters( 'the_title', $item-&gt;title, $item-&gt;ID ) . $args-&gt;link_after;
		$item_output .= '&lt;span&gt;' . $item-&gt;description . '&lt;/span&gt;';
		$item_output .= '&lt;/a&gt;';
		$item_output .= $args-&gt;after;

		$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
	}
}</code></pre>
<p>This will add the description with in a span element when we tweak our template code to the following:</p>
<pre><code>&lt;?php
       $walker = new My_Walker;
	wp_nav_menu(array(
                'theme_location' =&gt; 'primary-menu',
		'walker' =&gt; $walker
	));
?&gt;</code></pre>
<p>Tada, now we can have menu descriptions such as on this <a href="http://100.jrn.msu.edu" target="_new">Buddypress project we worked on here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://stylizedweb.com/2010/08/16/use-the-link-description-in-wordpress-3-0-menus/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Essential Plugins for WordPress 3.0</title>
		<link>http://stylizedweb.com/2010/06/22/essential-plugins-for-wordpress-3-0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://stylizedweb.com/2010/06/22/essential-plugins-for-wordpress-3-0/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 01:27:35 +0000</pubDate>
		<dc:creator>Dejan Cancarevic</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[custom post types]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://stylizedweb.com/?p=416</guid>
		<description><![CDATA[WordPress 3.0 is really a revolutionary upgrade compared to WordPress 2.0. With integrated multi-users, custom post types, custom background images, custom taxonomies, the new menu system and custom header images it is now both a blogging powerhouse and enterprise capable CMS out of the box. Despite the official release only being a week or two ago [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress 3.0 is really a revolutionary upgrade compared to WordPress 2.0. With integrated multi-users, custom post types, custom background images, custom taxonomies, the new menu system and custom header images it is now both a blogging powerhouse and enterprise capable CMS out of the box. Despite the official release only being a week or two ago there are already some powerful plugins that will help you take advantage of the new features.</p>
<p>While you are upgrading to WordPress 3.0 don't hesitate to install these plugins as well.</p>
<h2>Custom Post Type UI</h2>
<p>One of the powerful new features to WordPress is the ability to create custom post types. This has long been a lacking feature in WordPress. The custom post types allows you to define custom "types" of content such as listings, locations, employee bios, etc...</p>
<p>The usage of custom post types is not exactly straight forward however. You have to be pretty comfortable working with your functions.php file and even then it is time consuming. Custom Post Type UI allows you to easily define and customize your post types through the WordPress administration panel using a GUI. Clearly an essential plugin for WordPress 3.0.</p>
<p><a href="http://wordpress.org/extend/plugins/custom-post-type-ui/" target="_blank">Download Custom Post Type UI Here</a></p>
<h2>WP Post Type UI</h2>
<p>Inspired by Custom Post Type this plug-in takes the same concept to the next level and gives you additional control and customization.</p>
<ul>
<li>True WP user interface look and feel</li>
<li>Add/Edit/Delete dynamic "Post Types" and "Taxonomies"</li>
<li>Search "Post Types" from name and description</li>
<li>Search "Taxonomies" from name and "Post Type"</li>
<li>Matching labels when creating records</li>
<li>Shows post and active taxonomy count</li>
<li>Advanced "Post Types" and "Taxonomies" options</li>
</ul>
<p><a href="http://wordpress.org/extend/plugins/wp-post-type-ui/" target="_blank">Download WP Post Type UI Here</a></p>
<h2>GD Taxonomies Tools</h2>
<p>The ability to define custom tags and taxonomies opens up endless possibilities for WordPress. We can now use WordPress to develop custom taxonomies like colors, sizes, locations, etc... Again, list custom post types it can be a bit complicated to figure out and work with. This plugin adds many tools including custom post types and taxonomies management and widget for taxonomies terms cloud.</p>
<p><a href="http://wordpress.org/extend/plugins/gd-taxonomies-tools/" target="_blank">Download GD Taxonomies Tools Here</a></p>
<h2>WP Multi Networks</h2>
<p>While WordPress Multi User has been around for awhile the new WordPress 3.0 has merged the two versions of the site and allow the easy development of networks of sites. This plugin is able to turn your multi-site installation of WordPress into many multi-site networks, all surrounding one central user base.</p>
<p>WP Multi Network allows cape wearing super admins to create new network collections of sites, allowing for infinitely extensible site, network, and domain arrangements.</p>
<p><a href="http://wordpress.org/extend/plugins/wp-multi-network/" target="_blank">Download WP Multi Networks Here</a></p>
<h2>WP Title 2</h2>
<p>Once you take advantage of WordPress custom post types and the menu management tool you are very likely to run into a situation in which you want the title of the page and the title used in the menu would be different. Some content management systems already take advantage of this and now with this plug-in WordPress does too.</p>
<p>WP Title 2 lets you easily define a different menu label than your page title. This makes the site easier to administer and can improve usability of the site as well.</p>
<p><a href="http://wordpress.org/extend/plugins/wp-title-2/" target="_blank">Download WP Title 2 Here</a></p>
<h2>Post Type Switcher</h2>
<p>Have an existing post that you want to change to a different custom post type? Rather than deleting and recreating simply use this plugin that gives you the capability to switch between posts, pages and custom post types.</p>
<p><a href="http://wordpress.org/extend/plugins/post-type-switcher/" target="_blank">Download Post Type Switcher Here</a></p>
<h2>Multi Post Thumbnails</h2>
<p>While post thumbnails were introduced earlier this is still a great plugin. If you have ever wanted the ability to have more than one post thumbnail than this plugin is for you.</p>
<p><a href="http://wordpress.org/extend/plugins/multiple-post-thumbnails/" target="_blank">Download Multi Post Thumbnails Here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stylizedweb.com/2010/06/22/essential-plugins-for-wordpress-3-0/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
	</channel>
</rss>

