<?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/"
	xmlns:media="http://search.yahoo.com/mrss/">

<channel>
	<title>AppThemes Docs &#187; Tutorials</title>
	<atom:link href="https://docs.appthemes.com/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>https://docs.appthemes.com</link>
	<description>Just another AppThemes site</description>
	<lastBuildDate>Sat, 27 Jun 2015 10:01:37 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.2</generator>
	<item>
		<title>Using the WordPress Transient API</title>
		<link>https://docs.appthemes.com/tutorials/using-the-wordpress-transient-api/</link>
		<comments>https://docs.appthemes.com/tutorials/using-the-wordpress-transient-api/#comments</comments>
		<pubDate>Fri, 19 Jun 2015 13:45:39 +0000</pubDate>
		<dc:creator><![CDATA[Tyler Carter]]></dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">https://docs.appthemes.com/?p=6322</guid>
		<description><![CDATA[There are a lot of calculations you might need to do in order to make your WordPress site run properly. Things like counting the number of page views or posts, fetching data from a social media site, or maybe even just getting some data from your database. All of these can slow down your site [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>There are a lot of calculations you might need to do in order to make your WordPress site run properly. Things like counting the number of page views or posts, fetching data from a social media site, or maybe even just getting some data from your database. All of these can slow down your site if you have to do them every time the page loads, which makes a less user friendly experience for your visitor.</p>
<p>To solve this problem, we use the <a href="https://codex.wordpress.org/Transients_API">WordPress Transient API</a>. It is an API that allows you to temporarily store data that you plan on using again. This data is automatically made available so you don&#8217;t need to recalculate it, saving your future page load time.</p>
<h2>Setting Up a Transient</h2>
<p>Your transient is a key-value pair stored in a database. That means that when you store your transient, it must have a unique identifier (just like an option or post meta data). You&#8217;ll also need the data you want to store, and the amount of time you want it to last.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$identifier</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'my-transient-key'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$data</span>       <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'data1'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'data2'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'data3'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$expire</span>     <span style="color: #339933;">=</span> <span style="color: #cc66cc;">60</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">60</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// 1 hour</span>
set_transient<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$identifier</span><span style="color: #339933;">,</span> <span style="color: #000088;">$value</span><span style="color: #339933;">,</span> <span style="color: #000088;">$expire</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>As you can see, the expiration value is the number of seconds until the data should expire. WordPress will automatically calculate when the data will expire by adding that many seconds to the current time. After expiration, the transient will be cleaned up and will no longer return the data.</p>
<h2>Using Transients in Calculations</h2>
<p>Most of the time you&#8217;ll use transients to cache data that you want to use often, but happens to be expensive to grab. For instance, grabbing a list of tweets from Twitter might be a process that you only want to happen once a day. You can use transients to do this.</p>
<p>To make sure we are only grabbing the data from Twitter when we don&#8217;t already have it in a transient, we are going to fetch the transient using the <code>get_transient()</code> command, and see if it is false. Transients that have never been set or have expired will return false.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> get_transient<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'my-transient-key'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #339933;">===</span> <span style="color: #000088;">$data</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> get_twitter_data<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    set_transient<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'my-transient-key'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #000088;">$expire</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>You can see, we only fetch the twitter data if the transient returns false. If the transient has data that is still valid, the check will fail and the site will continue rendering using the cached data instead.</p>
<p>Like this tutorial? <a href="https://www.appthemes.com/subscribe/">Subscribe</a> and get the latest tutorials delivered straight to your inbox or feed reader.</p>]]></content:encoded>
			<wfw:commentRss>https://docs.appthemes.com/tutorials/using-the-wordpress-transient-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Settings for AppThemes</title>
		<link>https://docs.appthemes.com/tutorials/creating-settings-for-appthemes/</link>
		<comments>https://docs.appthemes.com/tutorials/creating-settings-for-appthemes/#comments</comments>
		<pubDate>Tue, 02 Jun 2015 22:45:15 +0000</pubDate>
		<dc:creator><![CDATA[Tyler Carter]]></dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">https://docs.appthemes.com/?p=6266</guid>
		<description><![CDATA[Last week we looked at how you can use our Framework to create Post Meta Boxes. That is great if you want to store data related to specific to a post, page, or some other post type. But what if you want to store something more general? We&#8217;ve had the same problem! We wanted to [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Last week we looked at how you can use our Framework to create Post Meta Boxes. That is great if you want to store data related to specific to a post, page, or some other post type. But what if you want to store something more general?</p>
<p>We&#8217;ve had the same problem! We wanted to make storing general settings simple, so we created the <code>APP_Tabs_Page</code>. It creates an easy and concise format where users can navigate between different categories of settings and set up their site just the way they want.</p>
<h2>Creating a Tabbed Settings Page</h2>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> My_Settings_Tabs <span style="color: #000000; font-weight: bold;">extends</span> APP_Tabs_Page <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> init_tabs<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Now, sometimes you&#8217;re going to need your own settings page. We&#8217;ll cover that next week. Today we&#8217;re going to talk about inserting additional settings for your plugin into existing AppThemes Settings pages. Its really simple.</p>
<p>The first thing to do is create your function that we will hook into later.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> add_more_options<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$page</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">//... add more options here</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Tabbed pages have two defining attributes: tabs, and their options. You can easily insert a new tab by accessing the tabs property on the passed pages object. Every tab has an identifier and a title:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Add a tab to the end of the list</span>
<span style="color: #000088;">$page</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tabs</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'my-tab'</span><span style="color: #339933;">,</span> __<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'My New Tab'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Add a tab before or after the 'general' tab</span>
<span style="color: #000088;">$page</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tabs</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_before</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'general'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'my-tab'</span><span style="color: #339933;">,</span> __<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'My New Tab'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$page</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tabs</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">add_after</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'general'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'my-tab'</span><span style="color: #339933;">,</span> __<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'My New Tab'</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>The identifier is important when you are creating the options list. You can access the options list through the <code>tab_sections</code> class property.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Add an options section to the page</span>
<span style="color: #000088;">$page</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">tab_sections</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tab-identifier'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'section-identifier'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
    <span style="color: #0000ff;">'title'</span>  <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Tab Title'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'fields'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
       <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">....</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
       <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">....</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
    <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>You can add multiple sections to each tab to create a more structured settings page. Your fields follow the standard AppThemes Form Array format.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$field</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
    <span style="color: #0000ff;">'title'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Field Title'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'type'</span>  <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'text'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'name'</span>  <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'field-name'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'value'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'field-default-value'</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Now to access these saved values, you&#8217;re going to have to instantiate the class.</p>
<h2>Accessing Saved Fields</h2>
<p>Settings values are stored in the WordPress database in an option. However, at AppThemes we like to avoid having a lot of options running around that could create conflicts in the global namespace. So, we use an <a href="https://github.com/scribu/wp-scb-framework/blob/master/Options.php">options object</a> that is a part of the <a href="https://github.com/scribu/wp-scb-framework">scbFramework</a> to store our options. It stores all of the data in a single site option to avoid conflicts. While using the scbOptions object is a subject for another tutorial, we&#8217;ll get you started with the basics:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$defaults</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
    <span style="color: #0000ff;">'field_name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'default-field-value'</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$options</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> scbOptions<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'site-option-key'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #000088;">$defaults</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>The options object will only accept field values for the keys defined in the defaults array, so make sure you list all the fields you&#8217;re hoping to store values for.</p>
<p>When you create your new settings page, you&#8217;ll want to create a new scbOptions object and pass it to it. Then, your scbOptions object will be populated with the user defined settings whenever the user saves the page. You can access the settings like so:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$options</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>field_name<span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>If nothing has been saved, it will default to the value stored in the defaults array. Otherwise, it will use the user-saved value.</p>
<h2>Going Further</h2>
<p>There&#8217;s lots of things you can do with settings pages. In the upcoming weeks, we&#8217;ll show you how to insert new sections into existing pages, create a non-tabbed admin page, and use the options object for all sorts of neat stuff. Stay tuned.</p>
<p>Like this tutorial? <a href="https://www.appthemes.com/subscribe/">Subscribe</a> and get the latest tutorials delivered straight to your inbox or feed reader.</p>]]></content:encoded>
			<wfw:commentRss>https://docs.appthemes.com/tutorials/creating-settings-for-appthemes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Loading Templates with appthemes_load_template()</title>
		<link>https://docs.appthemes.com/tutorials/loading-templates-with-appthemes_load_template/</link>
		<comments>https://docs.appthemes.com/tutorials/loading-templates-with-appthemes_load_template/#comments</comments>
		<pubDate>Thu, 30 Apr 2015 17:00:04 +0000</pubDate>
		<dc:creator><![CDATA[Tyler Carter]]></dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">https://docs.appthemes.com/?p=6181</guid>
		<description><![CDATA[With advanced themes, sometimes it is important that your templates be given certain data to them when they load. If you&#8217;re creating an archive, wouldn&#8217;t it be nice to be able to simply create a loop like the following? $posts = new WP_Query&#40; &#34;...query...&#34; &#41;; foreach&#40; $posts as $post &#41; &#123; &#160; $data = get_data&#40;&#41;; [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>With advanced themes, sometimes it is important that your templates be given certain data to them when they load. If you&#8217;re creating an archive, wouldn&#8217;t it be nice to be able to simply create a loop like the following?</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$posts</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> WP_Query<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;...query...&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$posts</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$post</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> get_data<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">include</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;content.php&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>The problem is that you can&#8217;t pass template files arguments like you can functions. Well, you couldn&#8217;t. We created a helper function <code>appthemes_load_template()</code> for just this special occasion.</p>
<h2> Passing Data to Template Files </h2>
<p>Reusing template files is easy with <code>appthemes_load_template()</code>. Here&#8217;s how it works:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
   <span style="color: #0000ff;">'variable_name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$variable_data</span><span style="color: #339933;">,</span>
   <span style="color: #0000ff;">'variable_name2'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$variable_data</span>
<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
appthemes_load_template<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'file you want to load'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data_to_pass</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Now, in your template file the variables you&#8217;ve set through the data argument are automatically made available.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="html" style="font-family:monospace;">&lt;div class=&quot;some-class&quot;&gt;&lt;?php echo $variable_name; ?&gt;&lt;/div&gt;
&lt;div class=&quot;some-other-class&quot;&gt;&lt;?php echo $variable_name2; ?&gt;&lt;/div&gt;</pre></td></tr></table></div>

<p>This allows you to make templates that are reusable, because they don&#8217;t rely on global data, such as template tags, in order to work. You simply load up the data array and they work.<br />
&nbsp;</p>
<p>Like this tutorial? <a href="https://www.appthemes.com/subscribe/">Subscribe</a> and get the latest tutorials delivered straight to your inbox or feed reader.</p>]]></content:encoded>
			<wfw:commentRss>https://docs.appthemes.com/tutorials/loading-templates-with-appthemes_load_template/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Force WordPress Backend to Use SSL</title>
		<link>https://docs.appthemes.com/tutorials/force-wordpress-backend-to-use-ssl/</link>
		<comments>https://docs.appthemes.com/tutorials/force-wordpress-backend-to-use-ssl/#comments</comments>
		<pubDate>Wed, 29 Apr 2015 00:08:34 +0000</pubDate>
		<dc:creator><![CDATA[Tyler Carter]]></dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">https://docs.appthemes.com/?p=6177</guid>
		<description><![CDATA[Forcing your WordPress Administration Panel to use SSL ensures that the data contained in your back end is resistant to things like man-in-the-middle attacks and prevents packet sniffing. The data transmitted through your back end can be sensitive and using SSL is a great step in making sure that you&#8217;re able to protect that information. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Forcing your WordPress Administration Panel to use SSL ensures that the data contained in your back end is resistant to things like man-in-the-middle attacks and prevents packet sniffing. The data transmitted through your back end can be sensitive and using SSL is a great step in making sure that you&#8217;re able to protect that information.</p>
<p>There are a couple ways to make sure that WordPress Administration is using SSL.</p>
<p><strong>Please note: </strong>Anytime you use SSL, your server must be equipped with an SSL certificate that will identify it to the world and facilitate verifying that the data being sent from your server has not been modified in anyway. Make sure your host has SSL set up for your server before you try anything related to SSL.</p>
<h2>Forcing SSL on the Login Page and Administration Panel</h2>
<p>WordPress has a built-in constant that will redirect all users accessing the administration panel, as well as any login pages, to SSL. The line simply must be dropped in your <code>wp-config.php</code> and it will immediately start working.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'FORCE_SSL_ADMIN'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>This simple line of code identifies to WordPress that you want all users accessing the back end of your site to be using the SSL protocol. Any traffic that is not using SSL will be redirected.</p>
<p>If for some reason you only want to use SSL on your login page, you can switch to the following constant</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'FORCE_SSL_LOGIN'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Check out our other posts on using <a href="/tag/ssl/">SSL</a>!</p>
<p>Like this tutorial? <a href="https://www.appthemes.com/subscribe/">Subscribe</a> and get the latest tutorials delivered straight to your inbox or feed reader.</p>]]></content:encoded>
			<wfw:commentRss>https://docs.appthemes.com/tutorials/force-wordpress-backend-to-use-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating Custom Post Meta Boxes</title>
		<link>https://docs.appthemes.com/developers/creating-custom-post-meta-boxes/</link>
		<comments>https://docs.appthemes.com/developers/creating-custom-post-meta-boxes/#comments</comments>
		<pubDate>Thu, 09 Apr 2015 00:36:29 +0000</pubDate>
		<dc:creator><![CDATA[Tyler Carter]]></dc:creator>
				<category><![CDATA[Developers]]></category>
		<category><![CDATA[Functions]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">https://docs.appthemes.com/?p=6138</guid>
		<description><![CDATA[Across all our themes, we use a lot of post meta boxes to give site owners the ability to easily edit data attached to posts, listings, and other items in their admin interface. We do it so much that we&#8217;ve created a really simple API to make creating post meta boxes incredibly fast and simple. All [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Across all our themes, we use a lot of post meta boxes to give site owners the ability to easily edit data attached to posts, listings, and other items in their admin interface. We do it so much that we&#8217;ve created a really simple API to make creating post meta boxes incredibly fast and simple.</p>
<p>All the magic is held in a utility class in our framework called APP_Meta_Box. It is automatically loaded on most admin pages when you&#8217;re running one of our themes.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> My_Meta_Box <span style="color: #000000; font-weight: bold;">extends</span> APP_Meta_Box <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		parent<span style="color: #339933;">::</span>__construct<span style="color: #009900;">&#40;</span> 
                    <span style="color: #0000ff;">'meta-box-identifier'</span><span style="color: #339933;">,</span> 
                    <span style="color: #0000ff;">'Meta Box Title'</span><span style="color: #339933;">,</span> 
                    <span style="color: #0000ff;">'post-type'</span><span style="color: #339933;">,</span> 
                    <span style="color: #0000ff;">'priority'</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;">public</span> <span style="color: #000000; font-weight: bold;">function</span> form_fields<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</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;">function</span> before_save<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$data</span><span style="color: #339933;">,</span> <span style="color: #000088;">$post_id</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #000088;">$data</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Using the utility class is pretty simple. You need a constructor that calls the parent class with the arguments that direct where the meta box will show up. You can then use the `form_fields()` method to define the form fields that will be shown. Our utility class will automatically handle saving.</p>
<p><strong>Example: Adding Media Contact Information</strong></p>
<p>Let&#8217;s say that you wanted to add a field that let you store the media contact representative users should contact in reference to a post. You could use a meta box to prompt the author for that information.</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> My_Media_Contact_Box <span style="color: #000000; font-weight: bold;">extends</span> APP_Meta_Box <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		parent<span style="color: #339933;">::</span>__construct<span style="color: #009900;">&#40;</span> 
                    <span style="color: #0000ff;">'media-contact-info'</span><span style="color: #339933;">,</span> 
                    <span style="color: #0000ff;">'Media Contact'</span><span style="color: #339933;">,</span> 
                    <span style="color: #0000ff;">'post'</span><span style="color: #339933;">,</span> 
                    <span style="color: #0000ff;">'normal'</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;">public</span> <span style="color: #000000; font-weight: bold;">function</span> form_fields<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #990000;">array</span><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;">'Contact Name'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
				<span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'text'</span><span style="color: #339933;">,</span>
				<span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'media_contact_name'</span><span style="color: #339933;">,</span>
			<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
			<span style="color: #990000;">array</span><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;">'Contact Email'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
				<span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'text'</span><span style="color: #339933;">,</span>
				<span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'media_contact_email'</span><span style="color: #339933;">,</span>
			<span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Its that simple. You can go into <code>/framework/admin/class-meta-box.php</code> to poke around more and see all the other awesome features of our meta box class.</p>
<p>Like this tutorial? <a href="https://www.appthemes.com/subscribe/">Subscribe</a> and get the latest tutorials delivered straight to your inbox or feed reader.</p>]]></content:encoded>
			<wfw:commentRss>https://docs.appthemes.com/developers/creating-custom-post-meta-boxes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to setup a PayPal Adaptive Live AppID</title>
		<link>https://docs.appthemes.com/tutorials/how-to-setup-a-paypal-adaptive-live-appid/</link>
		<comments>https://docs.appthemes.com/tutorials/how-to-setup-a-paypal-adaptive-live-appid/#comments</comments>
		<pubDate>Thu, 09 Oct 2014 15:17:42 +0000</pubDate>
		<dc:creator><![CDATA[Bruno Carreço]]></dc:creator>
				<category><![CDATA[HireBee]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[escrow]]></category>
		<category><![CDATA[paypal adaptive]]></category>

		<guid isPermaLink="false">http://docs.appthemes.com/?p=5792</guid>
		<description><![CDATA[Some of our themes now provides an escrow like service via the PayPal Adaptive API but before you&#8217;re able to use this service you need to request a Live AppID from PayPal. For that you&#8217;ll need to fill some details about your site and how the API will be used on your site. This &#8216;How To&#8217; should help you setup [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Some of our themes now provides an escrow like service via the <em>PayPal Adaptive API</em> but before you&#8217;re able to use this service you need to request a Live AppID from PayPal. For that you&#8217;ll need to fill some details about your site and how the API will be used on your site.</p>
<p>This &#8216;How To&#8217; should help you setup your <em>PayPal Live Application</em>.</p>
<h2><strong>Creating a new Application</strong></h2>
<p>To create a new application start by going to your <em>PayPal</em> applications account: <a href="https://www.paypal-apps.com/user/my-account/applications">https://www.paypal-apps.com/user/my-account/applications</a>.</p>
<p>Bellow you&#8217;l find help on the information required for the application.</p>
<h3><strong>App Information</strong></h3>
<ul>
<li><strong>Title</strong>
<ul>
<li>Add a unique name to your application (e.g: my-freelance-marketplace).</li>
</ul>
</li>
<li><strong>On what platform does your app run? </strong>
<ul>
<li>Choose <em><strong>Web.</strong></em></li>
</ul>
</li>
<li><strong>Description</strong>
<ul>
<li>Here you should describe your site purpose. Add your own words and <span style="text-decoration: underline">add the following API use information</span>:
<ul>
<li>
<blockquote><p><strong><em>It uses the delayed chained payments API to allow holding money as the primary receiver and releasing it after the two parties agree on a completed service. If the service is completed, the money held in escrow will automatically be transferred to the secondary receiver. Otherwise, if the service fails, the initial sender will be automatically refunded.</em></strong></p></blockquote>
</li>
</ul>
</li>
</ul>
</li>
<li><strong style="line-height: 1.5em">Industry and Use Cases</strong>
<ul>
<li><strong>Select from the Related Industry&#8230;</strong>
<ul>
<li>Choose <em><strong>None of the Below.</strong></em></li>
</ul>
</li>
<li><strong style="line-height: 1.5em">Select from the Use Case list below.</strong>
<ul>
<li>Choose <em><strong>Services.</strong></em></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Services used by app</h3>
<ul>
<li><strong>Adaptive Payments</strong>
<ul>
<li>Check <em><strong>Chained Payments</strong> </em>(leave <em>Basic Payments</em> and <em>Preapprovals</em> unchecked)
<ul>
<li><strong>The payments to secondary receivers are:</strong>
<ul>
<li>Check<strong> Delayed.</strong></li>
</ul>
</li>
</ul>
</li>
<li><strong style="line-height: 1.5em">Who pays the fee?</strong>
<ul>
<li><strong style="font-size: 14px;line-height: 1.5em">Leave empty OR </strong>choose<strong style="font-size: 14px;line-height: 1.5em"> Primary Receiver OR </strong><strong style="font-size: 14px;line-height: 1.5em">Each Receiver </strong>(other options do not work with delayed chained payments)<span style="font-size: 14px;line-height: 1.5em">. If you do select an option make sure it matches the &#8216;</span><em style="font-size: 14px;line-height: 1.5em">Payer&#8217;</em><span style="font-size: 14px;line-height: 1.5em"> option you&#8217;ve selected on your </span><em style="font-size: 14px;line-height: 1.5em">HireBee PayPal Adaptive Settings.</em></li>
</ul>
</li>
</ul>
</li>
<li><strong>Who is the primary receiver?</strong>
<ul>
<li>The primary receiver is your site (you) so here you need to add your application name (e:g: my-freelance-marketplace).</li>
</ul>
</li>
<li><strong style="font-size: 14px;line-height: 1.5em"><span style="line-height: 1.5em">Who is (are) the secondary receiver(s)?</span></strong>
<ul>
<li>Add &#8216;<strong>service provider</strong>&#8216;.</li>
</ul>
</li>
<li><strong style="font-size: 14px;line-height: 1.5em">Expected monthly payment volume and average transaction amount in US</strong>
<ul>
<li>Add your expected values (your choice).</li>
</ul>
</li>
<li><strong>Who is responsible for chargebacks or refunds?</strong>
<ul>
<li>Add &#8216;<strong>Me</strong>&#8216; (as the primary receiver you are responsible for any refunds)</li>
</ul>
</li>
<li><strong style="font-size: 14px;line-height: 1.5em">Do you have an Acceptable Use Policy?</strong>
<ul>
<li>Choose <strong>Yes.</strong>
<ul>
<li><strong>IMPORTANT:</strong> PayPal requires sites to have a <em>Use Policy</em> page like stated on their <em><a href="https://developer.paypal.com/docs/classic/lifecycle/policiesAndGuidelines/">PayPal Application Policies and Guidelines page</a>:</em> <em>&#8220;Publicly post an <a style="color: #0088cc" href="https://cms.paypal.com/us/cgi-bin/marketingweb?cmd=_render-content&amp;content_ID=ua/AcceptableUse_full&amp;locale.x=en_US">Acceptable Use Policy</a> (AUP) and legal agreement that aligns with PayPal&#8217;s guidelines. (You may link to PayPal&#8217;s policies if you do not want to create your own.). </em></li>
<li>You need to have a <em>Use Policy/User Agreement</em> page. The easiest way to do this is to have a page linked to <em>PayPal Acceptable Use Policy, </em>or copy&amp;paste their policy content, alternatively, write your own policies page. If you decide to write your own policy page make sure you mention how payments and refunds are handled on your site.</li>
</ul>
</li>
<li><strong>If yes, where can we find it?</strong>
<ul>
<li>Specify the policy/terms page URL. It should contain your policies like described previously.</li>
</ul>
</li>
</ul>
</li>
<li><strong>Adaptive Accounts</strong>
<ul>
<li>Leave empty.</li>
</ul>
</li>
<li><strong style="font-size: 14px;line-height: 1.5em">3rd Party Permissions</strong>
<ul>
<li>Leave empty.</li>
</ul>
</li>
<li><strong style="font-size: 14px;line-height: 1.5em">Invoicing</strong>
<ul>
<li>Leave empty.</li>
</ul>
</li>
<li><strong>Testing Information</strong>
<ul>
<li><strong>Step-by-step Payment Flows Instructions</strong>
<ul>
<li>This input should contain the payments flow and some inform for <em>PayPal</em> reviewers. Just <em>copy&amp;paste</em> the flow provided below:</li>
<li>
<blockquote><p><strong><em>1. Service buyer and service provider agree on a service<br />
2. Service buyer transfers funds to PayPal via PayPal adaptive API<br />
3. Service provider begins work<br />
4. Service Completed &#8211; Funds are transferred to service provider<br />
5. Service Canceled/Incomplete &#8211; Service buyer is fully refunded<br />
</em></strong></p></blockquote>
</li>
</ul>
</li>
</ul>
</li>
<li><strong>Test URL (if applicable)</strong>
<ul>
<li>Optionally add your test site URL. You may leave it empty but <em>PayPal</em> reviewers may ask you access during the review phase.</li>
</ul>
</li>
<li><strong>Supply Test Account Name and Password</strong>
<ul>
<li>Add <strong>not applicable &#8211; public</strong></li>
</ul>
</li>
<li><span style="line-height: 1.5em">All other information is optional and you can skip it. Also, any additional options that you may see on the </span><em style="line-height: 1.5em">PayPal</em><span style="line-height: 1.5em"> application form not mentioned above are not required to be filled.</span></li>
</ul>
<ul>
<li><strong>SUBMIT!</strong></li>
</ul>
<h2>Conditional Approvement</h2>
<p>After submitting your application the live status should be immediately set to &#8216;<em>Conditionally Approved</em>&#8216;. This means that most of the application API services are still restricted, mainly the most important one: <em>PayPal Delayed Chained Payments, </em>meaning that<em> </em>the escrow service will still NOT work<em>. </em></p>
<p>You&#8217;ll ONLY be able to start using escrow services on your theme<em> </em>after <em>PayPal</em> <span style="text-decoration: underline">gives you confirmation on the final approvement to use the <em>Delayed Chained Payments</em> API service</span>.</p>
<h2>Approvement Confirmation</h2>
<p>After you get the confirmation from <em>PayPal</em> that <em>Chained Payments</em> are active for your application you should be able to start using escrow services on your theme. If you have any issues please use the forums so our support team can help you further.</p>
<p>&nbsp;</p>
<p>Like this tutorial? <a href="https://www.appthemes.com/subscribe/">Subscribe</a> and get the latest tutorials delivered straight to your inbox or feed reader.</p>]]></content:encoded>
			<wfw:commentRss>https://docs.appthemes.com/tutorials/how-to-setup-a-paypal-adaptive-live-appid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a Price Comparision Table</title>
		<link>https://docs.appthemes.com/tutorials/creating-a-price-comparision-table/</link>
		<comments>https://docs.appthemes.com/tutorials/creating-a-price-comparision-table/#comments</comments>
		<pubDate>Thu, 02 Jan 2014 01:56:57 +0000</pubDate>
		<dc:creator><![CDATA[meloniq]]></dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[creating table]]></category>
		<category><![CDATA[price comparer]]></category>

		<guid isPermaLink="false">http://docs.appthemes.com/?p=5487</guid>
		<description><![CDATA[At this point we assume that you have fulfilled plugin settings and have enabled at least one provider. If you have not done so, please follow the Setting Up the Price Comparer Plugin tutorial. 1. Creating Table To create a price comparision table go to WordPress admin panel, then from left menu choose &#8220;Price Tables [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>At this point we assume that you have fulfilled plugin settings and have enabled at least one provider. If you have not done so, please follow the <a href="http://docs.appthemes.com/tutorials/setting-up-the-price-comparer-plugin/" title="Setting Up the Price Comparer Plugin">Setting Up the Price Comparer Plugin</a> tutorial.</p>
<p><strong>1. Creating Table</strong><br />
To create a price comparision table go to WordPress admin panel, then from left menu choose &#8220;Price Tables -&gt; Add New&#8221;. A new page with form and settings will be opened.</p>
<p><a href="https://docs.appthemes.com/files/2013/12/pcp-create-table-title.png"><img src="https://docs.appthemes.com/files/2013/12/pcp-create-table-title-300x156.png" alt="Table name and description" class="aligncenter size-medium wp-image-5493 img-responsive center-block " /></a></p>
<p>At the very top you can give some name to this table eg. &#8220;Watches&#8221; if we going to create a comparision table with watches. This name is only for you and will not be visible on the frontend.</p>
<p>In the next field you can enter some description of table, it will be displayed above the table. You can use this field to to enter review of product or any other details. This field is optional so you can easily leave it blank.</p>
<p><strong>2. Table Details</strong></p>
<ul>
<li><strong>Assign to Post</strong> &#8211; Allows you to enter the ID of post under which this table should be displayed.</li>
<li><strong>Search for</strong> &#8211; Allows you to enter the comma separated list of words that product MUST contain.</li>
<li><strong>Exclude</strong> &#8211; Allows you to enter the comma separated list of words that product MUST NOT contain.</li>
<li><strong>Minimum Price</strong> &#8211; Allows you to enter the minimum price of product.</li>
<li><strong>Maximum Price</strong> &#8211; Allows you to enter the maximum price of product.</li>
</ul>
<p>Table Details metabox contain settings that allows you to refine search of products available in each provider API. Only the &#8220;Search for&#8221; is a required field that you must fill.</p>
<p><a href="https://docs.appthemes.com/files/2013/12/pcp-create-table-criterias.png"><img src="https://docs.appthemes.com/files/2013/12/pcp-create-table-criterias-300x196.png" alt="Table Details" class="aligncenter size-medium wp-image-5492 img-responsive center-block " /></a></p>
<p>Once you filled criterias of product refinement, click the &#8220;Save Draft&#8221; or &#8220;Publish&#8221; button, your settings will be saved, and in Providers metaboxes will be displayed products that match your criteria, as shown below:</p>
<p><a href="https://docs.appthemes.com/files/2013/12/pcp-create-table-search-results.png"><img src="https://docs.appthemes.com/files/2013/12/pcp-create-table-search-results-300x160.png" alt="Search Results" class="aligncenter size-medium wp-image-5491 img-responsive center-block " /></a></p>
<p>Tick the checkbox on the left side of each product that you would like to add into price comparision table, once completed, click the &#8220;Save Draft&#8221; or &#8220;Publish&#8221; button to save your selection.</p>
<p>All selected products will be moved to the &#8220;Selected Products&#8221; metabox, as shown below:</p>
<p><a href="https://docs.appthemes.com/files/2013/12/pcp-create-table-selected-products.png"><img src="https://docs.appthemes.com/files/2013/12/pcp-create-table-selected-products-300x160.png" alt="Selected Products" class="aligncenter size-medium wp-image-5490 img-responsive center-block " /></a></p>
<p>Please note that you can change search criteria multiple times to find all products you wish to include into table.</p>
<p><strong>3. Displaying Table</strong><br />
To get the newly created table displayed on the front end, you can do it in 2 ways:</p>
<ul>
<li><strong>Shortcode</strong> &#8211; copy shortcode visible on &#8220;Edit Table&#8221; page, open some Post or Page for editing, and simply paste this shortcode into description field.</li>
<li><strong>Assign to Post</strong> option &#8211; on &#8220;Edit Table&#8221; page, in &#8220;Table Details&#8221; metabox, you find the &#8220;Assign to Post&#8221; option. Click the &#8220;Find Post&#8221; button, and in popup select post to which this table should be assigned.</li>
</ul>
<p><a href="https://docs.appthemes.com/files/2013/12/pcp-create-table-shortcode.png"><img src="https://docs.appthemes.com/files/2013/12/pcp-create-table-shortcode-300x38.png" alt="Shortcode" class="aligncenter size-medium wp-image-5495 img-responsive center-block " /></a></p>
<p><strong>4. Final Result</strong></p>
<p><a href="https://docs.appthemes.com/files/2013/12/pcp-ideas-frontend.png"><img src="https://docs.appthemes.com/files/2013/12/pcp-ideas-frontend.png" alt="Price table on frontend" class="aligncenter size-full wp-image-5496 img-responsive center-block " /></a></p>
<p>Like this tutorial? <a href="https://www.appthemes.com/subscribe/">Subscribe</a> and get the latest tutorials delivered straight to your inbox or feed reader.</p>]]></content:encoded>
			<wfw:commentRss>https://docs.appthemes.com/tutorials/creating-a-price-comparision-table/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Up the Price Comparer Plugin</title>
		<link>https://docs.appthemes.com/tutorials/setting-up-the-price-comparer-plugin/</link>
		<comments>https://docs.appthemes.com/tutorials/setting-up-the-price-comparer-plugin/#comments</comments>
		<pubDate>Thu, 02 Jan 2014 01:56:50 +0000</pubDate>
		<dc:creator><![CDATA[meloniq]]></dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[price comparer]]></category>
		<category><![CDATA[settings]]></category>

		<guid isPermaLink="false">http://docs.appthemes.com/?p=5481</guid>
		<description><![CDATA[At this point we assume that you have created publisher accounts, obtained API creditionals and signed up for various advertiser programs. If you have not done so, please read the Obtaining API keys tutorial. General Settings Proposed Items – Specifies how many products should be shown in search results per each provider. Update Products Daily [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>At this point we assume that you have created publisher accounts, obtained API creditionals and signed up for various advertiser programs. If you have not done so, please read the <a href="http://docs.appthemes.com/tutorials/obtaining-api-keys-for-the-price-comparer-plugin/" title="Obtaining API keys for the Price Comparer plugin">Obtaining API keys</a> tutorial.</p>
<p><strong>General Settings</strong></p>
<ul>
<li><strong>Proposed Items</strong> – Specifies how many products should be shown in search results per each provider.</li>
<li><strong>Update Products Daily</strong> &#8211; Updates daily a product details that are added to price comparision tables.</li>
</ul>
<p><strong>Table Heading</strong></p>
<ul>
<li><strong>Merchant Column</strong> &#8211; Specifies text of the merchant column.</li>
<li><strong>Product Column</strong> &#8211; Specifies text of the product column.</li>
<li><strong>Price Column</strong> &#8211; Specifies text of the price column.</li>
<li><strong>Button Text</strong> &#8211; Specifies text of the affiliate button.</li>
</ul>
<p><strong>Table Info</strong></p>
<ul>
<li><strong>Additional Info</strong> &#8211; Specifies text that will be displayed below the table.</li>
</ul>
<p><strong>Link Settings</strong></p>
<ul>
<li><strong>Cloak Links</strong> &#8211; Allows you to hide affiliate links.</li>
<li><strong>Open in New Window</strong> &#8211; Allows you to open affiliate links in new windows.</li>
<li><strong>Add Nofollow</strong> &#8211; Allows you to add &#8220;nofollow&#8221; to affiliate links.</li>
</ul>
<p><strong>Installed Providers</strong></p>
<p>Allows you to enable available product service providers, there are build-in integrations with 3 providers:</p>
<ul>
<li><strong>Amazon</strong></li>
<li><strong>Commission Junction</strong></li>
<li><strong>LinkShare</strong></li>
</ul>
<p><strong>Button Styles</strong></p>
<p>Allows you to change &#8220;Visit Store&#8221; button styles, to make it suit good to your website design, you can set:</p>
<ul>
<li><strong>Top Color</strong></li>
<li><strong>Bottom Color</strong></li>
<li><strong>Border Color</strong></li>
<li><strong>Text Color</strong></li>
</ul>
<p><strong>Additional Styles</strong></p>
<ul>
<li><strong>Custom CSS</strong> &#8211; Allows you to add CSS to your theme, to style some additional elements.</li>
</ul>
<p><strong>Amazon, Commission Junction and LinkShare tabs</strong><br />
Each tab contain a provider specific settings which you need to fulfill in order to use that service. Please read closely <a href="http://docs.appthemes.com/tutorials/obtaining-api-keys-for-the-price-comparer-plugin/" title="Obtaining API keys for the Price Comparer plugin">Obtaining API keys</a> tutorial, and tooltip information under each setting.</p>
<h3>Creating a Price Comparision table</h3>
<p>At this point we assume that you have fulfilled plugin settings and have enabled at least one provider. If you have not done so, please follow the steps above.</p>
<p><a href="http://docs.appthemes.com/tutorials/creating-a-price-comparision-table/" title="Creating a Price Comparision table">Continue reading…</a></p>
<p>Like this tutorial? <a href="https://www.appthemes.com/subscribe/">Subscribe</a> and get the latest tutorials delivered straight to your inbox or feed reader.</p>]]></content:encoded>
			<wfw:commentRss>https://docs.appthemes.com/tutorials/setting-up-the-price-comparer-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Obtaining API Keys for the Price Comparer Plugin</title>
		<link>https://docs.appthemes.com/tutorials/obtaining-api-keys-for-the-price-comparer-plugin/</link>
		<comments>https://docs.appthemes.com/tutorials/obtaining-api-keys-for-the-price-comparer-plugin/#comments</comments>
		<pubDate>Thu, 02 Jan 2014 01:56:46 +0000</pubDate>
		<dc:creator><![CDATA[meloniq]]></dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[cj]]></category>
		<category><![CDATA[commision junction]]></category>
		<category><![CDATA[keys]]></category>
		<category><![CDATA[linkshare]]></category>
		<category><![CDATA[price comparer]]></category>

		<guid isPermaLink="false">http://docs.appthemes.com/?p=5474</guid>
		<description><![CDATA[The Price Comparer plugin allows you to create price comparision tables of products. It comes with build-in integrations with 3 affiliate networks &#8211; Amazon, Commission Junction and LinkShare. In this one tutorial we will show you how to obtain API keys required for communication between plugin and affiliate network service. Commission Junction To use the [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>The Price Comparer plugin allows you to create price comparision tables of products. It comes with build-in integrations with 3 affiliate networks &#8211; Amazon, Commission Junction and LinkShare. In this one tutorial we will show you how to obtain API keys required for communication between plugin and affiliate network service.</p>
<h3>Commission Junction</h3>
<p>To use the CJ service you must have a Commission Junction publisher account. You can sign up for a free CJ publisher account <a href="https://signup.cj.com/member/publisherSignUp.do" title="Commision Junction publisher sign up" target="_blank">here</a>.</p>
<p><strong>Create a Website Profile</strong><br />
To create a website profile, go to “Account &gt; Web Site Settings” in your CJ member panel, and click on the “Add a New Website” button. You will need to fill out a form like the one shown below.</p>
<p><a href="https://docs.appthemes.com/files/2013/12/pcp-cj-creating-website-profile.png"><img src="https://docs.appthemes.com/files/2013/12/pcp-cj-creating-website-profile-300x173.png" alt="CJ Creating Website Profile" class="aligncenter size-medium wp-image-5476 img-responsive center-block " /></a></p>
<p>Once you have completed the form, click the “Save” button at the bottom of the form.</p>
<p>Commission Junction allows you to set up multiple web site profiles. If you have multiple web site profiles, you can navigate between them by using the “Select Web site” drop-down menu near the top of the page.</p>
<p>At this point, you will want to make note of the seven digit “<strong>PID</strong>” number. You will need to enter this info into the Price Comparer plugin settings, on Commission Junction tab.</p>
<p><strong>Obtaining a Developer Key</strong><br />
You will also need to obtain a Commission Junction developer key to allow Price Comparer to access the Commission Junction API. First, you will need to sign up for a free CJ developer account <a href="https://api.cj.com/sign_up.cj" title="Commision Junction developer sign up" target="_blank">here</a>.</p>
<p>After signing up for the developer account, Commission Junction will send an email with the developer key included. Set this aside. You will need to refer to it soon.</p>
<p><strong>Joining Affiliate Programs</strong><br />
This step is pretty important. To receive commissions for promoting products on your site, you will need to sign up for affiliate programs offered by merchants.</p>
<p>To apply to individual affiliate programs, go to “Get links &gt; Advertiser list”. You will be presented with a page of advertiser categories. Choose any category to see a list of stores. Click the check box next to the stores you wish to join then click the “Apply to Program” button at the top or bottom of the list. Please note that it may take a few days for some advertisers to accept your application.</p>
<h3>LinkShare</h3>
<p>To use the LinkShare service you must have a LinkShare publisher account. You can sign up for a free LinkShare publisher account <a href="https://cli.linksynergy.com/cli/publisher/registration/registration.php" title="LinkShare publisher sign up" target="_blank">here</a>.</p>
<p><strong>Obtaining a Token Key</strong><br />
You will need to obtain a LinkShare token key to allow Price Comparer to access the LinkShare API. To get a token key, login into your LinkShare account, then go to “Links &gt; Web Services”, you find it in “Your Web Services Token” box, if it’s not yet there, click the “Create Token” button.</p>
<p><a href="https://docs.appthemes.com/files/2013/12/pcp-linkshare-token.png"><img src="https://docs.appthemes.com/files/2013/12/pcp-linkshare-token-300x250.png" alt="LinkShare Token" class="aligncenter size-medium wp-image-5475 img-responsive center-block " /></a></p>
<p><strong>Joining Affiliate Programs</strong><br />
This step is pretty important. To receive commissions for promoting products on your site, you will need to sign up for affiliate programs offered by merchants.</p>
<p>To apply to individual affiliate programs, choose “Programs” from menu. You will be presented with a page of advertiser categories. Choose any category to see a list of stores. Click the check box next to the stores you wish to join then click the “Apply” button at the top or bottom of the list. Please note that it may take a few days for some advertisers to accept your application.</p>
<h3>Amazon</h3>
<p>To use the Amazon service you must have a Amazon publisher account. You can sign up for a free Amazon publisher account <a href="https://affiliate-program.amazon.com/gp/flex/advertising/api/sign-in.html" title="Amazon Product Advertising API sign up" target="_blank">here</a>.</p>
<p><strong>Obtaining Access Keys</strong><br />
You will need to obtain a Amazon Access keys to allow Price Comparer to access the Amazon API. To get API keys, login into your Amazon account, then go to “Manage My Account &gt; Access Identifiers”, you find it in “Access Keys” box, if it’s not yet there, click the “Create New Access Key” button.</p>
<p><a href="https://docs.appthemes.com/files/2013/12/pcp-amazon-api-keys.png"><img src="https://docs.appthemes.com/files/2013/12/pcp-amazon-api-keys-300x148.png" alt="Amazon Access Keys" class="aligncenter size-medium wp-image-5478 img-responsive center-block " /></a></p>
<p><strong>Obtaining Associate ID</strong><br />
You will need to obtain a Amazon Associate ID. To get Associate ID, sign up for a free Amazon associates account <a href="https://affiliate-program.amazon.com/gp/associates/apply/main.html" title="Amazon Associates sign up" target="_blank">here</a>.</p>
<p><a href="https://docs.appthemes.com/files/2013/12/pcp-amazon-associates.png"><img src="https://docs.appthemes.com/files/2013/12/pcp-amazon-associates-300x171.png" alt="Amazon Associates" class="aligncenter size-medium wp-image-5479 img-responsive center-block " /></a></p>
<h3>Setting Up the Plugin</h3>
<p>At this point we assume that you have created publisher accounts, obtained API creditionals and signed up for various advertiser programs. If you have not done so, please follow the steps above.</p>
<p><a href="http://docs.appthemes.com/tutorials/setting-up-the-price-comparer-plugin/" title="Setting Up the Price Comparer Plugin">Continue reading&#8230;</a></p>
<p>Like this tutorial? <a href="https://www.appthemes.com/subscribe/">Subscribe</a> and get the latest tutorials delivered straight to your inbox or feed reader.</p>]]></content:encoded>
			<wfw:commentRss>https://docs.appthemes.com/tutorials/obtaining-api-keys-for-the-price-comparer-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Up the iCodes Plugin</title>
		<link>https://docs.appthemes.com/tutorials/setting-up-the-icodes-plugin/</link>
		<comments>https://docs.appthemes.com/tutorials/setting-up-the-icodes-plugin/#comments</comments>
		<pubDate>Thu, 02 Jan 2014 01:21:07 +0000</pubDate>
		<dc:creator><![CDATA[meloniq]]></dc:creator>
				<category><![CDATA[Clipper]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[clipper]]></category>
		<category><![CDATA[coupons]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[icodes]]></category>
		<category><![CDATA[importer]]></category>

		<guid isPermaLink="false">http://docs.appthemes.com/?p=5448</guid>
		<description><![CDATA[The iCodes plugin allows you to automatically import coupons and promotion data into your Clipper site from 14+ affiliate networks like Amazon, Affiliate Future, Affiliate Window, Affilinet, Aflite, AvantLink, Buy, Commission Junction, DGM, eBay, Google, Impact Radius, Independent, Mobiles4everyone, Monetise, MoreNiche, LinkConnector, LinkShare, Paid On Results, PepperJam, Profitistic, ShareASale, Silvertap, TradeTracker, Tradedoubler, Trienta Affiliates, WebGains. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>The iCodes plugin allows you to automatically import coupons and promotion data into your Clipper site from 14+ affiliate networks like Amazon, Affiliate Future, Affiliate Window, Affilinet, Aflite, AvantLink, Buy, Commission Junction, DGM, eBay, Google, Impact Radius, Independent, Mobiles4everyone, Monetise, MoreNiche, LinkConnector, LinkShare, Paid On Results, PepperJam, Profitistic, ShareASale, Silvertap, TradeTracker, Tradedoubler, Trienta Affiliates, WebGains.</p>
<h3>iCodes Preparation</h3>
<p>iCodes prepared several tutorials about setting up their service with affiliate networks, all tutorials you find <a title="iCodes tutorials" href="http://www.icodes.co.uk/tutorials/category/Tutorials/1.html" target="_blank">here</a>.</p>
<p>Three of them that you <strong>must read</strong> linked below:</p>
<ul>
<li><a title="How to find your iCodes Username and Subscription ID" href="http://www.icodes.co.uk/tutorials/Your+Username+and+Subscription+ID.html" target="_blank">How to find your iCodes Username and Subscription ID</a></li>
<li><a title="Locating Your Affiliate IDs" href="http://www.icodes.co.uk/tutorials/Locating+Your+Affiliate+IDs.html" target="_blank">Locating Your Affiliate IDs</a></li>
<li><a title="Joining Networks and Merchants" href="http://www.icodes.co.uk/tutorials/Joining+Networks+and+Merchants.html" target="_blank">Joining Networks and Merchants</a></li>
</ul>
<p>You&#8217;re now ready to set up the plugin within your Clipper install.</p>
<h3>Setting Up the Plugin</h3>
<p>At this point we assume that you have created iCodes account, joined affiliate networks and merchants. If you have not done so, please follow the steps above.</p>
<p><strong>Installing the plugin</strong><br />
You can obtain the necessary plugin files in your AppThemes customer <a href="http://my.appthemes.com/">dashboard</a>. In the dashboard, click &#8220;Purchases&#8221; in the right sidebar and then look for the plugin files under the heading &#8220;Marketplace Purchases&#8221;. Click the link under the plugin name and save the ZIP file to your computer.</p>
<p>In the WordPress admin of your site, go to Plugins &gt; Add New. Click the &#8220;Upload&#8221; link at the top of the page and use the upload form to find the files on your computer (you saved these files to your computer in the previous step). Click the &#8220;Install Now&#8221; button, then click &#8220;Activate Plugin&#8221;.</p>
<p>You&#8217;re now ready to add the settings to the iCodes plugin.</p>
<p><strong>iCodes Plugin Settings</strong><br />
After plugin activation, go to Clipper &gt; iCodes to find the iCodes settings page, like the one in screenshot below.</p>
<p><a href="https://docs.appthemes.com/files/2013/10/icodes-screenshot-2.png"><img src="https://docs.appthemes.com/files/2013/10/icodes-screenshot-2-300x187.png" alt="iCodes Settings" class="aligncenter size-medium wp-image-5450 img-responsive center-block " /></a></p>
<p><strong>API Access</strong><br />
Enter the &#8220;Username&#8221; and &#8220;Subscription ID&#8221; that you have received from iCodes.</p>
<p><strong>General Settings</strong></p>
<ul>
<li><strong>Coupons to import</strong> &#8211; Specifies how many coupons should be imported at one time.</li>
<li><strong>Immediate Publish</strong> – Let’s you choose status of imported coupons. If not checked, then all imported coupons will be marked as Pending Review, and you need to publish each of them separately after reviewing.</li>
<li><strong>Import Store Logo</strong> – Let’s you import store logo. If not checked, then imported stores will use Clipper default autogenerated thumbnails.</li>
<li><strong>Coupon Types</strong> &#8211; Defines the promotion type of the coupons that will be imported to your site. You may choose more than one.</li>
<li><strong>Networks</strong> – Defines the networks of the coupons that will be imported to your site. You may choose more than one. Leave unchecked to import from all.</li>
<li><strong>Create Category</strong> &#8211; Creates a category if one does not exist yet. See instructions for the &#8220;Merchants &amp; Categories relations&#8221; tab below.</li>
<li><strong>Create Store</strong> &#8211; Creates a store if one does not exist yet. See instructions for &#8220;Merchants &amp; Categories relations&#8221; tab below.</li>
<li><strong>Schedule Posting</strong> &#8211; Specifies how often coupons should be imported.</li>
</ul>
<p><strong>One Time Actions</strong><br />
Allows you to run a one time, immediate coupon import or validate API access.</p>
<p><strong>Categories tab</strong><br />
On this page you can choose the categories of the promotional offers imported to your site. You may choose multiple categories. Leave unchecked to import from all.</p>
<p><strong>Merchants &amp; Categories relations tab</strong><br />
In this tab, you can assign categories and merchants supplied by iCodes to the stores and categories created on your site. Under the General settings tab (as noted above), if &#8220;Create category&#8221; and &#8220;Create store&#8221; are left unchecked, all promotional offers that do not have a relation assigned here will be omitted. If you checked &#8220;Create category&#8221; and &#8220;Create store&#8221;, categories and stores will be automatically created and you do not need to worry about defining the relations.</p>
<p>After changing any settings, always make sure to click the &#8220;Save Changes&#8221; button.</p>
<p>Like this tutorial? <a href="https://www.appthemes.com/subscribe/">Subscribe</a> and get the latest tutorials delivered straight to your inbox or feed reader.</p>]]></content:encoded>
			<wfw:commentRss>https://docs.appthemes.com/tutorials/setting-up-the-icodes-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
