<?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>WPML&#187; CMS sites with WordPress</title>
	<atom:link href="http://wpml.org/category/cms-sites-with-wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://wpml.org</link>
	<description>Using WordPress to build full multilingual websites</description>
	<lastBuildDate>Wed, 28 Jul 2010 14:08:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Custom Types in WordPress 3 Simplified Our Site</title>
		<link>http://wpml.org/2010/05/custom-types-in-wordpress-3-simplified-our-site/</link>
		<comments>http://wpml.org/2010/05/custom-types-in-wordpress-3-simplified-our-site/#comments</comments>
		<pubDate>Tue, 25 May 2010 13:10:17 +0000</pubDate>
		<dc:creator>amir</dc:creator>
				<category><![CDATA[CMS sites with WordPress]]></category>
		<category><![CDATA[Multilingual]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=4761</guid>
		<description><![CDATA[Using custom post types and custom taxonomies, we were able to turn icanlocalize.com from a big mess into an elegant website, that&#8217;s easy to maintain and translate. It was really fun building icanlocalize.com using WordPress. The visual editor and media management make it easy to get contents online quickly. But, like many newly weds, after [...]]]></description>
			<content:encoded><![CDATA[<p>Using custom post types and custom taxonomies, we were able to turn icanlocalize.com from a big mess into an elegant website, that&#8217;s easy to maintain and translate.</p>
<p>It was really fun building icanlocalize.com using WordPress. The visual editor and media management make it easy to get contents online quickly. But, like many newly weds, after the initial excitement, real problems begin surfacing.</p>
<h2>Custom Types Turn WordPress into a CMS</h2>
<p>A content management system lets you edit contents without having to worry about how these contents appear on the page.</p>
<p>For example, have a look at this <a href="http://www.icanlocalize.com/site/services/website-translation/">website translation</a> page:</p>
<div id="attachment_4766" class="wp-caption alignnone" style="width: 310px"><a href="http://wpml.org/wp-content/uploads/2010/05/icanlocalize-service-page.png" rel="lightbox[4761]"><img class="size-medium wp-image-4766" title="icanlocalize-service-page" src="http://wpml.org/wp-content/uploads/2010/05/icanlocalize-service-page-300x237.png" alt="" width="300" height="237" /></a><p class="wp-caption-text">Page with different elements</p></div>
<p>This page includes:</p>
<ul>
<li>Navigation</li>
<li>Page title and body</li>
<li>Testimonials</li>
</ul>
<p>We wanted testimonials to automatically appear in the right pages. For instance, this page only includes testimonials of clients who use our website translation service. Other testimonials that talk about iPhone localization, don&#8217;t appear in this page. They would appear in the <a href="http://www.icanlocalize.com/site/services/software-localization/iphone-application-localization/">iPhone localization</a> service page.</p>
<p>Until WordPress 3, you could build this using pages and custom fields. That&#8217;s great, but causes a big mess. It&#8217;s difficult to set up and even worse to maintain. And, it gets much worse when running multilingual.</p>
<p>Now, it&#8217;s all clear and simple. Let&#8217;s start with the setup.</p>
<h2>Adding Custom Types from the Theme</h2>
<p>Since the testimonials type is added to our site, the place to declare them is in the theme. All it takes is this code:</p>
<pre>register_taxonomy(
  'service_type',
  array('post', 'page'),
  array(
    'hierarchical' =&gt; true,
    'label' =&gt; 'Service type',
    'query_var' =&gt; true,
    'rewrite' =&gt; true
  )
);

register_post_type( 'testimonial',
  array(
    'description' =&gt; __( 'Testimonials.' ),
    'labels' =&gt; array(
    'name' =&gt; __( 'Testimonials' ),
    'singular_name' =&gt; __( 'Testimonial' ),
    'add_new' =&gt; __( 'Add New' ),
    'add_new_item' =&gt; __( 'Add New Testimonial' ),
    'edit' =&gt; __( 'Edit' ),
    'edit_item' =&gt; __( 'Edit Testimonial' ),
    ...
  'taxonomies' =&gt; array('service_type'),
  ...</pre>
<p>Once we&#8217;ve added this to the theme, we get a new <strong>Testimonial</strong> section in the WordPress admin.</p>
<div id="attachment_4767" class="wp-caption alignnone" style="width: 298px"><a href="http://wpml.org/wp-content/uploads/2010/05/testimonials-menu.png" rel="lightbox[4761]"><img class="size-medium wp-image-4767" title="testimonials-menu" src="http://wpml.org/wp-content/uploads/2010/05/testimonials-menu-288x300.png" alt="" width="288" height="300" /></a><p class="wp-caption-text">Admin menu with testimonials</p></div>
<h2>Displaying Custom Types in Standard Pages</h2>
<p>So now, we were able to create testimonials as a new type. We&#8217;ve even added a service-type tag which says what the testimonials are about.</p>
<p>Next, we need to actually display the testimonials in pages.</p>
<p>We will collect all the testimonials that before to each service type and add them to that page.</p>
<p>What we do is:</p>
<pre>$query = array('suppress_filters'=&gt;0, 'post_type'=&gt;'testimonial',
   'service_type'=&gt;$terms[0]-&gt;slug, 'showposts'=&gt;$number);</pre>
<p>And, we&#8217;re done. Each page would automatically display all the testimonials for the service it talks about.</p>
<h2>Multilingual, Out of the Box</h2>
<p>WPML creates copies of the data in each language and associates them as translations. If you&#8217;re translating a testimonial, you&#8217;re actually creating another testimonial page in a different language. WPML assigns the language values and joins all translations together.</p>
<p>When our code requests the testimonial for a given service-type, it will automatically get them in the right language. This is because the service types are translated too and each translated page is automatically associated with the service type in the right language.</p>
<p>This may sound a bit complicated, but it all happens behind the scenes. In practice, you don&#8217;t need to do anything. Just translate everything and things &#8216;magically&#8217; display in the right language.</p>
<h2>Teaser &#8211; Using Views to Display Custom Data</h2>
<p>In order to display testimonials on each page we had to write a piece of PHP code as a plugin. We love PHP and do it all day, but not everyone is like that.</p>
<p>Wouldn&#8217;t it be great if a plugin could display custom data in flexible ways? We&#8217;d like to be able to paginate, sort and do all sorts of basic operations.</p>
<p>We&#8217;ll supply the HTML / CSS and the plugin would get us the data to display.</p>
<p>Drupal folks are already giggling. It&#8217;s called <a href="http://drupal.org/project/views">Views</a> &#8211; one of the most popular Drupal modules.</p>
<p>We&#8217;ve already started working on <a href="http://wordpress.org/extend/plugins/views/">Views</a> for WordPress. There&#8217;s no release yet, so this page doesn&#8217;t even exist, but it&#8217;s getting there. Once we&#8217;re done adding support to all the cool new features of WordPress 3 for WPML, we&#8217;re getting back to Views.</p>
<div>
<dl id="attachment_4767"></dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2010/05/custom-types-in-wordpress-3-simplified-our-site/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>What are your CMS enabling plugins?</title>
		<link>http://wpml.org/2009/06/what-are-your-cms-enabling-plugins/</link>
		<comments>http://wpml.org/2009/06/what-are-your-cms-enabling-plugins/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 01:30:38 +0000</pubDate>
		<dc:creator>amir</dc:creator>
				<category><![CDATA[CMS sites with WordPress]]></category>

		<guid isPermaLink="false">http://wpml.org/?p=1779</guid>
		<description><![CDATA[A Google search for &#8220;WordPress CMS enabling plugins&#8221; yields 341,000 results, many of them blog posts titled &#8220;5 essential CMS plugins for WordPress&#8220;. What I&#8217;d really like to know is what you&#8217;re using when you build full websites with WordPress. We&#8217;re asking this for a reason. The next release of WPML (1.1), will put an [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1784" title="plugins" src="http://wpml.org/wp-content/uploads/2009/06/plugins.jpg" alt="plugins" width="302" height="196" />A Google search for &#8220;<em>WordPress CMS enabling plugins</em>&#8221; yields 341,000 results, many of them blog posts titled &#8220;<em>5 essential CMS plugins for WordPress</em>&#8220;.</p>
<p>What I&#8217;d really like to know is <strong>what you&#8217;re using</strong> when you build full websites with WordPress.</p>
<p>We&#8217;re asking this for a reason. The next release of WPML (1.1), will put an emphasis on localizing texts created by other plugins and theme functions.</p>
<p>So, collecting a list of popular plugins which WPML users need will be very helpful.</p>
<h2>The challenges of making other plugins multilingual</h2>
<p>Plugins typically interact with WordPress in two ways. They access the database and produce HTML. WPML needs to make sure that both these operations are done correctly.</p>
<p>For example, a whole family of related posts plugins indexes posts and searches other posts for similar keywords (when done correctly, this operation can be quite fast). This means that to work correctly, in multilingual sites, they would need to either create individual, per language, indexes or use the language attribute as a parameter for the index.</p>
<p>Considering the fact that these plugins were written with no consideration for a multilingual environment, this can be quite a serious challenge.</p>
<p>And, on the other side, plugins also render text. A simple thing such as a sentence saying &#8220;<em>you may also be interested in these posts</em>&#8221; is less of a problem. Most likely it&#8217;s already wrapped in the <em>gettext</em> call and localized through the plugin&#8217;s .mo file.</p>
<p>However, dynamic texts are more of a problem. For example, look at the title tags produced by the famous <em>All-in-One SEO</em> plugin. There are titles per page and also for the home page, categories, search, etc.</p>
<p>WPML would also handle the per-post/page texts without any problem. The texts in the plugin admin screen are a bit more of a problem. They fall into the same category as widget titles and contents. These cannot be translated with a .mo file (since the texts are entered by the user) and also cannot be translated per page, as they&#8217;re entered once in the admin section.</p>
<h2>How WPML can help other plugins become truly multilingual</h2>
<p>In order for other plugins to become multilingual WPML is going to add localization functions which can be called from these plugins. The localization function should:</p>
<ol>
<li>Register texts that need localization, so that the admin can provide translations.</li>
<li>Hook to the text render, so that the correct text is displayed per language.</li>
<li>Be an optional process. This means that the plugin will run file without WPML (but in a single language) and with WPML in multiple languages.</li>
</ol>
<p>There are two approaches that can be taken here. One is to allow other plugins to tell WPML to hook to them and another is for WPML to create the translation functions for the plugins to call.</p>
<h2>Not just plugins, theme functions too!</h2>
<p>Premium themes (or your own custom themes) sometimes add a great deal of functionality to a website. This ranges from navigational aids, to a complete makeover (even WordPress&#8217; mother wouldn&#8217;t recognize it).</p>
<p>Since we all can be very creative when it comes to writing theme functions, it&#8217;s important to establish some guidelines. Just like plugin localization, we need to get to a state where the same theme can run perfectly without WPML and run multilingual with it.</p>
<h2>So, what are you doing?</h2>
<p>Tell us what you&#8217;re using for your sites. It&#8217;s important to know now, so that WPML can support it.</p>
<p><strong>Any major plugins that need multilingual support?</strong></p>
<p><strong>Any theme practices that have a hard time coexisting with WPML?</strong></p>
<p>If it&#8217;s a simple thing, leave a comment here. For technical discussions (which we love), head to our <a href="http://forum.wpml.org">forum</a> and start a new thread.</p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2009/06/what-are-your-cms-enabling-plugins/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Some great looking websites using WordPress as the CMS</title>
		<link>http://wpml.org/2008/12/some-great-looking-websites-using-wordpress-as-the-cms/</link>
		<comments>http://wpml.org/2008/12/some-great-looking-websites-using-wordpress-as-the-cms/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 17:49:17 +0000</pubDate>
		<dc:creator>amir</dc:creator>
				<category><![CDATA[CMS sites with WordPress]]></category>

		<guid isPermaLink="false">http://design.icanlocalize.com/?p=83</guid>
		<description><![CDATA[I want to show some examples of how designers are taking WordPress in directions far away from a blogging platform. Here are 7 sites that are using WordPress and show the diversity that the platform and creative designers can provide: Ford Motor Company Global Auto Shows website. WordPress goes big time! I find it interesting [...]]]></description>
			<content:encoded><![CDATA[<p>I want to show some examples of how designers are taking WordPress in directions far away from a blogging platform. Here are 7 sites that are using WordPress and show the diversity that the platform and creative designers can provide:</p>
<p style="text-align: center"><a href="http://autoshows.ford.com/" target="_blank"><strong>Ford Motor Company Global Auto Shows</strong> </a>website. WordPress goes big time! I find it interesting that a company with the resources of Ford uses WordPress for one of their sites. <a href="http://wpml.org/wp-content/imported/2008/12/ford-auto-shows.jpg" rel="lightbox[83]"><img class="aligncenter size-medium wp-image-84" src="http://wpml.org/wp-content/imported/imported/2008/12/ford-auto-shows-300x187.jpg" alt="ford-auto-shows" /></a></p>
<p style="text-align: center"><a href="http://www.fraai-magazine.com/" target="_blank"><strong>fraai magazine</strong></a> website. I am finding quite a few online magazine style websites powered by WordPress. This site has a unique feature of giving the ability to &#8220;flip&#8221; through the pages of the magazine. Nice!<a href="http://wpml.org/wp-content/imported/2008/12/fraai-magazine.jpg" rel="lightbox[83]"><img class="aligncenter size-medium wp-image-87" src="http://wpml.org/wp-content/imported/imported/2008/12/fraai-magazine-300x187.jpg" alt="fraai-magazine" /></a></p>
<p style="text-align: center"><strong><a href="http://www.ginger-restaurant.co.za/" target="_blank">Ginger, The Restaurant</a></strong> site. I think this is a stylish, easy to find what you want front page. The South African website comes from an interestingly named design firm, <a href="http://www.yellow-llama.com/" target="_blank">The Yellow Llama</a>, from the same country.<a href="http://wpml.org/wp-content/imported/2008/12/ginger-restaurant.jpg" rel="lightbox[83]"><img class="aligncenter size-medium wp-image-88" src="http://wpml.org/wp-content/imported/imported/2008/12/ginger-restaurant-300x187.jpg" alt="ginger-restaurant" /></a></p>
<p style="text-align: center"><strong><a href="http://www.quasarsoft.net/" target="_blank">Quasar Software Engineering</a></strong> website. Professional looking site gives the feeling of being serious about their business. I find the mix between the local language (in this case Italian) and English interesting. So many English tech terms are universal these days. Website designer is<a href="http://www.beesoft.it/" target="_blank"> BeeSoft</a>.<a href="http://wpml.org/wp-content/imported/2008/12/quasar-software.jpg" rel="lightbox[83]"><img class="aligncenter size-medium wp-image-93" src="http://wpml.org/wp-content/imported/imported/2008/12/quasar-software-300x187.jpg" alt="quasar-software" /></a></p>
<p style="text-align: center"><a href="http://www.tp-hire.co.uk/" target="_blank"><strong>Teepee Hire</strong></a> website. Who would even guess that you can rent teepees in England. The webstie makes you want to rent one and play cowboys and Indians! From <a href="http://www.thedevstudio.co.uk/" target="_blank">The Development Studio</a> who need to do a little work on their own website.<a href="http://wpml.org/wp-content/imported/2008/12/tp-hire.jpg" rel="lightbox[83]"><img class="aligncenter size-medium wp-image-95" src="http://wpml.org/wp-content/imported/imported/2008/12/tp-hire-300x187.jpg" alt="tp-hire" /></a></p>
<p style="text-align: center">I found some of these great looking sites through the blog of web designer <a href="http://rubiqube.com/" target="_blank">Adrian Diaconescu</a>, so I want to finish with a site from his portfolio, the WordPress powered<a href="http://www.rugbycast.com/" target="_blank"> John Taylor&#8217;s Rugby Cast</a>.<a href="http://wpml.org/wp-content/imported/2008/12/rugbycast.jpg" rel="lightbox[83]"><img class="aligncenter size-medium wp-image-97" src="http://wpml.org/wp-content/imported/imported/2008/12/rugbycast-300x187.jpg" alt="rugbycast" /></a></p>
<p>I hope I have shown an interesting cross section of  the creative uses designers are coming up with for WordPress powered sites. I tried to find and give credit for the design work for the different sites. If I missed something please let me know. And if you know of some interesting WordPress powered websites with good design and creativity please let me know by leaving a comment here.</p>
]]></content:encoded>
			<wfw:commentRss>http://wpml.org/2008/12/some-great-looking-websites-using-wordpress-as-the-cms/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
