<?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>iThemes &#187; Development</title>
	<atom:link href="http://ithemes.com/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://ithemes.com</link>
	<description>Business WordPress Themes</description>
	<lastBuildDate>Fri, 10 Feb 2012 22:39:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How to create a landing page for Flexx</title>
		<link>http://ithemes.com/2009/10/08/how-to-create-a-landing-page-for-flexx/</link>
		<comments>http://ithemes.com/2009/10/08/how-to-create-a-landing-page-for-flexx/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 10:49:39 +0000</pubDate>
		<dc:creator>Ronald van Weerd</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flexx Theme]]></category>

		<guid isPermaLink="false">http://ithemes.com/?p=1572</guid>
		<description><![CDATA[Update Nov. 24, 2010: there is an easier and better way to create landing pages for Flexx, which includes full configuration options for pages. Go to article By popular request, here are step-by-step instructions to create a landing page, or sales page that will contain no navigation links, and no widgets, for the popular and versatile Flexx theme. Before you continue, two words of warning Since all themes are constantly [...]]]></description>
			<content:encoded><![CDATA[<div style="border:1px dotted #000; text-align:center; margin: 20px 0 5px 0;">
<p><strong>Update Nov. 24, 2010: there is an easier and better way to create landing pages for Flexx, which includes full configuration options for pages. <a href="http://ithemes.com/more-flex-in-flexx-configurable-landing-pages/">Go to article</a></strong></p>
</div>
<p>By popular request, here are step-by-step instructions to create a landing page, or sales page that will contain no navigation links, and no widgets, for the popular and versatile <a href="http://ithemes.com/purchase/flexx-theme-wordpress-blog-themes/">Flexx theme</a>.</p>
<h2>Before you continue, two words of warning</h2>
<p>Since all themes are constantly being improved and enhanced with <a href="http://forum.ithemes.com/index.php?topic=6339.msg25709#new">new features and functionality</a>, the code as displayed may NOT be exactly the same as used in your Flexx theme. The instructions are based on Flexx version 2.5.2. You should try to understand these instructions, rather then copy and paste the code. That way, you will be able to implement these on your specific Flexx theme version.</p>
<p>For support and help on this, do <strong>NOT</strong> use the blog comments on this page, but use <a href="http://ithemes.com/support/flexx">the support forum</a>. Our Support Forum moderators do <strong>NOT</strong> check the comment section here. On the other hand, for some friendly words of appreciation, suggestions for improvements or additions to the code, feel free to add a comment.</p>
<p><span id="more-1572"></span></p>
<p>In the following steps I will explain what the changes are, and why and where they need to be applied:</p>
<ul>
<li><a href="#Create_Page_Template">Step 1: Create a new page template based on page.php</a></li>
<li><a href="#Modify_Page_Template">Step 2: Modify the page template</a></li>
<li><a href="#Modify_CSS">Step 3: Modify the Stylesheet to allow Full width content</a></li>
<li><a href="#Create_New_Header">Step 4: Create a new Header file</a></li>
<li><a href="#Create_New_Footer">Step 5: Create a new Footer file</a></li>
</ul>
<p><strong>Prerequisites:</strong></p>
<ul>
<li>a Flexx theme installed on WordPress</li>
<li>the ability to use the WordPress theme editor: <a href="http://codex.wordpress.org/Editing_Files">WordPress codex on Editing Files</a></li>
<li>the ability to upload files to your WordPress theme folder</li>
</ul>
<p><a id="Create_Page_Template" name="Create_Page_Template"></a></p>
<h2>Step 1: Create a new page template</h2>
<p>Use the base code from the file page.php to create a new page template. Name the file <code>landing_page.php</code> and upload/save the file in your theme folder.</p>
<p>More: <a href="http://codex.wordpress.org/Pages#Page_Templates">WordPress codex on Page templates</a>.</p>
<p><a id="Modify_Page_Template" name="Modify_Page_Template"></a></p>
<h2>Step 2: Modify the new page template</h2>
<p>Since most of the flex magic is done in the header (page and or category navigation, widgets) and footer files (widgets), we need to make sure the new page does not use the standard header and footer files. We will include a header and footer that will not have all this fancy magic code, so we end up with a header without navigation, and without widgets.</p>
<p>The <code>get_header();</code> and <code>get_footer();</code> functions allow you to specify a name, which will then be used to include the desired files. If you create files called header-<em>name</em>.php and footer-<em>name</em>.php WordPress will make sure these are included.</p>
<p>In this example, we will use <code>header-landing.php</code> and <code>footer-landing.php</code>.</p>
<p>Apply the following changes:</p>
<ul>
<li>Add the header info to indicate this is a page template:
<pre class="brush: php; title: ;">
&lt;?php
/*
Template Name: Landing Page
*/
?&gt;
</pre>
</li>
<li>Change the default <code>get_header();</code> to get the <code>header-landing.php</code>, we will use a variable <code>$name</code> for this:
<pre class="brush: php; title: ;">
&lt;?php
$name = 'landing';
get_header($name);
global $wp_theme_options; ?&gt;
</pre>
</li>
<li>Change the current content div to <code>content_full</code> to allow full width content:
<pre class="brush: php; title: ;">
&lt;div id=&quot;content_full&quot;&gt;
</pre>
</li>
<p>Change the default <code>get_footer();</code> to get the <code>footer-landing.php</code>:</p>
<pre class="brush: php; title: ;">
&lt;?php get_footer($name); ?&gt;
</pre>
</ul>
<p>Your entire landing page template should now look like this:</p>
<pre class="brush: php; title: ;">
&lt;?php
/*
Template Name: Landing Page
*/
?&gt;
&lt;?php
$name = 'landing';
get_header($name);
global $wp_theme_options; ?&gt;
&lt;!-- &lt;?php echo basename( __FILE__ ); ?&gt; --&gt;

&lt;div id=&quot;content_full&quot;&gt;

	&lt;?php if (have_posts()) : while (have_posts()) : the_post(); // the loop ?&gt;

	&lt;!--Post Wrapper Class--&gt;
	&lt;div class=&quot;post&quot;&gt;

	&lt;!--Title--&gt;
	&lt;h3 id=&quot;post-&lt;?php the_ID(); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/h3&gt;

	&lt;!--post text with the read more link--&gt;
	&lt;?php the_content(); ?&gt;
	&lt;?php ithemes_insert_edit_link(); ?&gt;

	&lt;!--post meta info--&gt;
	&lt;div class=&quot;meta-bottom wrap&quot;&gt;
	&lt;/div&gt;

	&lt;/div&gt;&lt;!--end .post--&gt;

	&lt;?php endwhile; // end of one post ?&gt;
	&lt;?php else : // do not delete ?&gt;

	&lt;div class=&quot;post&quot;&gt;
	&lt;h3&gt;&lt;?php _e(&quot;Page not Found&quot;); ?&gt;&lt;/h3&gt;
    &lt;p&gt;&lt;?php _e(&quot;We're sorry, but the page you're looking for isn't here.&quot;); ?&gt;&lt;/p&gt;
    &lt;p&gt;&lt;?php _e(&quot;Try searching for the page you are looking for or using the navigation in the header or sidebar&quot;); ?&gt;&lt;/p&gt;
    &lt;/div&gt;

	&lt;?php endif; // do not delete ?&gt;

&lt;/div&gt;&lt;!--end #content--&gt;

&lt;?php get_footer($name); //Include the Footer ?&gt;
</pre>
<p><strong>Update Nov. 21, 2010</strong>: in later versions of Flexx, you will also find a line <code>&lt;?php do_action('before_content'); ?></code> at the top of the file, and a line <code>&lt;?php do_action('after_content'); ?></code> at the bottom. These need to be removed as well.</p>
<p><a id="Modify_CSS" name="Modify_CSS"></a></p>
<h2>Step 3: Add styling to the stylesheet</h2>
<p>We will define a 100% width for the <code>content_full</code> div container, which leaves us with a content area spanning the entire site width, and since we&#8217;re using a percentage, it will also automatically adjust to the wide or narrow layout.</p>
<p>Add the following code to the end of your <code>stylesheet style.css</code>:</p>
<pre class="brush: css; title: ;">
/*********************************************
		Content Full Width for Landing Page
*********************************************/
#content_full {
	width:100%;
}
</pre>
<p><a id="Create_New_Header" name="Create_New_Header"></a></p>
<h2>Step 4: Create a new Header file</h2>
<p>Duplicate the default <code>header.php</code>, and name the new file <code>header-landing.php</code> and upload/save the file in your theme folder.</p>
<p>All that needs to be removed are the following lines.</p>
<ul>
<li>After the  tag:
<pre class="brush: php; title: ;">
&lt;?php do_action('above_header'); ?&gt;
</pre>
<p>This code inserts page or category navigation <strong>above</strong> the header image (depending on your layout settins). We won&#8217;t need any of that, so we simply remove this line.</li>
<li>At the end of the file:
<pre class="brush: php; title: ;">
&lt;?php do_action('below_header'); ?&gt;
</pre>
<p>This code inserts page or category navigation <strong>below</strong> the header image, and the top widgets, if defined. Again, we will remove this functionality.</li>
</ul>
<p><a id="Create_New_Footer" name="Create_New_Footer"></a></p>
<h2>Step 5: Create a new Footer file</h2>
<p>Duplicate the default <code>footer.php</code>, and name the new file <code>footer-landing.php</code> and upload/save the file in your theme folder.</p>
<p>All that needs to be removed is the following line.</p>
<ul>
<li>The second line:
<pre class="brush: php; title: ;">
&lt;?php do_action('above_footer') ?&gt;
</pre>
<p>If defined, bottom widgets will be inserted by this code, so we need to remove this as well.</li>
</ul>
<h2>That&#8217;s it</h2>
<p>So there you have a sample of a landing page. I hope you understand these instructions, and perhaps decide to create something even better! If so, do let us know.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://ithemes.com/2009/10/08/how-to-create-a-landing-page-for-flexx/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Customizing Theme Menu with Filters</title>
		<link>http://ithemes.com/2009/06/09/customizing-theme-menu-with-filters/</link>
		<comments>http://ithemes.com/2009/06/09/customizing-theme-menu-with-filters/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 19:34:29 +0000</pubDate>
		<dc:creator>Chris Jean</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[filters]]></category>
		<category><![CDATA[hooks]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://ithemes.com/?p=1307</guid>
		<description><![CDATA[Hello everyone. Chris Jean, iThemes&#8217; very own resident code monkey, here with some exciting news! Many of our customers have asked for the ability to more easily modify our themes. Recently, I&#8217;ve had the opportunity to go through some of our code and add the ability to customize certain parts of the theme easily by using filters. These initial changes are going to be most useful to developers that use [...]]]></description>
			<content:encoded><![CDATA[<p>Hello everyone. Chris Jean, iThemes&#8217; very own resident code monkey, here with some exciting news!</p>
<p>Many of our customers have asked for the ability to more easily modify our themes. Recently, I&#8217;ve had the opportunity to go through some of our code and add the ability to customize certain parts of the theme easily by using <a href="http://codex.wordpress.org/Plugin_API" target="_blank">filters</a>.</p>
<p>These initial changes are going to be most useful to developers that use our themes to develop sites for clients, but they can also be used by anyone that would like to customize the back-end of our themes. With these new filters, you can modify the name of the main theme tab, change the &#8220;Start Here&#8221; text of the first theme sub-menu, and change the URL used for the content of the Start Here page.</p>
<p>In order for you to successfully make use of these new filters, please ensure that your theme has the latest version of the lib/tutorials code. The current version as of this writing is 1.1.2. You can check the version in the lib/tutorials/tutorials.php file.</p>
<h3>Modifying the Theme Menu Name</h3>
<p>With this latest version of the lib/tutorials code, all the themes are now standardized to use &#8220;My Theme&#8221; for the main theme menu name. This should help make the experience of using our themes more consistent as you change from theme to theme and should reduce confusion on some of our video tutorials going forward.</p>
<p>You can easily change the theme menu name by using the <code>it_tutorials_top_menu_name</code> filter. For example:</p>
<pre style="padding-left: 20px; font-size: 12px;">function it_modify_top_menu_name( $name ) {
    return "Chris' Theme";
}
add_filter( 'it_tutorials_top_menu_name', 'it_modify_top_menu_name' );</pre>
<p>A good place to put this code is in the theme&#8217;s functions.php file.</p>
<h3>Modifying Start Here Menu Name and Page Content</h3>
<p>The first link under the theme menu has the text &#8220;Start Here&#8221;. This page is used to link people to tutorials so that they can more easily use the features of the themes. The content shown on the Start Here page is actually an external HTML page that is shown inside of an <a href="http://www.w3schools.com/TAGS/tag_iframe.asp" target="_blank">iframe</a>.</p>
<p>Other developers or end users may have other uses for this page, so two filters were added: a filter to modify the menu link text (<code>it_tutorials_menu_name</code>) and a filter to modify the URL for the content shown inside the iframe (<code>it_tutorials_filter_url</code>). The following example shows an example of using these filters.</p>
<pre style="padding-left: 20px; font-size: 12px;">function it_modify_tutorial_menu_name( $name ) {
    return "Useful Links";
}
add_filter( 'it_tutorials_menu_name', 'it_modify_tutorial_menu_name' );

function it_modify_tutorials_url( $url ) {
   return "http://yourdomain.com/helpful_links.html";
}
add_filter( 'it_tutorials_filter_url', 'it_modify_tutorials_url' );</pre>
<p>As before, a good place for this code is in the theme&#8217;s functions.php file.</p>
<h3>Future Themes, Features, and Filters</h3>
<p>These filters aren&#8217;t the only ones that will be added. Eventually, many of the existing features will have similar filters added to them to enable some basic customization of the theme back-end.</p>
<p>All current development is being done with attention to areas where other developers or users would like to make changes to the way a theme works. I look forward to providing everyone with more options in customizing our themes without having to go digging around in the code.</p>
<p>If you have any ideas for hooks or features that you&#8217;d like to see in our themes, you can send them directly to me at <a href="mailto:chris@ithemes.com">chris@ithemes.com</a> or post about them on <a href="http://forum.ithemes.com/index.php?board=3.0" target="_blank">our forum</a>.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://ithemes.com/2009/06/09/customizing-theme-menu-with-filters/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

