<?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>Cozmoslabs &#187; Cristian</title>
	<atom:link href="http://www.cozmoslabs.com/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cozmoslabs.com</link>
	<description>Web design and development experiment.</description>
	<lastBuildDate>Fri, 03 Feb 2012 16:05:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Q&amp;A about Akismet with Pete Davies</title>
		<link>http://www.cozmoslabs.com/2748-qa-about-akismet-with-pete-davies/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=qa-about-akismet-with-pete-davies</link>
		<comments>http://www.cozmoslabs.com/2748-qa-about-akismet-with-pete-davies/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 15:43:35 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[akismet]]></category>
		<category><![CDATA[interview]]></category>

		<guid isPermaLink="false">http://www.cozmoslabs.com/?p=2748</guid>
		<description><![CDATA[Pete Davies is a Business Engineer at Automattic and you&#8217;ll probably find him writing articles on the Akismet blog. Akismet is an anti-spam filter for comments. If you visit the website, Akismet is described as &#8220;possibly the best way in the world to protect you from web spam&#8221;, which from my experience is not far [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_2755" class="wp-caption alignright" style="width: 310px"><img src="http://www.cozmoslabs.com/wp-content/uploads/2011/11/akismet_logo.png" alt="" title="akismet_logo" width="300" height="90" class="size-full wp-image-2755" /><p class="wp-caption-text">(a-kĭz-mĭt)</p></div><a href="http://about.me/petedavies">Pete Davies</a> is a Business Engineer at Automattic and you&#8217;ll probably find him writing articles on the <a href="http://blog.akismet.com/">Akismet blog.</a></p>
<p>Akismet is an anti-spam filter for comments. If  you visit the website, Akismet is described as <em>&#8220;possibly the best way in the world to protect you from web spam&#8221;</em>, which from my experience is not far from the truth.</p>
<p>However, with over 9 million websites that use Akismet on a daily basis, questions about privacy and differences between the personal and commercial account are bound to appear and Pete was really open to answer a few of them.</p>
<p><span id="more-2748"></span></p>
<h3>
<blockquote><p>Akismet filters out your comment and track-back spam for you, so you can focus on more important things.</p></blockquote>
</h3>
<p><strong>Question:</strong> Tell us a bit about what you do over at Akismet and Automattic.<br />
<strong>Answer:</strong> I work with the Premium Services group at Automattic, which is responsible for VaultPress, VideoPress and Akismet.</p>
<p><strong>Question:</strong> What are there any limits on the free account?<br />
<strong>Answer: </strong>Yes, as stated in our <a href="http://akismet.com/tos">ToS</a>, each Personal API Key should be used only on one site, and with no more than 80,000 comments/month. (There&#8217;s no restriction on the number of Personal API Keys that someone can have, however).</p>
<p><strong>Question:</strong> Does a site that displays ads fits under the Commercial account?<br />
<strong>Answer:</strong> I think your question is the wrong way around. Can a site with ads ever be under a personal account? Absolutely. Personal doesn&#8217;t mean you can&#8217;t make any money at all &#8212; just that it needs to be for a personal site. If you make beer money from some Google AdSense, that&#8217;s great &#8212; we have no desire to take that off you.</p>
<p><strong>Question:</strong> Will Akismet enforce users to move from Free to Commercial (of course, if they are using it for commercial sites)<br />
<strong>Answer:</strong> If we notice a site or an API Key that is blatantly abusing our Terms of Service then yes, we absolutely will ask them to move to a paid subscription, or stop using Akismet. We always give plenty of notice.</p>
<p><strong>Question:</strong> Will Akismet add a back charge in case of users that should be under Commercial but are still using the Free account.<br />
<strong>Answer:</strong> We&#8217;ve never asked anybody for back payments. I don&#8217;t expect that we&#8217;d ever start either.</p>
<p><strong>Question:</strong> Anything else you might want to mention to Akismet users?<br />
<strong>Answer:</strong> Akismet now filters close to 2 billion pieces of spam every month from over 9 million websites. That takes a lot of resources to keep the service up and running reliably and with the accuracy levels that we have. Some people seem to think that the service should be free &#8212; we simply couldn&#8217;t afford to do that&#8230; so somebody has to pay something. I&#8217;m always open to ideas about how we could structure our subscriptions better, but this is the best and fairest we&#8217;ve been able to come up with to date.</p>
<h3>Conclusions</h3>
<p>While Akismet isn&#8217;t perfect for <a href="http://www.dev4press.com/2011/blog/do-you-really-need-akismet/">everyone</a>, I think they&#8217;re doing a pretty good job keeping spam away from millions of blogs. </p>
<p>Other solutions exist like <a href="http://antispambee.com/">Anti-Spam Bee</a> (I&#8217;m currently using it and I&#8217;m happy with it), but they are based on some smart css/javascript/php tricks and mostly work because spam-bots are stupid. </p>
<p>As the spam-bots continue to increase in complexity the only thing that will stop it will be human curation and machine learning. The only way to achieve something like this is to use a centralized service like Akismet or if some smart guy/gall will go and build a decentralized system similar to BitCoin. (although I might be talking about fairy tales here since I don&#8217;t know how BitCoin really works) </p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.cozmoslabs.com/2748-qa-about-akismet-with-pete-davies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Developer Tools</title>
		<link>http://www.cozmoslabs.com/2664-wordpress-developer-tools/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-developer-tools</link>
		<comments>http://www.cozmoslabs.com/2664-wordpress-developer-tools/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 10:58:43 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Theme Design]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[custom field]]></category>
		<category><![CDATA[custom meta box]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[wordpress development tools]]></category>

		<guid isPermaLink="false">http://www.cozmoslabs.com/?p=2664</guid>
		<description><![CDATA[During the last 3 years while providing web-design and development solutions to our clients over at Reflection Media, we&#8217;re tried our best to optimize our processes and development time by reusing code, creating a database of often used code snipets and constructing generalist plugins when possible. While this didn&#8217;t always work out as expected, we&#8217;ve [...]
Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/500-street-wordpress-theme/' rel='bookmark' title='Street WordPress Theme'>Street WordPress Theme</a></li>
<li><a href='http://www.cozmoslabs.com/1130-the-new-smarter-and-wordpress-3-0/' rel='bookmark' title='The new Smarter and WordPress 3.0'>The new Smarter and WordPress 3.0</a></li>
<li><a href='http://www.cozmoslabs.com/1667-wordpress-automatic-updates-based-on-folder-name-is-that-a-problem/' rel='bookmark' title='WordPress Automatic Updates Based on Folder Name. Is That a Problem?'>WordPress Automatic Updates Based on Folder Name. Is That a Problem?</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_2691" class="wp-caption alignright" style="width: 310px"><img src="http://www.cozmoslabs.com/wp-content/uploads/2011/11/wordpress-developer-tools.jpg" alt="WordPress Developer Tools" title="wordpress-developer-tools" width="300" height="225" class="size-full wp-image-2691" /><p class="wp-caption-text">WordPress Developer Tools</p></div><br />
During the last 3 years while providing web-design and development solutions to our clients over at <a href="http://www.reflectionmedia.ro">Reflection Media</a>, we&#8217;re tried our best to optimize our processes and development time by reusing code, creating a database of often used code snipets and constructing generalist plugins when possible.</p>
<p>While this didn&#8217;t always work out as expected, we&#8217;ve tried to push for these goals to the best of our abilities and tried to &#8220;Do The Right Thing&#8221; as often as possible. Out of our efforts we ended up with two cool projects: <strong>BareSkin</strong> &#8211; a WordPress Starter Theme and <strong>Custom Field Creator</strong> &#8211; a easy to use class to create Meta Boxes for posts, pages and custom post types.</p>
<p>By building these <strong>WordPress Developer Tools</strong> we hope to save time and energy on our projects and create a solid base for more complex themes and plugins.</p>
<p>Both projects are in a <code>ALPHA</code> stage but stable enough to be of real use to you as well. I&#8217;ve been using both of them in client projects and I&#8217;m really happy on how they turned out.</p>
<p><span id="more-2664"></span></p>
<h3>BareSkin</h3>
<p><strong>Is a HTML5 WordPress theme to jump-start the development of another full-featured theme.</strong></p>
<p>When we started developing custom themes for our clients, Thematic saved us a lot of time. We didn&#8217;t have to worry about all the things WordPress needs inside a theme and just used Child Themes to style and hooks to add custom functionality.</p>
<p>It all worked well up to a point. You see, the more custom functionality you need, more code goes inside <em>functions.php</em>. We ended up with thousands of lines of code inside <em>functions.php</em> on some of our more complex projects. Once you start unhooking existing functionality and hooking your own, you stop saving time and becomes a BIG pain in the butt to get anything working well.</p>
<p>Our first step away from this was creating our own internal framework. I didn&#8217;t like the direction Thematic has taken so I started looking elsewhere for inspiration and guidance. As it happens, <a href="http://justintadlock.com/archives/2010/08/16/frameworks-parent-child-and-grandchild-themes">Justin Tadlock</a> felt the same thing about frameworks and released <a href="http://themehybrid.com/hybrid-core">Hybrid Core</a> &#8211; a WordPress theme development framework for creating solid parent themes.</p>
<p>We used Hybrid Core and created an internal framework, kept Thematic&#8217;s awesome XHTML structure, but ended up creating our own framework with the same problems as Thematic or any framework out there: we still used hooks and filters to add functionality inside templates.</p>
<p>Somehow that felt wrong to me so after a few projects with it we ditched it and I started looking again, this time by creating a document with the requirements of the theme that fit well with our web-development process.</p>
<h4>BareSkin requirements:</h4>
<ul>
<li>NOT a theme framework. Think of it as a parent theme with limited support for hooks and filters. <strong>Modifications should be made by forking it</strong> and creating a new theme, not through Child Themes.</li>
<li>Functionality should be added through a modular system ( like <em>add_theme_support</em> )</li>
<li>The loops should be included through <em>get_template_part</em> so template files are as easy to understand as possible.</li>
<li>Limited Admin Panel &#8211; only functionality that might belong to a theme, everything else delegate to plugins.</li>
<li>When possible use conventions over configurations</li>
<li>The theme will support 3 layout structures through css includes: 2 columns right-aside, 2 columns left-aside, 3 columns content-in-the-middle similar to Thematic as well as a responsive.css file</li>
</ul>
<p>We&#8217;ve used <a href="http://wordpress.org/extend/themes/toolbox">ToolBox&#8217;s</a> HTML structure, took part of the functionality from Hybrid Core and then mashed it all together to create something really cool.</p>
<p>This is not a finished theme. That&#8217;s why for now it&#8217;s only available via GitHub and will not be submitted to the theme repository for now. Work still needs to be done to the existing CSS structure and you might find inconsistencies in the code.</p>
<div class="preview_download">
<a href="https://github.com/madalinungureanu/bareskin"><strong> &gt;&gt; DOWNLOAD / FORK BareSkin from GitHub &lt;&lt; </strong></a>
</div>
<div class="update">
<h3 style="text-align:center;">UPDATE</h3>
<p>Custom Fields Creator became WordPress Creation Kit </p>
</div>
<h3>Custom Fields Creator</h3>
<p>Custom fields have been in WordPress since a long time. They are an absolute must when it comes to custom post types or even storing extra information regarding a certain page.</p>
<p>However, the UI to manage those fields is somewhat lacking in functionality. You can only add key =&gt; value pairs. No labels, no descriptions. The cool thing is that we can create Custom Meta Boxes and save that information in custom fields.</p>
<div id="attachment_2677" class="wp-caption alignnone" style="width: 611px"><img class="size-full wp-image-2677" title="cf_ui" src="http://www.cozmoslabs.com/wp-content/uploads/2011/11/cf_ui.png" alt="" width="601" height="251" /><p class="wp-caption-text">Default Custom Field Interface.</p></div>
<p>While <a href="http://wp.smashingmagazine.com/2011/10/04/create-custom-post-meta-boxes-wordpress/">creating Meta Boxes</a> is really cool, it&#8217;s also something we can take a bit further and abstracted a metabox class so you could create them with a few lines of code.</p>
<p><strong>Taking the idea a bit further, what we really needed was repeater fields with our meta boxes.</strong></p>
<p>There are a few cool plugins that allows you to do just that (ACF and Magic Fields 2 come to mind) but we needed something that was easy to embed in custom client plugins where the client didn&#8217;t need access to the structure of the fields, particularly since we&#8217;re using standard WordPress functions to output the information in a page template for the front-end.</p>
<div id="attachment_2682" class="wp-caption alignnone" style="width: 610px"><a href="http://www.cozmoslabs.com/wp-content/uploads/2011/11/cfc-ui.jpg"><img class="size-full wp-image-2682 " title="cfc-ui" src="http://www.cozmoslabs.com/wp-content/uploads/2011/11/cfc-ui.jpg" alt="" width="600"/></a><p class="wp-caption-text">Custom Fields Creator UI to create the testimonials on wpMail.me</p></div>
<h4>Here&#8217;s what Custom Fields Creator dose:</h4>
<ul>
<li><strong>Easy to configure. </strong>You just need to setup two arrays (more info on the GitHub readme file)</li>
<li><strong>Support for Repeater Fields Metabox. </strong>This is the main reason we built it. Let me give you an example. For a particular client we needed to create a &#8220;The Team&#8221; page. Each team member has a name, title, email address and phone number. Initially all information was added in the Visual Editor by us, but when the client updated that information he easily broke the HTML and the formatting was gone together with the sidebars since he didn&#8217;t close a tag <img src='http://www.cozmoslabs.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Having the information nicely separated in input fields and listing it on the front-end using <a href="http://codex.wordpress.org/Function_Reference/get_post_meta">get_post_meta</a> made it easy for the client to update his information and we didn&#8217;t have to it for them.</li>
<li>Drag and Drop to sort the Repeater Fields.</li>
<li>Easy to create custom Meta Boxes with multiple fields each (let&#8217;s say you need a project extra information like: budget, timeframe  and team members)</li>
<li>Support for all input fields (WYSIWYG is coming soon)</li>
<li>Image / File upload supported via the WordPress Media Uploader (at this point the files aren&#8217;t attached to the post and are available just in the media library but we&#8217;re thinking have to possibility  to chose if needed)</li>
<li>Possibility to target only certain page-templates (there is no point in having &#8220;the team&#8221; metabox shown on the &#8220;Our Clients&#8221; page now is it? ), target certain custom post types and even unique ID&#8217;s.</li>
</ul>
<p>There are other things on the list for it, proper documentation is one (you&#8217;ll find a readme file on github for now), WYSIWYG, validation and tweaks to the UI. At this point is just important to let people know about it and hopefully someone will find it useful.</p>
<div class="preview_download">
<a href="https://github.com/madalinungureanu/wordpress-creation-kit-api"><strong> >> DOWNLOAD / FORK Custom Fields Creator from GitHub << </strong></a>
</div>
<h3>Future Plans</h3>
<p>I think at this point creating proper documentation is a priority for both projects. For BareSkin we need to finalize the CSS so it&#8217;s easy to build upon it, as for Custom Fields Creator tweaking it&#8217;s UI is something I want to do most. I think the UI and ease of use will be THE big feature for both projects and not adding to much extra functionality. They don&#8217;t have to do everything, just need to give you a head-start and let you focus on the fun stuff.</p>
<p>I haven&#8217;t coded any of them, my colleague and good friend <strong>Madalin Ungureanu</strong> did, but I&#8217;ve created the initial requirements for both, did a fair amount of testing and currently working on improving them.</p>
<p>I believe it&#8217;s very important to have solid <strong>WordPress Developer Tools </strong>that allows you to build other cool stuff easily without having to do a lot of copy-pasting between projects. Hopefully they will be of help to other developers as well.</p>
<p><strong>If you do end-up working with any of them I would love to hear about it in the comments.</strong></p>
<p>Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/500-street-wordpress-theme/' rel='bookmark' title='Street WordPress Theme'>Street WordPress Theme</a></li>
<li><a href='http://www.cozmoslabs.com/1130-the-new-smarter-and-wordpress-3-0/' rel='bookmark' title='The new Smarter and WordPress 3.0'>The new Smarter and WordPress 3.0</a></li>
<li><a href='http://www.cozmoslabs.com/1667-wordpress-automatic-updates-based-on-folder-name-is-that-a-problem/' rel='bookmark' title='WordPress Automatic Updates Based on Folder Name. Is That a Problem?'>WordPress Automatic Updates Based on Folder Name. Is That a Problem?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.cozmoslabs.com/2664-wordpress-developer-tools/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>What Is WordPress?</title>
		<link>http://www.cozmoslabs.com/1664-what-is-wordpress/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-is-wordpress</link>
		<comments>http://www.cozmoslabs.com/1664-what-is-wordpress/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 15:15:53 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[what is WordPress]]></category>
		<category><![CDATA[WordPress plugins]]></category>
		<category><![CDATA[WordPress themes]]></category>

		<guid isPermaLink="false">http://www.cozmoslabs.com/?p=1664</guid>
		<description><![CDATA[Ever now and again the question arises with new clients that aren&#8217;t really tech savvy: &#8220;What Is WordPress?&#8221; What I&#8217;m hopping to achieve with this post is to drop the technical jargon for a minute and explain in down to earth words what is WordPress , how can it help you, what is WordPress.com, what&#8217;s [...]
Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/1246-qandapress-a-qa-platform-based-on-wordpress/' rel='bookmark' title='QandaPress, a Q&amp;A platform based on WordPress'>QandaPress, a Q&#038;A platform based on WordPress</a></li>
<li><a href='http://www.cozmoslabs.com/527-wordpress-as-a-social-platform/' rel='bookmark' title='WordPress as a social platform'>WordPress as a social platform</a></li>
<li><a href='http://www.cozmoslabs.com/164-installing-wordpress-child-themes-customizing/' rel='bookmark' title='Installing WordPress Child Themes and Customizing the Byty Theme'>Installing WordPress Child Themes and Customizing the Byty Theme</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Ever now and again the question arises with new clients that aren&#8217;t really tech savvy: <strong>&#8220;What Is WordPress?&#8221;</strong></p>
<p><em>What I&#8217;m hopping to achieve with this post is to drop the technical jargon for a minute and explain in down to earth words what is WordPress , how can it help you, what is WordPress.com, what&#8217;s a theme and why do you need plugins. </em></p>
<h3>What is WordPress?</h3>
<p><strong>WordPress</strong> is a FREE web software that anyone can use to create and update a blog or web-site. You can install WordPress on your web-server (or hosting account) and then use the user interface to <strong>create pages, upload images or write articles. </strong><br />
<span id="more-1664"></span><br />
Most importantly you can manage your entire website without any technical knowledge or the need to write code. Everything is done from the admin panel where only authenticated users can access and modify your website.</p>
<div id="attachment_2093" class="wp-caption alignnone" style="width: 600px"><img class="size-full wp-image-2093" title="wordpress_login_screen" src="http://www.cozmoslabs.com/wp-content/uploads/2011/09/wordpress_login_screen.png" alt="" width="590" height="423" /><p class="wp-caption-text">WordPress login screen. Only allowed users are able to modify your content.</p></div>
<p><strong> Some of the things WordPress let&#8217;s you do are:</strong></p>
<ul>
<li>Create new pages for your website or blog (like a About Us or Contact page).</li>
<li>Create menus so your site visitors can find the way around the site and discover relevant information.</li>
<li>Write articles in a chronological order so the newest articles are always at the top.</li>
<li>Allow visitors to leave comments to the articles (or posts) you&#8217;ve written.</li>
<li>Gives you the possibility to have multiple users that can create and update the information on the website. (this is called user management ).</li>
<li>Gives your site a unique design by using Themes (more on this later on).</li>
<li>Adds extra-functionality that doesn&#8217;t come standard with the default installation through Plugins (something simple like a contact form or even a forum for your users &#8211; we&#8217;ll talk about this later on).</li>
</ul>
<div id="attachment_2099" class="wp-caption alignnone" style="width: 600px"><img class="size-full wp-image-2099" title="wordpress_admin_pannel" src="http://www.cozmoslabs.com/wp-content/uploads/2011/09/wordpress_admin_pannel.png" alt="The WordPress Admin Pannel" width="590" height="401" /><p class="wp-caption-text">The WordPress Admin Pannel</p></div>
<h3>Isn&#8217;t WordPress just a blogging software?</h3>
<p><strong>The short answer is NO</strong>.</p>
<p>While WordPress started as a blogging software it&#8217;s now used by companies and institutions all across the globe manage and update their websites. <a href="http://www.nytimes.com/interactive/blogs/directory.html">The New York Times</a>, <a href="http://business.blogs.cnn.com/">CNN</a>, <a href="http://www.thefordstory.com/">Ford</a> and <a href="http://stylenews.peoplestylewatch.com/">People Magazine</a> , just to name a few, are using WordPress to power certain parts of their online business.</p>
<p>WordPress can be used as a <em>publishing platform for news sites</em>, <em>membership site</em>, <em>online shop</em> and even as <em>a social network</em> similar to Facebook.</p>
<p>To put things in perspective, from all the websites in the world, <a href="http://w3techs.com/technologies/overview/content_management/all"><strong>around 14% are using WordPress</strong></a> to manage and update their content. That&#8217;s a lot of websites.</p>
<h3>What is WordPress.com?</h3>
<p>There are two flavors of WordPress. On the one hand there is the open-source free software that you can download and install on your website from <a href="http://wordpress.org">http://wordpress.org</a>. On the other hand there is <a href="http://wordpress.com">http://wordpress.com</a>, <strong>a self hosted service</strong> that give users the possibility to create blogs for free without the need to have a hosting account.</p>
<div id="attachment_2312" class="wp-caption alignnone" style="width: 600px"><img class="size-full wp-image-2312" title="wordpress.com" src="http://www.cozmoslabs.com/wp-content/uploads/2011/09/wordpress.com_.png" alt="wordpress.com screenshot" width="590" height="396" /><p class="wp-caption-text">WordPress.com helps milions of people publish their thoughts on the web.</p></div>
<p>The company behind WordPress.com is called <a href="http://automattic.com/">Automattic</a>. The CEO of Automattic, Matt Mullenweg, is also one of the co-founders WordPress, the open-source software.</p>
<h3>What is a WordPress Theme?</h3>
<p>Fundamentally, a WordPress Theme is a way to &#8220;skin&#8221; your website. This means the design and presentation of the site is managed by the Theme.</p>
<p>There are multiple places to get hold of a WordPress theme. The <a title="http://wordpress.org/extend/themes/" href="http://wordpress.org/extend/themes/">WordPress Theme Directory</a> is the official site for WordPress Themes which have been checked and inspected, and are free for downloading. There are also a lot of commercial themes, however if you are going to buy one I suggest you chose one of the companies on <a href="http://wordpress.org/extend/themes/commercial/">this page</a> since they are released under the GPL license, the same as the WordPress software.</p>
<p><strong> Using Themes</strong></p>
<p>By default, WordPress comes with a default Theme, the latest being the <a title="Glossary" href="http://codex.wordpress.org/Glossary#Twenty_Eleven_theme">WordPress TwentyEleven theme</a>. This means that when you install WordPress on your site, it&#8217;s ready to host and manage your content right away.</p>
<div id="attachment_2305" class="wp-caption alignnone" style="width: 600px"><img class="size-full wp-image-2305" title="preview_twentyeleven" src="http://www.cozmoslabs.com/wp-content/uploads/2011/09/preview_twentyeleven.png" alt="The Twenty Eleven Theme is the default WordPress theme. " width="590" height="485" /><p class="wp-caption-text">The Twenty Eleven Theme is the default WordPress theme.</p></div>
<p>Themes are easy to install and use, and for a more detailed description you can always consult the <a href="http://codex.wordpress.org/Using_Themes">WordPress Codex</a> on how to get started.</p>
<h3>What is a WordPress plugin and why do you need them?</h3>
<p><strong>Plugins can extend WordPress to do almost anything you can imagine.</strong></p>
<p>By default, WordPress comes with a standard functionality. Some might say it&#8217;s pretty powerful by it&#8217;s own, however WordPress can&#8217;t do everything.</p>
<p>This is where <a href="http://codex.wordpress.org/Plugins">WordPress plugins</a> come into play. <em>Plugins are tools to extend the functionality of WordPress</em>. Things like e-commerce carts, SEO functionality for your site, contact forms to gather leads and feedback, twitter widgets to display your latest tweets, caching plugins to speed up your site and many, many more are available some for free and some for money.</p>
<div id="attachment_2315" class="wp-caption alignnone" style="width: 600px"><img class="size-full wp-image-2315" title="wordpress-plugins" src="http://www.cozmoslabs.com/wp-content/uploads/2011/09/wordpress-plugins.png" alt="WordPress backend for installing and managing plugins." width="590" height="316" /><p class="wp-caption-text">WordPress backend for installing and managing plugins.</p></div>
<p>Similar to WordPress Themes, there is a <a href="http://wordpress.org/extend/plugins/">repository of WordPress plugins</a> where you can find many free to download and use plugins. At the time of writing this article there were <strong>16,000+ </strong>plugins in the repository.</p>
<h3>Final Words</h3>
<p>WordPress has come a long way in it&#8217;s short life. It helps millions of people publish their sites on the web, produced a vibrant community, creates jobs (WordPress consultants) and makes the entire world wide web a bit nicer and easier to access by anybody.</p>
<p><strong>So the next time you need a website, just pick WordPress as your CMS!</strong></p>
<p>Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/1246-qandapress-a-qa-platform-based-on-wordpress/' rel='bookmark' title='QandaPress, a Q&amp;A platform based on WordPress'>QandaPress, a Q&#038;A platform based on WordPress</a></li>
<li><a href='http://www.cozmoslabs.com/527-wordpress-as-a-social-platform/' rel='bookmark' title='WordPress as a social platform'>WordPress as a social platform</a></li>
<li><a href='http://www.cozmoslabs.com/164-installing-wordpress-child-themes-customizing/' rel='bookmark' title='Installing WordPress Child Themes and Customizing the Byty Theme'>Installing WordPress Child Themes and Customizing the Byty Theme</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.cozmoslabs.com/1664-what-is-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress Automatic Updates Based on Folder Name. Is That a Problem?</title>
		<link>http://www.cozmoslabs.com/1667-wordpress-automatic-updates-based-on-folder-name-is-that-a-problem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-automatic-updates-based-on-folder-name-is-that-a-problem</link>
		<comments>http://www.cozmoslabs.com/1667-wordpress-automatic-updates-based-on-folder-name-is-that-a-problem/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 11:47:47 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[plugins]]></category>
		<category><![CDATA[Theme Design]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[automatic update]]></category>

		<guid isPermaLink="false">http://www.cozmoslabs.com/?p=1667</guid>
		<description><![CDATA[Automatic Updates are great. They are one of the best if not THE best feature WordPress has. I&#8217;ve loved it since it was introduced in 2.7 (2.5 for plugins) and it&#8217;s something that really makes my life easier. If I&#8217;m not mistaken, WordPress automatic updates for themes and plugins are based on the folder name [...]
Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/403-commune-child-theme-update/' rel='bookmark' title='Commune Child Theme &#8211; Update'>Commune Child Theme &#8211; Update</a></li>
<li><a href='http://www.cozmoslabs.com/1561-profile-builder-pro-is-wordpress-registration-done-right/' rel='bookmark' title='Profile Builder Pro is WordPress Registration Done Right'>Profile Builder Pro is WordPress Registration Done Right</a></li>
<li><a href='http://www.cozmoslabs.com/1246-qandapress-a-qa-platform-based-on-wordpress/' rel='bookmark' title='QandaPress, a Q&amp;A platform based on WordPress'>QandaPress, a Q&#038;A platform based on WordPress</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Automatic Updates are great. They are one of the best if not THE best feature WordPress has. I&#8217;ve loved it since it was introduced in 2.7 (2.5 for plugins) and it&#8217;s something that really makes my life easier.</p>
<p>If I&#8217;m not mistaken, WordPress automatic updates for themes and plugins are based on the folder name first and then on the name of the plugin and theme.</p>
<h3>Things aren&#8217;t perfect in the land of WordPress Updates.</h3>
<p>You see, two years ago I released a child theme for Thematic called Commune. It has over 10.000 downloads and a lot of people are using it for their blogs.</p>
<p>A month ago, another theme called Commune was approved on the WordPress.org Theme Repository. Since it had the same name as mine, it issued an automatic update.  One of the users of the Commune Child Theme saw the update and clicked it. After all, it had the same name, it came from WordPress, what could there go wrong?</p>
<p>As you probably suspected the update overwritten the Commune Child Theme and activated the WordPress.org theme. You could say the user was quite surprised and unhappy:</p>
<blockquote><p>Hi Cris &#8211; just updated Commune @ <a title="http://interactivebodywork.com" href="http://t.co/Cj6dycV" rel="nofollow" target="_blank" data-display-url="interactivebodywork.com" data-expanded-url="http://interactivebodywork.com">http://t.co/Cj6dycV</a> &amp; the format is ruined ): no menus, columns &amp; widgets gone&#8230; HELP! (<a href="http://twitter.com/#%21/humanelywild/status/90978966789300224">twitter status</a>)</p></blockquote>
<p><span id="more-1667"></span></p>
<h3>So where&#8217;s the fire?</h3>
<p>Well, there isn&#8217;t one.<strong> These things happen and life goes on.</strong> I&#8217;ve help my child theme user to reinstall my theme, she had to recreate her widget settings and that was all.<strong> So if you have my Commune theme installed please don&#8217;t update it. It&#8217;s the WRONG theme.</strong></p>
<p>Also <a href="http://twitter.com/nacin">@nacin</a> already created a <a href="http://core.trac.wordpress.org/ticket/18097">bug report</a> on the track to address this issue.</p>
<h3>What I&#8217;m hopping to achieve with this post is to raise awareness.</h3>
<p>With WordPress <strong>powering 50 Million websites</strong> and the large number of developers and theme designers something like this is bound to happen sooner or later.</p>
<p>And the same things is valid for Plugin Updates as well. Let&#8217;s say you create a custom plugin for a client, name it appropriately (no one uses this plugin name on WordPress.org either). Since this is a custom plugin you don&#8217;t bother to upload it to the repository.</p>
<p>Months later, someone comes along and creates another plugin with the same name and uploads it to WordPress.org.  You&#8217;ve guessed it! Your original plugin get&#8217;s an automatic update. Client updates the plugin and brakes it&#8217;s site.</p>
<h3>What can you do as a developer?</h3>
<p><strong>Mark Jaquith wrote about this in the past.</strong> You can setup your plugin and theme so they are excluded from the plugin updates. It&#8217;s a simple piece of code and you can learn more about it by <a href="http://markjaquith.wordpress.com/2009/12/14/excluding-your-plugin-or-theme-from-update-checks/">clicking here.</a> I&#8217;m also including that in all my child themes and custom plugins just to be on the safe side.<a href="http://markjaquith.wordpress.com/2009/12/14/excluding-your-plugin-or-theme-from-update-checks/"><br />
</a></p>
<p>The thing is that I never really thought this could ever be an issue until it happened to me. Also it&#8217;s a very obscure thing that not many people know about it. Hopefully if you&#8217;re a developer and create custom themes and plugins take this into account.</p>
<h3>No-one is to blame here really but can this be done differently?</h3>
<p>I think so. Issuing an <strong>unique identifier</strong> on which to base the automatic update shouldn&#8217;t be that hard (or is it?)</p>
<p>I&#8217;m writing about this hoping to raise awareness to this issue, not to mention the 3.3 milestone features a refresh to the update system and might even go so far as updating WordPress in the background, without your intervention (these are rumors mind you).</p>
<p>So let me know what you think in the comments.<strong> Should Automatic Updates be issued based on an unique identifier and not just the Theme/Plugin name?</strong></p>
<p>Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/403-commune-child-theme-update/' rel='bookmark' title='Commune Child Theme &#8211; Update'>Commune Child Theme &#8211; Update</a></li>
<li><a href='http://www.cozmoslabs.com/1561-profile-builder-pro-is-wordpress-registration-done-right/' rel='bookmark' title='Profile Builder Pro is WordPress Registration Done Right'>Profile Builder Pro is WordPress Registration Done Right</a></li>
<li><a href='http://www.cozmoslabs.com/1246-qandapress-a-qa-platform-based-on-wordpress/' rel='bookmark' title='QandaPress, a Q&amp;A platform based on WordPress'>QandaPress, a Q&#038;A platform based on WordPress</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.cozmoslabs.com/1667-wordpress-automatic-updates-based-on-folder-name-is-that-a-problem/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Profile Builder Pro is WordPress Registration Done Right</title>
		<link>http://www.cozmoslabs.com/1561-profile-builder-pro-is-wordpress-registration-done-right/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=profile-builder-pro-is-wordpress-registration-done-right</link>
		<comments>http://www.cozmoslabs.com/1561-profile-builder-pro-is-wordpress-registration-done-right/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 08:17:12 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[plugins]]></category>
		<category><![CDATA[Profile Builder]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[profile builder pro]]></category>

		<guid isPermaLink="false">http://www.cozmoslabs.com/?p=1561</guid>
		<description><![CDATA[Let&#8217;s face it. WordPress default registration process is no good. Hard to customize, hard to integrate it in your theme and not that user friendly. Profile Builder Pro is WordPress Registration Done Right Super easy to customize. Chose from the default styling it comes with or just add css to your theme and you&#8217;re done. [...]
Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/1341-wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/' rel='bookmark' title='WordPress Profile Builder: a front-end user registration, login and edit-profile plugin'>WordPress Profile Builder: a front-end user registration, login and edit-profile plugin</a></li>
<li><a href='http://www.cozmoslabs.com/2252-profile-builder-version-1-1-6-has-arrived/' rel='bookmark' title='Profile Builder version 1.1.6 has arrived'>Profile Builder version 1.1.6 has arrived</a></li>
<li><a href='http://www.cozmoslabs.com/1494-profile-builder-beta/' rel='bookmark' title='Profile Builder Beta'>Profile Builder Beta</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><span class="bigfont">Let&#8217;s face it. WordPress default registration process is no good. Hard to customize, hard to integrate it in your theme and not that user friendly. </span></p>
<h3>Profile Builder Pro is WordPress Registration Done Right</h3>
<ul>
<li><strong>Super easy to customize.</strong> Chose from the default styling it comes with or just add css to your theme and you&#8217;re done.</li>
<li><strong>Include the log-in, register and sign-up forms anywhere you want.</strong> &#8211; In any page, template or widget.</li>
<li><strong>Custom Avatar for your users. </strong>You don&#8217;t have to modify your theme to make this to work. It will work by default with the get_avatar function no matter where it&#8217;s used. (bbPress is also supported)</li>
<li><strong>Custom Profile fields for your users.</strong> Ask your users to select their age, enter their favorite movies, etc.</li>
<li><strong>NO-SPAM, NO-CAPCHA.</strong> Since the registration forms are in unique pages they fell off the radar of automated bots that create spam accounts. (You still have to protect the default wp registration form with a capcha. For more details, please read the <a href="http://www.cozmoslabs.com/forums/topic/adding-a-captcha-to-the-registration-form/">following</a> post)</li>
</ul>
<h4>What else is there?</h4>
<p>Why, I&#8217;m glad you asked. We&#8217;ve got <strong>Priority Support</strong>, <strong>Automatic Updates</strong>, <strong>Proper Documentation</strong> and did I say we have Priority Support? <em>We&#8217;re going to help you integrate Profile Builder Pro in your site like it was custom built from scratch.</em></p>
<h4>Still not enough?</h4>
<p>We have plans for some pretty nifty Addons for Profile Builder Pro users in the future:</p>
<ul>
<li>User Profile Pages and User Archive Listing.</li>
<li>Login With Facebook and Twitter.</li>
<li>Super Simple Paypal Payments.</li>
</ul>
<h4>What about the license?</h4>
<p><strong>Profile Builder Pro</strong> is released under <strong>GPL license (same as WordPress)</strong>. You&#8217;ll pay for Automatic Updates, Access to Support Forums, Documentation, Access to future Addons and what&#8217;s more important, <strong>YOUR payment</strong> will help us continuing our work and put food on our family&#8217;s table. Fair to say that you can use this plugin on as many WordPress sites as you see fit.</p>
<h4>Credits &amp; Thanks</h4>
<ul>
<li>Thanks to our beta testers. You&#8217;ve been more then a valuable asset to get this plugin up and running.</li>
<li>Thanks to <a href="http://justintadlock.com/">Justin Tadlock</a> (from his page templates of user registration, edit profile and login this plugin we got the idea and initial code to make this work).</li>
<li>Thanks to <a href="http://valendesigns.com/">Derek Herman</a> (we used the UI from his plugin Option Tree).</li>
<li>Thanks to everyone who downloaded and used the Basic version from <a href="http://wordpress.org/extend/plugins/profile-builder/">WordPress.org</a>.</li>
</ul>
<div class="preview_download">
	<style type="text/css">
		table.noBorder { border: 0px; width:150px;}
	</style>
	<div class="subscriber_holder" id="subscriber_modify">
					
					 
					<span class="price"><strong>$39.99</strong></span>											<!-- INSERT NON-DISCOUNT BUTTON FORM HERE; FORM APPEARS WHEN DISCOUNT WAS REQUESTED BUT CODE WAS ENTERED WRONG OR DISCOUNT WAS NOT REQUESTED-->
						<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
							<input type="hidden" name="cmd" value="_s-xclick">
							<input type="hidden" name="hosted_button_id" value="3J62P8ZXKFJM4">
							<input type="image" src="http://beta.cozmoslabs.com/wp-content/plugins/reflection-media-subscriber/includes/icons/buy_now_button.png" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
							<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
						</form>
															<!--<p class="free_user">
						<strong>Already have an account?</strong><br/>
						Sign-in <a href="http://www.cozmoslabs.com/profile-builder/my-account/?request=login">here</a>.
					</p><!-- .free_user -->
					
												</div>	
 <a href="http://www.cozmoslabs.com/wordpress-profile-builder/" title="Profile Builder">or learn more</a>
</div>
<p>Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/1341-wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/' rel='bookmark' title='WordPress Profile Builder: a front-end user registration, login and edit-profile plugin'>WordPress Profile Builder: a front-end user registration, login and edit-profile plugin</a></li>
<li><a href='http://www.cozmoslabs.com/2252-profile-builder-version-1-1-6-has-arrived/' rel='bookmark' title='Profile Builder version 1.1.6 has arrived'>Profile Builder version 1.1.6 has arrived</a></li>
<li><a href='http://www.cozmoslabs.com/1494-profile-builder-beta/' rel='bookmark' title='Profile Builder Beta'>Profile Builder Beta</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.cozmoslabs.com/1561-profile-builder-pro-is-wordpress-registration-done-right/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Profile Builder Beta</title>
		<link>http://www.cozmoslabs.com/1494-profile-builder-beta/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=profile-builder-beta</link>
		<comments>http://www.cozmoslabs.com/1494-profile-builder-beta/#comments</comments>
		<pubDate>Tue, 07 Jun 2011 08:16:27 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Profile Builder]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[profile builder]]></category>

		<guid isPermaLink="false">http://www.cozmoslabs.com/?p=1494</guid>
		<description><![CDATA[There&#8217;s a new version of Profile Builder WordPress plugin. It features the following new features: New interface Create Extra User Fields (like birthdate or education level) Add avatar upload for users and automatic integration with any theme that uses get_avatar() Shortcodes for login, register and edit profile to use in pages and widgets. Select what [...]
Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/1341-wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/' rel='bookmark' title='WordPress Profile Builder: a front-end user registration, login and edit-profile plugin'>WordPress Profile Builder: a front-end user registration, login and edit-profile plugin</a></li>
<li><a href='http://www.cozmoslabs.com/2252-profile-builder-version-1-1-6-has-arrived/' rel='bookmark' title='Profile Builder version 1.1.6 has arrived'>Profile Builder version 1.1.6 has arrived</a></li>
<li><a href='http://www.cozmoslabs.com/1561-profile-builder-pro-is-wordpress-registration-done-right/' rel='bookmark' title='Profile Builder Pro is WordPress Registration Done Right'>Profile Builder Pro is WordPress Registration Done Right</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a new version of <strong>Profile Builder</strong> WordPress plugin. It features the following new features:</p>
<ul>
<li><strong>New interface</strong></li>
<li><strong>Create Extra User Fields (like birthdate or education level)</strong></li>
<li><strong>Add avatar upload for users and automatic integration with any theme that uses <em>get_avatar()</em></strong></li>
<li>Shortcodes for login, register and edit profile to use in pages and widgets.</li>
<li>Select what fields appear in the register and edit-profile pages.</li>
<li>Select if the admin bar should be present on the front end for user-groups.</li>
<li>Select if to use the default css or not.</li>
</ul>
<p>You can sign up for the beta from this page: <a title="Profile Builder beta" href="http://www.cozmoslabs.com/profile-builder-beta/">Profile Builder beta</a></p>
<p>The new interface was borrowed from the awesome plugin <a href="http://wordpress.org/extend/plugins/option-tree/">OptionTree</a> created by <a href="http://twitter.com/#!/valendesigns">Derek Herman</a></p>

<a href='http://www.cozmoslabs.com/1494-profile-builder-beta/v1-1-2/' title='v1.1'><img width="150" height="150" src="http://www.cozmoslabs.com/wp-content/uploads/2011/06/v1.11-150x150.png" class="attachment-thumbnail" alt="v1.1" title="v1.1" /></a>
<a href='http://www.cozmoslabs.com/1494-profile-builder-beta/v1-1_2-2/' title='v1.1_2'><img width="150" height="150" src="http://www.cozmoslabs.com/wp-content/uploads/2011/06/v1.1_21-150x150.png" class="attachment-thumbnail" alt="v1.1_2" title="v1.1_2" /></a>

<p>Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/1341-wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/' rel='bookmark' title='WordPress Profile Builder: a front-end user registration, login and edit-profile plugin'>WordPress Profile Builder: a front-end user registration, login and edit-profile plugin</a></li>
<li><a href='http://www.cozmoslabs.com/2252-profile-builder-version-1-1-6-has-arrived/' rel='bookmark' title='Profile Builder version 1.1.6 has arrived'>Profile Builder version 1.1.6 has arrived</a></li>
<li><a href='http://www.cozmoslabs.com/1561-profile-builder-pro-is-wordpress-registration-done-right/' rel='bookmark' title='Profile Builder Pro is WordPress Registration Done Right'>Profile Builder Pro is WordPress Registration Done Right</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.cozmoslabs.com/1494-profile-builder-beta/feed/</wfw:commentRss>
		<slash:comments>77</slash:comments>
		</item>
		<item>
		<title>wpMail.me &#8211; a concise, once weekly free roundup of WordPress news and articles</title>
		<link>http://www.cozmoslabs.com/1452-wpmail-me-a-concise-once-weekly-free-roundup-of-wordpress-news-and-articles/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wpmail-me-a-concise-once-weekly-free-roundup-of-wordpress-news-and-articles</link>
		<comments>http://www.cozmoslabs.com/1452-wpmail-me-a-concise-once-weekly-free-roundup-of-wordpress-news-and-articles/#comments</comments>
		<pubDate>Mon, 23 May 2011 15:45:01 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[newsletter]]></category>
		<category><![CDATA[wpmail.me]]></category>

		<guid isPermaLink="false">http://www.cozmoslabs.com/?p=1452</guid>
		<description><![CDATA[wpMail.me is a concise, once-weekly free round up of news and articles. It&#8217;s main goal is to ease some of the information overload we encounter in our daily computing by providing with a list of curated articles, news and tutorials. Also since it&#8217;s once a week you can batch process it all in 1 hour [...]
Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/145-byty-free-child-theme-built-thematic/' rel='bookmark' title='Byty the Free Child Theme &#8211; Built on Thematic'>Byty the Free Child Theme &#8211; Built on Thematic</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://wpmail.me/"><img src="http://www.cozmoslabs.com/wp-content/uploads/2011/05/wpmail.png" alt="" title="wpmail" width="250" class="alignright size-full wp-image-1454" /></a><br />
<a href="http://wpmail.me/"><strong>wpMail.me</strong></a> is a concise, once-weekly free round up of news and articles. It&#8217;s main goal is to ease some of the information overload we encounter in our daily computing by providing with a list of curated articles, news and tutorials. Also since it&#8217;s once a week you can batch process it all in 1 hour a week, leaving you with extra free time. </p>
<p><span id="more-1452"></span></p>
<h3>Why?</h3>
<p>Information overload is something we&#8217;ve all encountered. I for one, get lost reading my feeds, hacker news, links on Twitter and the rest.</p>
<p>There are times I feel trapped, like an addict. And it&#8217;s just that: an information addiction. The problem with any addictions is that they do quite a lot of harm. There are solutions to this, like <a href="http://www.problogger.net/archives/2008/06/12/how-batch-processing-made-me-10-times-more-productive/">batch processing</a> that alleviate some of the problems but the problem remains the same: <strong>to much information.</strong></p>
<h3>Staying up to date with WordPress</h3>
<p>Staying up to date with WordPress as a developer is harder then you might thing. It&#8217;s close release cycles makes almost everything you knew 1 year ago obsolete. Custom post types, custom taxonomies, theme backgrounds, theme header images, new menu system all in the last year or so. When you try to factor in all that learning with client work and life in general you realize there&#8217;s no more time left in the day for anything else.</p>
<h3>wpMail.me</h3>
<p>The idea for a weekly newsletter came up when I found out about <a href="http://javascriptweekly.com/">Javascript Weekly</a>, a newsletter about javascript. It made sense to me that there should be something similar in the WP community, however it seams no one thought about it until now. </p>
<p><strong>So where do I gather the all the information?</strong><br />
Mostly RSS feeds, however I&#8217;m thinking of creating something semi-automatic in the future, gathering news from topsy.com, bit.ly(good resource however I need to see how exactly to pull that info), RSS feeds and WordPress Answers (stackexchange).</p>
<p>That&#8217;s it. If you like the idea please <a href="http://wpmail.me/">go and subscribe</a> and share it on twitter!</p>
<p>Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/145-byty-free-child-theme-built-thematic/' rel='bookmark' title='Byty the Free Child Theme &#8211; Built on Thematic'>Byty the Free Child Theme &#8211; Built on Thematic</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.cozmoslabs.com/1452-wpmail-me-a-concise-once-weekly-free-roundup-of-wordpress-news-and-articles/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Get the latest comments for a custom post type in WordPress</title>
		<link>http://www.cozmoslabs.com/1441-wordpress-get-comments-custom-post-type/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-get-comments-custom-post-type</link>
		<comments>http://www.cozmoslabs.com/1441-wordpress-get-comments-custom-post-type/#comments</comments>
		<pubDate>Fri, 20 May 2011 06:43:46 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[plugins]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[custom post type comments]]></category>
		<category><![CDATA[query]]></category>

		<guid isPermaLink="false">http://www.cozmoslabs.com/?p=1441</guid>
		<description><![CDATA[Custom post types for WordPress support comments, however the API doesn&#8217;t allow for retrieving those comments. So in order to get the latest comments from your custom post type you need to do an sql query that does a LEFT OUTER JOIN between the comments table and the posts table: &#160; /* Get recent comments [...]
Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/946-extending-the-admin-post-filtering/' rel='bookmark' title='Extending the admin post filtering'>Extending the admin post filtering</a></li>
<li><a href='http://www.cozmoslabs.com/557-thematic-featured-posts/' rel='bookmark' title='Add &#8220;Featured Posts&#8221; to your Thematic child theme'>Add &#8220;Featured Posts&#8221; to your Thematic child theme</a></li>
<li><a href='http://www.cozmoslabs.com/1012-wordpress-user-registration-template-and-custom-user-profile-fields/' rel='bookmark' title='WordPress user registration template and custom user profile fields'>WordPress user registration template and custom user profile fields</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Custom post types for WordPress support comments, however the API doesn&#8217;t allow for retrieving those comments. </p>
<p>So in order to get the latest comments from your custom post type you need to do an sql query that does a LEFT OUTER JOIN between the comments table and the posts table:</p>

<div class="wp_codebox"><table><tr id="p14414"><td class="code" id="p1441code4"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #666666; font-style: italic;">/* Get recent comments */</span>
<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT * FROM <span style="color: #006699; font-weight: bold;">$wpdb-&gt;comments</span> LEFT OUTER JOIN <span style="color: #006699; font-weight: bold;">$wpdb-&gt;posts</span> ON (<span style="color: #006699; font-weight: bold;">$wpdb-&gt;comments</span>.comment_post_ID = <span style="color: #006699; font-weight: bold;">$wpdb-&gt;posts</span>.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' AND post_type='your_custom_post_type' ORDER BY comment_date_gmt DESC LIMIT 5&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$comments</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_results</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$comments</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$comment</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #666666; font-style: italic;">// we need the comment comment user_id in case it's a logged in user so we can echo the display name and not username</span>
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">user_id</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$curent_userdata</span> <span style="color: #339933;">=</span> get_userdata<span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">user_id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$curent_userdata</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">display_name</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_author</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// the permalink for the comment</span>
  <span style="color: #b1b100;">echo</span> get_permalink<span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'#comment-'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_ID</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// the post title where that comment was posted</span>
  <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_title</span><span style="color: #339933;">;</span> 
&nbsp;
  <span style="color: #666666; font-style: italic;">// display the comment content</span>
  <span style="color: #b1b100;">echo</span> <a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_content</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>
<span id="more-1441"></span></p>
<p><strong>The important bit is in the SQL declaration:</strong></p>

<div class="wp_codebox"><table><tr id="p14415"><td class="code" id="p1441code5"><pre class="txt" style="font-family:monospace;">post_type='your_custom_post_type'</pre></td></tr></table></div>

<h3>Let&#8217;s transform this into a widget</h3>
<p>I&#8217;m not going to go through all the steps needed to <a href="http://justintadlock.com/archives/2009/05/26/the-complete-guide-to-creating-widgets-in-wordpress-28">create a widget for WordPress</a>, instead I&#8217;ll just give you the code so you can use in your own projects.</p>

<div class="wp_codebox"><table><tr id="p14416"><td class="code" id="p1441code6"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">/*
Plugin Name: Latest CPT Comments Plugin
Plugin URI: http://www.cozmoslabs.com/
Description: Display the latest comments on a custom post type
Version: 0.1
Author: Cristian Antohe
Author URI: http://cozmoslabs.com
License: GPL2
&nbsp;
== Copyright ==
Copyright 2011 Reflection Media (wwww.reflectionmedia.ro)
&nbsp;
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/</span>
&nbsp;
add_action<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'widgets_init'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cl_cpt_comments_load_widgets'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> cl_cpt_comments_load_widgets<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	register_widget<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'cl_cpt_comments_Widget'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> cl_cpt_comments_Widget <span style="color: #000000; font-weight: bold;">extends</span> WP_Widget <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #009933; font-style: italic;">/**
	 * Widget setup.
	 */</span>
	<span style="color: #000000; font-weight: bold;">function</span> cl_cpt_comments_Widget<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">/* Widget settings. */</span>
		<span style="color: #000088;">$widget_ops</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'classname'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'cl_cpt_comments_widget'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'A widget that displays your latest custom post type comments'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cl_cpt_comments_widget'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* Widget control settings. */</span>
		<span style="color: #000088;">$control_ops</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'width'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">250</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'height'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">350</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'id_base'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'cl_cpt_comments_widget'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* Create the widget. */</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">WP_Widget</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'cl_cpt_comments_widget'</span><span style="color: #339933;">,</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Latest custom post type comments'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'cl_cpt_comments_widget'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$widget_ops</span><span style="color: #339933;">,</span> <span style="color: #000088;">$control_ops</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #009933; font-style: italic;">/**
	 * How to display the widget on the screen.
	 */</span>
	<span style="color: #000000; font-weight: bold;">function</span> widget<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$args</span><span style="color: #339933;">,</span> <span style="color: #000088;">$instance</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<a href="http://www.php.net/extract"><span style="color: #990000;">extract</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$args</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* Our variables from the widget settings. */</span>
		<span style="color: #000088;">$title</span> <span style="color: #339933;">=</span> apply_filters<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'widget_title'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$number</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'number'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* Before widget (defined by themes). */</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$before_widget</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* Display the widget title if one was input (before and after defined by themes). */</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$title</span> <span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;h3 class=&quot;widget-title&quot;&gt;'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$title</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&lt;/h4&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* Get recent comments */</span>
		<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT * FROM <span style="color: #006699; font-weight: bold;">$wpdb-&gt;comments</span> LEFT OUTER JOIN <span style="color: #006699; font-weight: bold;">$wpdb-&gt;posts</span> ON (<span style="color: #006699; font-weight: bold;">$wpdb-&gt;comments</span>.comment_post_ID = <span style="color: #006699; font-weight: bold;">$wpdb-&gt;posts</span>.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' AND post_type='your_custom_post_type' ORDER BY comment_date_gmt DESC LIMIT <span style="color: #006699; font-weight: bold;">$number</span>&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$comments</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_results</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;ul class=&quot;cpt-comments&quot;&gt;'</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$comments</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$comment</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">user_id</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$curent_userdata</span> <span style="color: #339933;">=</span> get_userdata<span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">user_id</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000088;">$current_comment_display_name</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$curent_userdata</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">display_name</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$current_comment_display_name</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_author</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>						
		<span style="color: #000000; font-weight: bold;">?&gt;</span>
			<span style="color: #339933;">&lt;</span>li <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;cpt-comment&quot;</span><span style="color: #339933;">&gt;</span>
				<span style="color: #339933;">&lt;</span>p <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;comment-cpt-title&quot;</span><span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo get_permalink(<span style="color: #006699; font-weight: bold;">$comment-&gt;ID</span>); ?&gt;#comment-&lt;?php echo <span style="color: #006699; font-weight: bold;">$comment-&gt;comment_ID</span>; ?&gt;&quot;</span> rel<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;bookmark&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;?</span>php <span style="color: #b1b100;">echo</span> get_the_title<span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_post_ID</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>p<span style="color: #339933;">&gt;</span>
				<span style="color: #339933;">&lt;</span>p <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;comment-author&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;?</span>php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$current_comment_display_name</span>  <span style="color: #000000; font-weight: bold;">?&gt;</span> says<span style="color: #339933;">:&lt;/</span>p<span style="color: #339933;">&gt;&lt;</span>a <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;comment-text-side&quot;</span> href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo get_permalink(<span style="color: #006699; font-weight: bold;">$comment-&gt;ID</span>); ?&gt;#comment-&lt;?php echo <span style="color: #006699; font-weight: bold;">$comment-&gt;comment_ID</span>; ?&gt;&quot;</span> title<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo strip_tags(<span style="color: #006699; font-weight: bold;">$comment-&gt;comment_author</span>); ?&gt; on &lt;?php echo <span style="color: #006699; font-weight: bold;">$comment-&gt;post_title</span>; ?&gt;&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;?</span>php <span style="color: #b1b100;">echo</span> <a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">comment_content</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span>
			<span style="color: #339933;">&lt;/</span>li<span style="color: #339933;">&gt;</span>
		<span style="color: #000000; font-weight: bold;">&lt;?php</span> 
		<span style="color: #009900;">&#125;</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;/ul&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* After widget (defined by themes). */</span>
		<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$after_widget</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #009933; font-style: italic;">/**
	 * Update the widget settings.
	 */</span>
	<span style="color: #000000; font-weight: bold;">function</span> update<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$new_instance</span><span style="color: #339933;">,</span> <span style="color: #000088;">$old_instance</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$instance</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$old_instance</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* Strip tags for title and name to remove HTML (important for text inputs). */</span>
		<span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$new_instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'number'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$new_instance</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'number'</span><span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$instance</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
	<span style="color: #000000; font-weight: bold;">function</span> form<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$instance</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">/* Set up some default widget settings. */</span>
		<span style="color: #000088;">$defaults</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Latest CPT Comments'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'number'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'5'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$instance</span> <span style="color: #339933;">=</span> wp_parse_args<span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$instance</span><span style="color: #339933;">,</span> <span style="color: #000088;">$defaults</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
		<span style="color: #339933;">&lt;!--</span> Widget Title<span style="color: #339933;">:</span> Text Input <span style="color: #339933;">--&gt;</span>
		<span style="color: #339933;">&lt;</span>p<span style="color: #339933;">&gt;</span>
			<span style="color: #339933;">&lt;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo <span style="color: #006699; font-weight: bold;">$this-&gt;get_field_id</span>( 'title' ); ?&gt;&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;?</span>php _e<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Title:'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'hybrid'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><span style="color: #339933;">&lt;/</span>label<span style="color: #339933;">&gt;</span>
			<span style="color: #339933;">&lt;</span>input id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo <span style="color: #006699; font-weight: bold;">$this-&gt;get_field_id</span>( 'title' ); ?&gt;&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo <span style="color: #006699; font-weight: bold;">$this-&gt;get_field_name</span>( 'title' ); ?&gt;&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo <span style="color: #006699; font-weight: bold;">$instance</span>['title']; ?&gt;&quot;</span> style<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;width:90%;&quot;</span> <span style="color: #339933;">/&gt;</span>
		<span style="color: #339933;">&lt;/</span>p<span style="color: #339933;">&gt;</span>
&nbsp;
		<span style="color: #339933;">&lt;!--</span> Number of posts <span style="color: #339933;">--&gt;</span>
		<span style="color: #339933;">&lt;</span>p<span style="color: #339933;">&gt;</span>
			<span style="color: #339933;">&lt;</span>label <span style="color: #b1b100;">for</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo <span style="color: #006699; font-weight: bold;">$this-&gt;get_field_id</span>( 'number' ); ?&gt;&quot;</span><span style="color: #339933;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;?</span>php _e<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Number of posts to show:'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><span style="color: #339933;">&lt;/</span>label<span style="color: #339933;">&gt;</span>
			<span style="color: #339933;">&lt;</span>input id<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo <span style="color: #006699; font-weight: bold;">$this-&gt;get_field_id</span>( 'number' ); ?&gt;&quot;</span> name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo <span style="color: #006699; font-weight: bold;">$this-&gt;get_field_name</span>( 'number' ); ?&gt;&quot;</span> value<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo <span style="color: #006699; font-weight: bold;">$instance</span>['number']; ?&gt;&quot;</span> size<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;3&quot;</span> <span style="color: #339933;">/&gt;</span>
		<span style="color: #339933;">&lt;/</span>p<span style="color: #339933;">&gt;</span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Next you need to copy this code, put it inside the plugins directory, activate the plugin and you&#8217;re ready to go. Don&#8217;t forget to change the custom post type to your own. </p>
<p>Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/946-extending-the-admin-post-filtering/' rel='bookmark' title='Extending the admin post filtering'>Extending the admin post filtering</a></li>
<li><a href='http://www.cozmoslabs.com/557-thematic-featured-posts/' rel='bookmark' title='Add &#8220;Featured Posts&#8221; to your Thematic child theme'>Add &#8220;Featured Posts&#8221; to your Thematic child theme</a></li>
<li><a href='http://www.cozmoslabs.com/1012-wordpress-user-registration-template-and-custom-user-profile-fields/' rel='bookmark' title='WordPress user registration template and custom user profile fields'>WordPress user registration template and custom user profile fields</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.cozmoslabs.com/1441-wordpress-get-comments-custom-post-type/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SVN EOL and the WordPress.org repository</title>
		<link>http://www.cozmoslabs.com/1404-svn-eol-and-the-wordpress-org-repository/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=svn-eol-and-the-wordpress-org-repository</link>
		<comments>http://www.cozmoslabs.com/1404-svn-eol-and-the-wordpress-org-repository/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 09:29:05 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[end of line]]></category>
		<category><![CDATA[eol]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.cozmoslabs.com/?p=1404</guid>
		<description><![CDATA[As you might now we&#8217;ve recently released Profile Builder e front-end registration, login and edit profile plugin. All went well and we&#8217;ve got proper feedback. Apparently people liked the idea. However, when the time came to put it on the repository things started to get weird. For reasons beyond my understanding, the profilebuilder.php and uninstall.php [...]
Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/1326-professional-wordpress-plugin-development-review/' rel='bookmark' title='Professional WordPress Plugin Development review'>Professional WordPress Plugin Development review</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>As you might now we&#8217;ve recently released <a href="http://www.cozmoslabs.com/2011/04/12/wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/">Profile Builder</a> e front-end registration, login and edit profile plugin. </p>
<p>All went well and we&#8217;ve got proper feedback. Apparently people liked the idea.</p>
<p>However, when the time came to put it on the repository things started to get weird. For reasons beyond my understanding, the <em>profilebuilder.php</em> and <em>uninstall.php</em> files were converted to Mac EndOfLine style once uploaded to the Repository (I&#8217;m a PC user). Because of this the plugin install would fail and didn&#8217;t even appear in the plugin listing in the backend, which is to be expected since the lines were all scrambled up. </p>
<p>After a bit of digging around I found about a SVN property called svn:eol-style that, when set to “native“, allows automatic conversion of end-of-lines, depending whether you are on Linux or Windows. Apparently this isn&#8217;t setup by default when you install <a href="http://tortoisesvn.net/">Turtoise SVN</a>. </p>
<p>To get is sorted you need to add some code to the config file in subversion. </p>
<p><span id="more-1404"></span></p>
<p>Add this stuff at bottom of your local file ~/.subversion/config. For Windows 7 users this is normally found at<br />
<em>C:\Users\{username}\AppData\Roaming\Subversion\config</em></p>
<p>This will ensure that all new source files will have this property.</p>

<div class="wp_codebox"><table><tr id="p14049"><td class="code" id="p1404code9"><pre class="txt" style="font-family:monospace;">[miscellany]
enable-auto-props = yes
&nbsp;
# Note: you may wish to add svn:keywords as well, depending on your project requirements
# E.g. svn:keywords=Date Author Id Revision HeadURL
&nbsp;
# Do not default any files to svn:executable=*.
# This should only be done on an individual basis as required.
&nbsp;
[auto-props]
INSTALL = svn:eol-style=native
KEYS = svn:eol-style=native
Makefile = svn:eol-style=native
LICENSE = svn:eol-style=native
NOTICE = svn:eol-style=native
README = svn:eol-style=native
abs-linkmap = svn:eol-style=native
abs-menulinks = svn:eol-style=native
*.aart = svn:eol-style=native
*.ac = svn:eol-style=native
*.am = svn:eol-style=native
*.apt = svn:eol-style=native
*.bat = svn:eol-style=native
*.bsh = svn:eol-style=native
*.c = svn:eol-style=native
*.cat = svn:eol-style=native
*.cgi = svn:eol-style=native
*.classpath = svn:eol-style=native
*.cmd = svn:eol-style=native
*.cnd = svn:eol-style=native
*.conf = svn:eol-style=native
*.config = svn:eol-style=native
*.cpp = svn:eol-style=native
*.css = svn:eol-style=native
*.cwiki = svn:eol-style=native
*.data = svn:eol-style=native
*.dcl = svn:eol-style=native
*.doc = svn:mime-type=application/msword
*.dsp = svn:eol-style=CRLF
*.dsw = svn:eol-style=CRLF
*.dtd = svn:eol-style=native
*.egrm = svn:eol-style=native
*.ent = svn:eol-style=native
*.ft = svn:eol-style=native
*.fn = svn:eol-style=native
*.fv = svn:eol-style=native
*.g = svn:eol-style=native
*.gif = svn:mime-type=image/gif
*.grm = svn:eol-style=native
*.gz = svn:mime-type=application/x-gzip
*.h = svn:eol-style=native
*.htc = svn:eol-style=native
.htaccess = svn:eol-style=native
*.handlers = svn:eol-style=native
*.html = svn:eol-style=native
*.ico = svn:mime-type=image/x-icon
*.ihtml = svn:eol-style=native
*.in = svn:eol-style=native
*.java = svn:eol-style=native
*.jmx = svn:eol-style=LF
*.jpg = svn:mime-type=image/jpeg
*.jsp = svn:eol-style=native
*.js = svn:eol-style=native
*.junit = svn:eol-style=native
*.jx = svn:eol-style=native
*.m = svn:eol-style=native
*.m4 = svn:eol-style=native
*.manifest = svn:eol-style=native
*.mdo = svn:eol-style=native
# markdown (CMS)
*.mdtext = svn:eol-style=native
*.meta = svn:eol-style=native
*.mf = svn:eol-style=native
*.MF = svn:eol-style=native
*.mod = svn:eol-style=native
*.ms = svn:eol-style=native
*.n3 = svn:eol-style=native
*.nroff = svn:eol-style=native
*.patch = svn:eol-style=native
*.pdf = svn:mime-type=application/pdf
*.pen = svn:eol-style=native
*.php = svn:eol-style=native
*.pl = svn:eol-style=native
*.pm = svn:eol-style=native
*.png = svn:mime-type=image/png
*.pod = svn:eol-style=native
*.pom = svn:eol-style=native
*.project = svn:eol-style=native
*.properties = svn:eol-style=native
*.py = svn:eol-style=native
*.rb = svn:eol-style=native
*.rdf = svn:eol-style=native
*.rnc = svn:eol-style=native
*.rng = svn:eol-style=native
*.rnx = svn:eol-style=native
*.roles = svn:eol-style=native
*.rss = svn:eol-style=native
# Restructured text (CMS)
*.rst = svn:eol-style=native
*.scala = svn:eol-style=native
*.schemas = svn:eol-style=native
*.sh = svn:eol-style=native
*.sql = svn:eol-style=native
*.svg = svn:eol-style=native
*.tar = svn:mime-type=application/octet-stream
*.tgz = svn:mime-type=application/octet-stream
*.tif = svn:mime-type=image/tiff
*.tiff = svn:mime-type=image/tiff
*.tld = svn:eol-style=native
*.txt = svn:eol-style=native
*.types = svn:eol-style=native
*.vm = svn:eol-style=native
*.vsl = svn:eol-style=native
*.wsdd = svn:eol-style=native
*.wsdl = svn:eol-style=native
*.xargs = svn:eol-style=native
*.xcat = svn:eol-style=native
*.xconf = svn:eol-style=native
*.xegrm = svn:eol-style=native
*.xgrm = svn:eol-style=native
*.xhtml = svn:eol-style=native
*.xhtml2 = svn:eol-style=native
*.xlex = svn:eol-style=native
*.xlog = svn:eol-style=native
*.xmap = svn:eol-style=native
*.xml = svn:eol-style=native
*.xroles = svn:eol-style=native
*.xsamples = svn:eol-style=native
*.xsd = svn:eol-style=native
*.xsl = svn:eol-style=native
*.xslt = svn:eol-style=native
*.xsp = svn:eol-style=native
*.xtest = svn:eol-style=native
*.xul = svn:eol-style=native
*.xweb = svn:eol-style=native
*.xwelcome = svn:eol-style=native</pre></td></tr></table></div>

<p>This config file comes from the <a href="http://www.apache.org/dev/svn-eol-style.txt">apache website.</a> Please note that you might not need all those file-types.</p>
<p>After you do this you still have to apply this to your existing SVN files. </p>
<p>Run a script to recursively set this property on all your source files. First, MAKE SURE YOU ARE UP TO DATE WITH THE REPOSITORY, WITH NO LOCAL CHANGES. Then: you can run this under your source folder:</p>

<div class="wp_codebox"><table><tr id="p140410"><td class="code" id="p1404code10"><pre class="txt" style="font-family:monospace;">    FOR /R %i IN (*.php;*.js;*.txt;*.html) DO svn propset svn:eol-style native %i</pre></td></tr></table></div>

<p>After these setting stuff came back to normal and I could install the plugin properly from the Repository. </p>
<p>While all this seams straight forward for me now, I had to spend more then 5 hours to figure it out. It was very frustrating seeing the plugin fail on install when the local version worked perfectly. </p>
<p>Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/1326-professional-wordpress-plugin-development-review/' rel='bookmark' title='Professional WordPress Plugin Development review'>Professional WordPress Plugin Development review</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.cozmoslabs.com/1404-svn-eol-and-the-wordpress-org-repository/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Profile Builder: a front-end user registration, login and edit-profile plugin</title>
		<link>http://www.cozmoslabs.com/1341-wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin</link>
		<comments>http://www.cozmoslabs.com/1341-wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 10:04:35 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[plugins]]></category>
		<category><![CDATA[Profile Builder]]></category>
		<category><![CDATA[Recomended Reading]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[custom field registration]]></category>
		<category><![CDATA[customize profile]]></category>
		<category><![CDATA[profile builder]]></category>
		<category><![CDATA[user fields]]></category>
		<category><![CDATA[user registration]]></category>

		<guid isPermaLink="false">http://www.cozmoslabs.com/?p=1341</guid>
		<description><![CDATA[You can now login, register and edit your profile directly from the font-end Profile Builder lets you customize your website by adding front-end forms for all your users, giving them a more flexible way to modify their user-information or to register new users. Also, administrator can customize what basic fields are displayed on the front-end [...]
Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/1561-profile-builder-pro-is-wordpress-registration-done-right/' rel='bookmark' title='Profile Builder Pro is WordPress Registration Done Right'>Profile Builder Pro is WordPress Registration Done Right</a></li>
<li><a href='http://www.cozmoslabs.com/2252-profile-builder-version-1-1-6-has-arrived/' rel='bookmark' title='Profile Builder version 1.1.6 has arrived'>Profile Builder version 1.1.6 has arrived</a></li>
<li><a href='http://www.cozmoslabs.com/1012-wordpress-user-registration-template-and-custom-user-profile-fields/' rel='bookmark' title='WordPress user registration template and custom user profile fields'>WordPress user registration template and custom user profile fields</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<h2>You can now login, register and edit your profile directly from the font-end</h2>
<p><img src="http://www.cozmoslabs.com/wp-content/uploads/2011/04/registration-form.jpg" alt="" title="registration-form" width="300" height="225" class="alignright size-full wp-image-1376" /><br />
<strong>Profile Builder</strong> lets you customize your website by adding front-end forms for all your users, giving them a more flexible way to modify their user-information or to register new users.</p>
<p>Also, administrator can customize what basic fields are displayed on the front-end (like First Name, Last Name, Website, etc.)</p>
<p>To achieve this, just create a new page, and give it an intuitive name(i.e. Edit Profile). Now all you need to do is add the following shortcode(for the previous example): &#91;wppb-edit-profile&#93;. Publish your page and you are done!</p>
<p><span id="more-1341"></span></p>
<h3>WordPress User Registration, Login and Edit-Profile Shortcodes:</h3>
<ul>
<li><strong>&#91;wppb-login&#93; </strong>- for a log-in form.</li>
<li><strong>&#91;wppb-register&#93; </strong>- to add a registration form.</li>
<li><strong>&#91;wppb-edit-profile&#93;</strong> &#8211; to grant users a front-end acces to their personal information (requires user to be logged in).</li>
</ul>
<p><strong>Other features:</strong></p>
<ul>
<li>you can add the shortcodes directly inside a text widget and they will work </li>
<li>add a custom stylesheet/inherit values from the current theme or use the default one, built into this plug-in.</li>
<li>select whether to display or not the admin bar in the front end for a specific user-group registered to the site.</li>
<li>select which information-field to display on the WordPress user registration and WordPress edit profile pages on the font end. </li>
</ul>
<div class="preview_download">
<a href="http://cozmoslabs.com/project/profile-builder/" target="_blank"><img src="http://www.cozmoslabs.com/wp-content/uploads/2009/07/preview.gif" alt="preview"/></a><a title="Download" href="http://wordpress.org/extend/plugins/profile-builder/"><img alt="Download Profile-Builder" src="http://www.cozmoslabs.com/wp-content/uploads/2010/11/download.jpg"></a>
</div>
<p><strong>Screenshots:</strong><br />

<a href='http://www.cozmoslabs.com/1341-wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/screenshot-1-2/' title='screenshot-1'><img width="150" height="150" src="http://www.cozmoslabs.com/wp-content/uploads/2011/04/screenshot-1-150x150.jpg" class="attachment-thumbnail" alt="screenshot-1" title="screenshot-1" /></a>
<a href='http://www.cozmoslabs.com/1341-wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/screenshot-2/' title='screenshot-2'><img width="150" height="150" src="http://www.cozmoslabs.com/wp-content/uploads/2011/04/screenshot-2-150x150.jpg" class="attachment-thumbnail" alt="screenshot-2" title="screenshot-2" /></a>
<a href='http://www.cozmoslabs.com/1341-wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/screenshot-3/' title='screenshot-3'><img width="150" height="150" src="http://www.cozmoslabs.com/wp-content/uploads/2011/04/screenshot-3-150x150.jpg" class="attachment-thumbnail" alt="screenshot-3" title="screenshot-3" /></a>
</p>
<p>Related posts:<ol>
<li><a href='http://www.cozmoslabs.com/1561-profile-builder-pro-is-wordpress-registration-done-right/' rel='bookmark' title='Profile Builder Pro is WordPress Registration Done Right'>Profile Builder Pro is WordPress Registration Done Right</a></li>
<li><a href='http://www.cozmoslabs.com/2252-profile-builder-version-1-1-6-has-arrived/' rel='bookmark' title='Profile Builder version 1.1.6 has arrived'>Profile Builder version 1.1.6 has arrived</a></li>
<li><a href='http://www.cozmoslabs.com/1012-wordpress-user-registration-template-and-custom-user-profile-fields/' rel='bookmark' title='WordPress user registration template and custom user profile fields'>WordPress user registration template and custom user profile fields</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.cozmoslabs.com/1341-wordpress-profile-builder-a-front-end-user-registration-login-and-edit-profile-plugin/feed/</wfw:commentRss>
		<slash:comments>227</slash:comments>
		</item>
	</channel>
</rss>

