<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Jeffri Hong</title>
	
	<link>http://jeffri.net</link>
	<description> </description>
	<lastBuildDate>Fri, 03 Feb 2012 18:35:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/jeffrinet" /><feedburner:info uri="jeffrinet" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Server outage, 3 days offline, a month credit</title>
		<link>http://feedproxy.google.com/~r/jeffrinet/~3/tYe3E_GbZKY/</link>
		<comments>http://jeffri.net/2012/02/server-outage-3-days-offline-a-month-credit/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 18:35:16 +0000</pubDate>
		<dc:creator>keaglez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[outage]]></category>
		<category><![CDATA[Site5]]></category>

		<guid isPermaLink="false">http://jeffri.net/?p=823</guid>
		<description><![CDATA[A surprising news came to my inbox 2 days ago from Site5, indicating that the server which my account hosted has been down since the night a day before. As a result, all of my website were all down. I have completely moved all of my domain to Site5, so this is certainly a bad [...]]]></description>
			<content:encoded><![CDATA[<p>A surprising news came to my inbox 2 days ago from Site5, indicating that the server which my account hosted has been down since the night a day before. As a result, all of my website were all down. I have completely moved all of my domain to Site5, so this is certainly a bad news. Fortunately, I don&#8217;t have (yet) any business that rely solely on it, so damage to me is actually minimal.</p>
<p>According to Site5 customer service, hardware issue that the server experienced is extremely rare. They had to restore backup and it was a lengthy process, there is also a network issue that caused the restoration to fail at the first time. The restoration finally done today and server is up again. They are also offering one month credit to my account as an apology. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>To my surprise, Site5 is pretty responding regarding this issue. They update the forum frequently and for users that didn&#8217;t bother to check the forum often, they sent an email everyday regarding the status of server, explaining what is happening that day. Despite the outage, I&#8217;m actually quite happy with the customer service and Site5 itself for a reliable service so far. Hopefully, this won&#8217;t happen again in future. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/uGbdEXnqVR6RC2PPf6ePyIhf9y4/0/da"><img src="http://feedads.g.doubleclick.net/~a/uGbdEXnqVR6RC2PPf6ePyIhf9y4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/uGbdEXnqVR6RC2PPf6ePyIhf9y4/1/da"><img src="http://feedads.g.doubleclick.net/~a/uGbdEXnqVR6RC2PPf6ePyIhf9y4/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeffrinet?a=tYe3E_GbZKY:UrxPhaP94EM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeffrinet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=tYe3E_GbZKY:UrxPhaP94EM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=tYe3E_GbZKY:UrxPhaP94EM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=tYe3E_GbZKY:UrxPhaP94EM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=tYe3E_GbZKY:UrxPhaP94EM:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeffrinet/~4/tYe3E_GbZKY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffri.net/2012/02/server-outage-3-days-offline-a-month-credit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffri.net/2012/02/server-outage-3-days-offline-a-month-credit/</feedburner:origLink></item>
		<item>
		<title>Sort by latest post for wp_list_categories</title>
		<link>http://feedproxy.google.com/~r/jeffrinet/~3/mSfoN7pDhog/</link>
		<comments>http://jeffri.net/2012/01/sort-by-latest-post-for-wp_list_categories/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 20:18:53 +0000</pubDate>
		<dc:creator>keaglez</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[source code]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://jeffri.net/?p=816</guid>
		<description><![CDATA[One of my developer friend asked me if we could sort by last post using wp_list_categories function for WordPress. By default, wp_list_categories accept arguments for order by ID, name, slug, count or term_group. Order by latest post is not possible by default, but with a little of tweak using filter hook, we can. First, we&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p>One of my developer friend asked me if we could sort by last post using <a href="http://codex.wordpress.org/Template_Tags/wp_list_categories" target="_blank"><em>wp_list_categories</em></a> function for WordPress. By default, <em>wp_list_categories</em> accept arguments for order by <em>ID</em>, <em>name</em>, <em>slug</em>, <em>count</em> or <em>term_group</em>. Order by latest post is not possible by default, but with a little of tweak using filter hook, we can. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>First, we&#8217;ll looking at the function <em>wp_list_categories</em>. This function made call to <em>get_categories</em> to get the list of categories, which made another call to <em>get_terms</em>. Categories in WordPress is basically <em>terms</em> with category <em>taxonomy</em>. Finally, looking on the <em>get_terms</em> function, we will find some delicious filter hook that suitable for our customization.</p>
<p><span id="more-816"></span></p>
<p>To be able to change the order, we will have to find a way to manipulate the SQL query and add our magic. Finally, we found the filter hook to add the magic, <em><strong>terms_clauses</strong></em>. The code to call the apply filter is as below:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$pieces</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'fields'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'join'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'where'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'orderby'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'order'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'limits'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$clauses</span> <span style="color: #339933;">=</span> apply_filters<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'terms_clauses'</span><span style="color: #339933;">,</span> <span style="color: #990000;">compact</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$pieces</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$taxonomies</span><span style="color: #339933;">,</span> <span style="color: #000088;">$args</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>As you can see, the $pieces hold a separate pieces of the SQL query. We can add our own query to this separate pieces to form a query for our need. The code we used is as follow:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> filter_term_sort_by_latest_post_clauses<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$pieces</span><span style="color: #339933;">,</span> <span style="color: #000088;">$taxonomies</span><span style="color: #339933;">,</span> <span style="color: #000088;">$args</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'category'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$taxonomies</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$args</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'orderby'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'latest_post'</span> <span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$pieces</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'fields'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;, MAX(p.post_date) AS last_date&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$pieces</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'join'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot; JOIN <span style="color: #006699; font-weight: bold;">$wpdb-&gt;term_relationships</span> AS tr JOIN <span style="color: #006699; font-weight: bold;">$wpdb-&gt;posts</span> AS p ON p.ID=tr.object_id AND tr.term_taxonomy_id=tt.term_taxonomy_id&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$pieces</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'where'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot; GROUP BY t.term_id&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$pieces</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'orderby'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;ORDER BY last_date&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$pieces</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'order'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;DESC&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// DESC or ASC</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$pieces</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'terms_clauses'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'filter_term_sort_by_latest_post_clauses'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Add this to <em>functions.php</em> or on your own plugin code, or where ever you wanted, it just needed to be placed before any call of <em>wp_list_categories</em>. Note that we only add this filter if the taxonomy is category, and if the <em>orderby</em> argument is set to <em>latest_post</em>. So our call to <em>wp_list_categories</em> is now:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">wp_list_categories<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'orderby'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'latest_post'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span></pre></td></tr></table></div>

<p>Now your <em>wp_list_categories</em> call will have option to sort by latest post. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Hope it&#8217;s useful for you. Comments is appreciated. <img src='http://jeffri.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/dFMNVXtScPEa8Hc2CwL983s1QUk/0/da"><img src="http://feedads.g.doubleclick.net/~a/dFMNVXtScPEa8Hc2CwL983s1QUk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/dFMNVXtScPEa8Hc2CwL983s1QUk/1/da"><img src="http://feedads.g.doubleclick.net/~a/dFMNVXtScPEa8Hc2CwL983s1QUk/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeffrinet?a=mSfoN7pDhog:SuQxyOTzSVA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeffrinet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=mSfoN7pDhog:SuQxyOTzSVA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=mSfoN7pDhog:SuQxyOTzSVA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=mSfoN7pDhog:SuQxyOTzSVA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=mSfoN7pDhog:SuQxyOTzSVA:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeffrinet/~4/mSfoN7pDhog" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffri.net/2012/01/sort-by-latest-post-for-wp_list_categories/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://jeffri.net/2012/01/sort-by-latest-post-for-wp_list_categories/</feedburner:origLink></item>
		<item>
		<title>Happy Chinese New Year</title>
		<link>http://feedproxy.google.com/~r/jeffrinet/~3/J4wgQLB0n28/</link>
		<comments>http://jeffri.net/2012/01/happy-chinese-new-year-2/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 00:35:35 +0000</pubDate>
		<dc:creator>keaglez</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jeffri.net/?p=813</guid>
		<description><![CDATA[Woah, long time I didn&#8217;t write anything. Well, just drop for a second to wish everyone a Happy Chinese New Year! Gong Xi Fa Cai! View larger resolution on my Deviant Art]]></description>
			<content:encoded><![CDATA[<p>Woah, long time I didn&#8217;t write anything. Well, just drop for a second to wish everyone a Happy Chinese New Year! Gong Xi Fa Cai!</p>
<p><img src="http://jeffri.net/wp-content/uploads/lets_have_fun_xsmall.jpg" alt="" title="Gong Xi Fa Cai" width="540" height="763" class="alignnone size-full wp-image-814" /></p>
<p><a href="http://fav.me/d4n8a9p">View larger resolution on my Deviant Art</a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/3dBwVXj2J7H0YCfHMISlkkIfmOc/0/da"><img src="http://feedads.g.doubleclick.net/~a/3dBwVXj2J7H0YCfHMISlkkIfmOc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/3dBwVXj2J7H0YCfHMISlkkIfmOc/1/da"><img src="http://feedads.g.doubleclick.net/~a/3dBwVXj2J7H0YCfHMISlkkIfmOc/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeffrinet?a=J4wgQLB0n28:uSxW7Q38geU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeffrinet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=J4wgQLB0n28:uSxW7Q38geU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=J4wgQLB0n28:uSxW7Q38geU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=J4wgQLB0n28:uSxW7Q38geU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=J4wgQLB0n28:uSxW7Q38geU:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeffrinet/~4/J4wgQLB0n28" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffri.net/2012/01/happy-chinese-new-year-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffri.net/2012/01/happy-chinese-new-year-2/</feedburner:origLink></item>
		<item>
		<title>Blog successfully updated to WordPress 3.2</title>
		<link>http://feedproxy.google.com/~r/jeffrinet/~3/w_bzEbk7xmc/</link>
		<comments>http://jeffri.net/2011/07/blog-successfully-updated-to-wordpress-3-2/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 21:10:48 +0000</pubDate>
		<dc:creator>keaglez</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://jeffri.net/?p=784</guid>
		<description><![CDATA[Here is another major update from WordPress. Now, this blog has been successfully updated to 3.2. Thanksfully, nothing need to be changed in the theme. A lot of changes has been made for this version, and one that is noticeable is the new look and layout for the administration area. It looks a little better. [...]]]></description>
			<content:encoded><![CDATA[<p>Here is another major update from WordPress. Now, this blog has been successfully updated to 3.2. Thanksfully, nothing need to be changed in the theme. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A lot of changes has been made for this version, and one that is noticeable is the new look and layout for the administration area. It looks a little better. The sidebar is changed. The color of the boxes also changed a bit, it is more light. Some fonts are also changed. Overall, I liked the new look. <img src='http://jeffri.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>There&#8217;s no yet compatibility issue so far is all that I can tell.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/SSh8lZRq9zK6EvjWrvNAmP-13Ak/0/da"><img src="http://feedads.g.doubleclick.net/~a/SSh8lZRq9zK6EvjWrvNAmP-13Ak/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/SSh8lZRq9zK6EvjWrvNAmP-13Ak/1/da"><img src="http://feedads.g.doubleclick.net/~a/SSh8lZRq9zK6EvjWrvNAmP-13Ak/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeffrinet?a=w_bzEbk7xmc:-qcFFJjaT1s:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeffrinet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=w_bzEbk7xmc:-qcFFJjaT1s:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=w_bzEbk7xmc:-qcFFJjaT1s:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=w_bzEbk7xmc:-qcFFJjaT1s:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=w_bzEbk7xmc:-qcFFJjaT1s:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeffrinet/~4/w_bzEbk7xmc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffri.net/2011/07/blog-successfully-updated-to-wordpress-3-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffri.net/2011/07/blog-successfully-updated-to-wordpress-3-2/</feedburner:origLink></item>
		<item>
		<title>Yet another year passed</title>
		<link>http://feedproxy.google.com/~r/jeffrinet/~3/fW1tAhgyZNA/</link>
		<comments>http://jeffri.net/2011/05/yet-another-year-passed/#comments</comments>
		<pubDate>Wed, 18 May 2011 20:10:33 +0000</pubDate>
		<dc:creator>keaglez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jeffri.net/?p=778</guid>
		<description><![CDATA[Today is a mark of another year passed, I&#8217;m now 20 years old. It&#8217;s a mark of another step closer to my dream, a mark where I&#8217;ll held more responsibilities and a mark of improvement to be an even better person. Thank you every one for every single support you gave me, especially some of [...]]]></description>
			<content:encoded><![CDATA[<p>Today is a mark of another year passed, I&#8217;m now 20 years old. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>It&#8217;s a mark of another step closer to my dream, a mark where I&#8217;ll held more responsibilities and a mark of improvement to be an even better person.</p>
<p>Thank you every one for every single support you gave me, especially some of my precious clients which grow together with me all these times, all of my friends from all communities I participated in, my family with their never ending supports, and every one around me &#8211; thank you all. I sincerely apologies for any disappointment I have caused &#8211; if I ever.</p>
<p>I hope I will get better this year and I hope for all your supports again in future. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>For this moment, I also want to specially thank a good friend from Kaskus W3 Community, <a href="http://www.kaskus.us/member.php?u=68810">idiotnesia</a>. He created my birthday thread in Kaskus last year, but it&#8217;s so sad that he passed away later that year due to his illness. His contribution to the community is priceless, as well as the good time the community had at that time &#8211; me included. I specially thank you from the deep bottom of my heart, you will be remembered forever my friend.</p>
<p>Thank you.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/LjJtfrvBbsfeiOvZDUwj6ufRgbE/0/da"><img src="http://feedads.g.doubleclick.net/~a/LjJtfrvBbsfeiOvZDUwj6ufRgbE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/LjJtfrvBbsfeiOvZDUwj6ufRgbE/1/da"><img src="http://feedads.g.doubleclick.net/~a/LjJtfrvBbsfeiOvZDUwj6ufRgbE/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeffrinet?a=fW1tAhgyZNA:bAPiismGRF0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeffrinet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=fW1tAhgyZNA:bAPiismGRF0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=fW1tAhgyZNA:bAPiismGRF0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=fW1tAhgyZNA:bAPiismGRF0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=fW1tAhgyZNA:bAPiismGRF0:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeffrinet/~4/fW1tAhgyZNA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffri.net/2011/05/yet-another-year-passed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffri.net/2011/05/yet-another-year-passed/</feedburner:origLink></item>
		<item>
		<title>WordPress Snippets part 1</title>
		<link>http://feedproxy.google.com/~r/jeffrinet/~3/whxDknnOcCM/</link>
		<comments>http://jeffri.net/2011/05/wordpress-snippets-part-1/#comments</comments>
		<pubDate>Tue, 10 May 2011 07:33:27 +0000</pubDate>
		<dc:creator>keaglez</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[snippets]]></category>

		<guid isPermaLink="false">http://jeffri.net/?p=764</guid>
		<description><![CDATA[Well, this will be a short list of WordPress snippets that we could use. This snippets is collected from my daily work on WordPress and should be useful for daily basis. WordPress mail snippets WordPress has its own improved function for sending email, it is wp_mail. We should always use this function if we wanted [...]]]></description>
			<content:encoded><![CDATA[<p>Well, this will be a short list of WordPress snippets that we could use. This snippets is collected from my daily work on WordPress and should be useful for daily basis.</p>
<h2>WordPress mail snippets</h2>
<p>WordPress has its own improved function for sending email, it is <a href="http://codex.wordpress.org/Function_Reference/wp_mail">wp_mail</a>. We should always use this function if we wanted to send email within WordPress. With this function, we don&#8217;t need to worry much about the mail header and stuff. More over, there is plenty of filter we can use to customize it.</p>
<p><span id="more-764"></span></p>
<h3>Set content type to HTML</h3>
<p>We can send HTML email by set the content type of email sent by WordPress. To do this, add this function to functions.php in your theme file.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> set_email_html_type<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$content</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">'text/html'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_mail_content_type'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'set_email_html_type'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h3>Set mail sender name</h3>
<p>This function will set the mail sender name.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> set_mail_from_name<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$name</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;Jeffri Hong&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_mail_from_name'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'set_mail_from_name'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>We could improve it by automatically set it to the first administrator name.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> set_mail_from_name<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$name</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$admins</span> <span style="color: #339933;">=</span> get_users<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'role'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'administrator'</span><span style="color: #009900;">&#41;</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: #000088;">$admins</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$first_name</span> <span style="color: #339933;">=</span> get_user_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$admins</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'first_name'</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>
		<span style="color: #000088;">$last_name</span> <span style="color: #339933;">=</span> get_user_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$admins</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'last_name'</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>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$first_name</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$last_name</span> <span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$first_name</span> <span style="color: #006699; font-weight: bold;">$last_name</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;Jeffri Hong&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// the default value when it is failed to retrieve first/last name</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_mail_from_name'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'set_mail_from_name'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h3>Set mail sender email</h3>
<p>This function will set the mail sender email address.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> set_mail_from<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$email</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;info@jeffri.net&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_mail_from'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'set_mail_from'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>As with the previous one, it is also possible to automatically set it to the first administrator email.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> set_mail_from<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$email</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$admins</span> <span style="color: #339933;">=</span> get_users<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'role'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'administrator'</span><span style="color: #009900;">&#41;</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: #000088;">$admins</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$admins</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">user_email</span> <span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">return</span> <span style="color: #000088;">$admins</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">user_email</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #0000ff;">&quot;info@jeffri.net&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_mail_from'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'set_mail_from'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<h2>Get post meta ordered by id</h2>
<p>Getting a post meta, especially an array, can some time return an unexpected result. The problem is the <a href="http://codex.wordpress.org/Function_Reference/get_post_meta">get_post_meta</a> function rely on the default SQL order. In few of my job, I need to use multiple post meta and keep it in order with each order, and it won&#8217;t work correctly unless we add the ORDER BY clause to the query. Unfortunately, the metadata functions didn&#8217;t have many filters we can work with. However, there is a filter we can use to override the function return value.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> filter_post_meta<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$null</span><span style="color: #339933;">,</span> <span style="color: #000088;">$object_id</span><span style="color: #339933;">,</span> <span style="color: #000088;">$meta_key</span><span style="color: #339933;">,</span> <span style="color: #000088;">$single</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$results</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_results</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT m.meta_value FROM <span style="color: #006699; font-weight: bold;">$wpdb-&gt;postmeta</span> m WHERE m.meta_key = '<span style="color: #006699; font-weight: bold;">$meta_key</span>' AND m.post_id = '<span style="color: #006699; font-weight: bold;">$object_id</span>' ORDER BY m.meta_id&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$ret</span> <span style="color: #339933;">=</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: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$results</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$result</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #000088;">$ret</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">meta_value</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$ret</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'get_post_metadata'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'filter_post_meta'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>With this, every call of get_post_meta will be filtered by this function and return all post meta filtered by meta_id. The good news is, this filter run on top of get_metadata function and returned it immediately when there is a value.</p>
<h2>Add post slug as CSS class to page lists</h2>
<p>Often, we need to have a more definitive and unique class for page lists generated by function like <a href="http://codex.wordpress.org/Function_Reference/wp_list_pages">wp_list_pages</a> and other. By default, there is unique class for the page ID, but since page ID is generated automatically, this value vary on site to site &#8211; for example when you have a development version and live version of a site, you will need an alternative for unique class other than ID. Post slug is the better solution in this case, since it is defined by us and unique.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> add_page_css_class<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$classes</span><span style="color: #339933;">,</span> <span style="color: #000088;">$page</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$classes</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'page-'</span><span style="color: #339933;">.</span><span style="color: #000088;">$page</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_name</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$classes</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'page_css_class'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'add_page_css_class'</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Add this function to functions.php of your themes. Now, you will have one more class selector for your CSS.</p>
<h2>And more to come</h2>
<p>That&#8217;s it folks for the part 1. More will come in near future as I still have many interesting case I experienced and a nice solution that is re-usable anywhere. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Hope that useful for you.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/NnX6m8hT3-WyV0cFwdcT4iD7Qmo/0/da"><img src="http://feedads.g.doubleclick.net/~a/NnX6m8hT3-WyV0cFwdcT4iD7Qmo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/NnX6m8hT3-WyV0cFwdcT4iD7Qmo/1/da"><img src="http://feedads.g.doubleclick.net/~a/NnX6m8hT3-WyV0cFwdcT4iD7Qmo/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeffrinet?a=whxDknnOcCM:Qnqs4y3W85k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeffrinet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=whxDknnOcCM:Qnqs4y3W85k:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=whxDknnOcCM:Qnqs4y3W85k:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=whxDknnOcCM:Qnqs4y3W85k:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=whxDknnOcCM:Qnqs4y3W85k:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeffrinet/~4/whxDknnOcCM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffri.net/2011/05/wordpress-snippets-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffri.net/2011/05/wordpress-snippets-part-1/</feedburner:origLink></item>
		<item>
		<title>Customize Custom Post Type Landing Page with Clean URL</title>
		<link>http://feedproxy.google.com/~r/jeffrinet/~3/XmdjYqE_5qA/</link>
		<comments>http://jeffri.net/2011/05/customize-custom-post-type-landing-page-with-clean-url/#comments</comments>
		<pubDate>Wed, 04 May 2011 01:00:32 +0000</pubDate>
		<dc:creator>keaglez</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[post type]]></category>

		<guid isPermaLink="false">http://jeffri.net/?p=672</guid>
		<description><![CDATA[WordPress has been long capable on using custom post type. Since WordPress 3.0, we are now easier to create a custom post type. I have blogged some tips about it. However, many didn&#8217;t know that the custom post type already had it&#8217;s own landing page, though, you will need to pass the post type variable [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress has been long capable on using custom post type. Since WordPress 3.0, we are now easier to create a custom post type. I have <a href="http://jeffri.net/2010/07/some-useful-tips-for-wordpress-custom-post-type-and-taxonomy/">blogged some tips about it</a>.</p>
<p>However, many didn&#8217;t know that the custom post type already had it&#8217;s own landing page, though, you will need to pass the post type variable to the URL. This post will guide you to the step by step on customizing the post type landing page, as well as adding a new rewrite rule for a cleaner URL.</p>
<p><span id="more-672"></span></p>
<h2>Register the Post Type</h2>
<p>First of all, let&#8217;s create our custom post type. In this example, we will register a <em>book</em> post type.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> theme_init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$labels</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'name'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Books'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'singular_name'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Book'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'add_new'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Add Book'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'add_new_item'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Add New Book Item'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'edit_item'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Edit Book Item'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'new_item'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'New Book Item'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'view_item'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'View Book Item'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'search_items'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Search Books'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'not_found'</span> <span style="color: #339933;">=&gt;</span>  __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Nothing found'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span>
		<span style="color: #0000ff;">'not_found_in_trash'</span> <span style="color: #339933;">=&gt;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Nothing found in Trash'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> 
		<span style="color: #0000ff;">'parent_item_colon'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$args</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
    	<span style="color: #0000ff;">'labels'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$labels</span><span style="color: #339933;">,</span>
    	<span style="color: #0000ff;">'public'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span>
    	<span style="color: #0000ff;">'publicly_queryable'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span>
    	<span style="color: #0000ff;">'show_ui'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> 
    	<span style="color: #0000ff;">'query_var'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span>
    	<span style="color: #0000ff;">'rewrite'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span>
    	<span style="color: #0000ff;">'capability_type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'post'</span><span style="color: #339933;">,</span>
    	<span style="color: #0000ff;">'hierarchical'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">,</span>
    	<span style="color: #0000ff;">'menu_position'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span>
    	<span style="color: #0000ff;">'supports'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'title'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'editor'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'author'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'thumbnail'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'excerpt'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'comments'</span><span style="color: #009900;">&#41;</span>
  	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
  	register_post_type<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'book'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$args</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'init'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'theme_init'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Add this code to the theme functions.php. We hook the function to the <em>init</em> action. In case you didn&#8217;t know the WordPress hook, <a href="http://codex.wordpress.org/Plugin_API">you can take a good read on codex</a>.</p>
<p>The post type is now ready to use, it appeared on the back-end, you can add, edit and remove the book. The single post is accessible now. The landing page is accessible by appending <strong><em>?post_type=book</em></strong> to your website URL.</p>
<h2>Clean the URL</h2>
<p>Now, we want to make the URL cleaner. Instead of accessing the landing page with <em>yourwebsite.com/?post_type=book</em>, we want to make it <em>yourwebsite.com/book</em> instead. We can do this by adding a new rewrite rule.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> theme_rewrite<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	add_rewrite_rule<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'book/?$'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'index.php?post_type=book'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'top'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	add_rewrite_rule<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'book/page/(\d+)/?$'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'index.php?post_type=book&amp;paged=$matches[1]'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'top'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">//flush_rewrite_rules(); // run one time only</span>
<span style="color: #009900;">&#125;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'init'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'theme_rewrite'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Again, add this to the theme functions.php file. We add a new rewrite rule and redirect it to <strong><em>index.php?post_type=book</em></strong>, don&#8217;t forget to use <em>&#8216;top&#8217;</em> in the third parameter, this is to make sure this rule must be run before any other WordPress rule. We also add another rule to work with pagination.</p>
<p>Notice the commented line above? After we add a new rewrite rule, we must flush the rewrite rules. This must be done one time when it is changed. So when you have it run once, comment or remove that line as it is not needed anymore. The rules will also flushed when you go to Settings -> Permalinks in back-end.</p>
<p>However, the add rewrite rule line must be keep though, as if you remove it, the next time it flushed, you will lost the rule.</p>
<h2>Customizing the Landing Page</h2>
<p>The current landing page used the same template as the home page, which in most case is either <em>front-page.php</em>, <em>home.php</em> or <em>index.php</em>. This isn&#8217;t good as they are shared with any other post type. So, we must create a new filter, to look for <em>home-book.php</em> before falling to another template.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> theme_home_template<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$template</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> get_query_var<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_type'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$new_template</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'home-'</span><span style="color: #339933;">.</span>get_query_var<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_type'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'.php'</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$templates</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
			<span style="color: #000088;">$new_template</span><span style="color: #339933;">,</span>
			<span style="color: #000088;">$template</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">return</span> locate_template<span style="color: #009900;">&#40;</span><span style="color: #000088;">$templates</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$template</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'home_template'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'theme_home_template'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Add this code again to theme&#8217;s functions.php. Then, create the <em>home-book.php</em> and customize it to the way you need. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Conclusion</h2>
<p>That&#8217;s it. So to conclude it, we first register the post type as usual, then adding a rewrite rule for the sake of cleaner URL. Finally, we create a new <em>home-{post_type}.php</em> file to serve as the template of the landing page. Now that we have the template, we can customize it to every way we wanted.</p>
<p>A different approach can be done though, such as creating a page and a custom template that query to the post type. I have used this on some of my clients. The downside is we will create a blank page, not that it&#8217;s bad, but it&#8217;s always good to not leave any <em>junk</em> in the administration back-end &#8211; so user can&#8217;t remove it accidentally and break the site.</p>
<p>This approach, although a little tricky, is a good way to make everything work seamlessly without any configuration needed. <img src='http://jeffri.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/lksSjAGAxjsJwW4VW2vxvw5YO2k/0/da"><img src="http://feedads.g.doubleclick.net/~a/lksSjAGAxjsJwW4VW2vxvw5YO2k/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/lksSjAGAxjsJwW4VW2vxvw5YO2k/1/da"><img src="http://feedads.g.doubleclick.net/~a/lksSjAGAxjsJwW4VW2vxvw5YO2k/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeffrinet?a=XmdjYqE_5qA:e75t9Q36860:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeffrinet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=XmdjYqE_5qA:e75t9Q36860:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=XmdjYqE_5qA:e75t9Q36860:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=XmdjYqE_5qA:e75t9Q36860:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=XmdjYqE_5qA:e75t9Q36860:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeffrinet/~4/XmdjYqE_5qA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffri.net/2011/05/customize-custom-post-type-landing-page-with-clean-url/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffri.net/2011/05/customize-custom-post-type-landing-page-with-clean-url/</feedburner:origLink></item>
		<item>
		<title>Moneybookers and Paypal Bank Withdrawal Comparison</title>
		<link>http://feedproxy.google.com/~r/jeffrinet/~3/1tGkfLCJctM/</link>
		<comments>http://jeffri.net/2011/02/moneybookers-and-paypal-bank-withdrawal-comparison/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 03:39:51 +0000</pubDate>
		<dc:creator>keaglez</dc:creator>
				<category><![CDATA[Review]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[Moneybookers]]></category>
		<category><![CDATA[Paypal]]></category>
		<category><![CDATA[withdraw]]></category>

		<guid isPermaLink="false">http://jeffri.net/?p=727</guid>
		<description><![CDATA[If you are working with foreign clients, chances are you will need to have accounts on either Paypal, Moneybookers or some other similar services. Paypal is currently accepted almost everywhere, it provides the best features and in my opinion, the Paypal web interface is the cleanest and easiest to use while providing a detailed information [...]]]></description>
			<content:encoded><![CDATA[<p>If you are working with foreign clients, chances are you will need to have accounts on either Paypal, Moneybookers or some other similar services. Paypal is currently accepted almost everywhere, it provides the best features and in my opinion, the Paypal web interface is the cleanest and easiest to use while providing a detailed information for each transaction. Moneybookers on other hand is also a growing alternative to Paypal, it is also widely accepted, but the downside for me is their web interface is somehow lacking and they didn&#8217;t provide a detailed information for each transaction like Paypal did.</p>
<p>They are both excellent, quick and cheap service to receive your money. Now I will going to compare the withdrawal process from both service, comparing the fee, rate and the time it needed to arrive to my bank account.</p>
<p><span id="more-727"></span></p>
<h3>Fees</h3>
<p>The Paypal fee for withdrawal here is IDR 16.000 (about $1,8) for a withdrawal that less than IDR 1.500.000 (about $173) and free if more. On the other side, the Moneybookers use a flat fee for $2,42 for each withdrawal.</p>
<p>Paypal is winning here, so one score for Paypal.</p>
<h3>Rate</h3>
<p>To make this fair, I compare both service by withdrawing at around the same time, at February 16 morning. Paypal immediately show the rate for that day upon withdrawal request, it is IDR 8.682,11. Moneybookers unfortunately didn&#8217;t show any rate, so I must wait until the arrival date to count the rate. The Moneybookers rate I received is IDR 8.735.</p>
<p>There is a small IDR 52,89 differences between both, so unless you are withdrawing a lot of money, it won&#8217;t hurt you anyway. However, Moneybookers still win, so one score for Moneybookers.</p>
<h3>Time to Arrival</h3>
<p>There is nothing more awful other than the anxiety of waiting to see your money arrived on your bank account. Again, for the fair comparison, I was withdrawing at around the same time. I place the withdrawal request at February 16 morning. I retrieved the money from Paypal at February 18, afternoon. And the money from Moneybookers is arrived at February 17, again in afternoon.</p>
<p>The withdrawal process on Moneybookers is faster, taking a day and a half. While Paypal is standing one day behind. Again, Moneybookers overcome Paypal and score another point. Now, score-wise, Moneybookers is leading with 2 and Paypal with 1.</p>
<h3>The Table</h3>
<p>Now, I present you with the table comparison of the withdrawal from $100 into $800. I will use the rate when this article is written, so this data is served as a reference only, and it might not be correct in future (who knows if someday Paypal have a better rate than Moneybookers or Moneybookers have a much better rate?). So again, this is only a reference, use on your own risk. Don&#8217;t blame me for the accuracy. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Rate for Paypal is IDR 8.682,11<br />
Rate for Moneybookers is IDR 8.735</p>
<table class="table-data">
<tr>
<th style="width: 25%; text-align: left;">Service</th>
<th style="width: 25%; text-align: left;">Fees</th>
<th style="text-align: left;">Retrieved Amount</th>
</tr>
<tr>
<td colspan="3" style="padding-top: 20px;"><strong>Withdrawal for $100</strong></td>
</tr>
<tr>
<td>Paypal</td>
<td>IDR 16.000</td>
<td>IDR 852.211,00</td>
</tr>
<tr>
<td>Moneybookers</td>
<td>$ 2.42</td>
<td>IDR 852.361,30</td>
</tr>
<tr>
<td colspan="2">Differences</td>
<td><strong>IDR 150,30</strong> (Moneybookers)</td>
</tr>
<tr>
<td colspan="3" style="padding-top: 20px;"><strong>Withdrawal for $200</strong></td>
</tr>
<tr>
<td>Paypal</td>
<td>Free</td>
<td>IDR 1.736.422,00</td>
</tr>
<tr>
<td>Moneybookers</td>
<td>$ 2.42</td>
<td>IDR 1.725.861,30</td>
</tr>
<tr>
<td colspan="2">Differences</td>
<td><strong>IDR 10.560,70</strong> (Paypal)</td>
</tr>
<tr>
<td colspan="3" style="padding-top: 20px;"><strong>Withdrawal for $300</strong></td>
</tr>
<tr>
<td>Paypal</td>
<td>Free</td>
<td>IDR 2.604.633,00</td>
</tr>
<tr>
<td>Moneybookers</td>
<td>$ 2.42</td>
<td>IDR 2.599.361,30</td>
</tr>
<tr>
<td colspan="2">Differences</td>
<td><strong>IDR 5.271,70</strong> (Paypal)</td>
</tr>
<tr>
<td colspan="3" style="padding-top: 20px;"><strong>Withdrawal for $400</strong></td>
</tr>
<tr>
<td>Paypal</td>
<td>Free</td>
<td>IDR 3.472.844,00</td>
</tr>
<tr>
<td>Moneybookers</td>
<td>$ 2.42</td>
<td>IDR 3.472.861,30</td>
</tr>
<tr>
<td colspan="2">Differences</td>
<td><strong>IDR 17,30</strong> (Moneybookers)</td>
</tr>
<tr>
<td colspan="3" style="padding-top: 20px;"><strong>Withdrawal for $500</strong></td>
</tr>
<tr>
<td>Paypal</td>
<td>Free</td>
<td>IDR 4.341.055,00</td>
</tr>
<tr>
<td>Moneybookers</td>
<td>$ 2.42</td>
<td>IDR 4.346.361,30</td>
</tr>
<tr>
<td colspan="2">Differences</td>
<td><strong>IDR 5.306,30</strong> (Moneybookers)</td>
</tr>
<tr>
<td colspan="3" style="padding-top: 20px;"><strong>Withdrawal for $600</strong></td>
</tr>
<tr>
<td>Paypal</td>
<td>Free</td>
<td>IDR 5.209.266,00</td>
</tr>
<tr>
<td>Moneybookers</td>
<td>$ 2.42</td>
<td>IDR 5.219.861,30</td>
</tr>
<tr>
<td colspan="2">Differences</td>
<td><strong>IDR 10.595,30</strong> (Moneybookers)</td>
</tr>
<tr>
<td colspan="3" style="padding-top: 20px;"><strong>Withdrawal for $700</strong></td>
</tr>
<tr>
<td>Paypal</td>
<td>Free</td>
<td>IDR 6.077.477,00</td>
</tr>
<tr>
<td>Moneybookers</td>
<td>$ 2.42</td>
<td>IDR 6.093.361,30</td>
</tr>
<tr>
<td colspan="2">Differences</td>
<td><strong>IDR 15.884,30</strong> (Moneybookers)</td>
</tr>
<tr>
<td colspan="3" style="padding-top: 20px;"><strong>Withdrawal for $800</strong></td>
</tr>
<tr>
<td>Paypal</td>
<td>Free</td>
<td>IDR 6.945.688,00</td>
</tr>
<tr>
<td>Moneybookers</td>
<td>$ 2.42</td>
<td>IDR 6.966.861,30</td>
</tr>
<tr>
<td colspan="2">Differences</td>
<td><strong>IDR 21.173,30</strong> (Moneybookers)</td>
</tr>
</table>
<p>You could see that Moneybookers win by leading 6 out of the 8. While Paypal only manage to win 2, but the range it&#8217;s leading is in $200 and $300, which is the one used most I believe. Interestingly, the $100 and $400 range is somewhat equal between both. But Moneybookers is definitely leading in $500 and more range.</p>
<p>So by the table above, we could take a summary that Paypal is a better solution when you are withdrawing $400 or less. And Moneybookers is a better one if you need to withdraw more than $400. As for the score, I&#8217;ll give it a draw, so Moneybookers 3, Paypal 2.</p>
<h3>Summary</h3>
<p>Both solution are an excellent solution for receiving money and withdrawing. Paypal wins in the lower fee (and even free) and is better overall in less than $400 range. Moneybookers is leading with a better rate, faster and definitely better in more than $400 range.</p>
<p>Overall, Moneybookers is a better choice to withdrawing your money. Not that it offers a better rate, it is also faster. The fees won&#8217;t hurt you much as it is compensated with a faster process.</p>
<p>As for me, I will stick with this two. They are both excellent and I liked the Paypal interface better. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/Dv6QtpZq9wmZ8LMYB2EdXqlZY70/0/da"><img src="http://feedads.g.doubleclick.net/~a/Dv6QtpZq9wmZ8LMYB2EdXqlZY70/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Dv6QtpZq9wmZ8LMYB2EdXqlZY70/1/da"><img src="http://feedads.g.doubleclick.net/~a/Dv6QtpZq9wmZ8LMYB2EdXqlZY70/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeffrinet?a=1tGkfLCJctM:9ba56FFNUfE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeffrinet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=1tGkfLCJctM:9ba56FFNUfE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=1tGkfLCJctM:9ba56FFNUfE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=1tGkfLCJctM:9ba56FFNUfE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=1tGkfLCJctM:9ba56FFNUfE:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeffrinet/~4/1tGkfLCJctM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffri.net/2011/02/moneybookers-and-paypal-bank-withdrawal-comparison/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://jeffri.net/2011/02/moneybookers-and-paypal-bank-withdrawal-comparison/</feedburner:origLink></item>
		<item>
		<title>Happy New Year 2011</title>
		<link>http://feedproxy.google.com/~r/jeffrinet/~3/9BPtdi-Kyrk/</link>
		<comments>http://jeffri.net/2011/01/happy-new-year-2011/#comments</comments>
		<pubDate>Sat, 01 Jan 2011 10:44:21 +0000</pubDate>
		<dc:creator>keaglez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jeffri.net/?p=710</guid>
		<description><![CDATA[So we are in 2011 now. Happy new year! Well, A little flashback to last year. As far as my freelance career is concerned, I have improved about 158.18% compared to 2009 in earning. I have worked on small fixing project, PSD conversion project and even on a full featured website for medium business. And [...]]]></description>
			<content:encoded><![CDATA[<p>So we are in 2011 now. Happy new year!</p>
<p>Well, A little flashback to last year.</p>
<p>As far as my freelance career is concerned, I have improved about 158.18% compared to 2009 in earning. I have worked on small fixing project, PSD conversion project and even on a full featured website for medium business.</p>
<p>And on the art part, I still doing it as a hobby and improved a little over the year. Here is the compilation of my year by year progress.</p>
<p><img src="http://jeffri.net/wp-content/uploads/progress-2007-2010.jpg" alt="" title="progress-2007-2010" width="540" class="alignnone size-full wp-image-711" /></p>
<p>Now a target in 2011:<br />
- I will create a product and sell it in a marketplace (most likely a WordPress theme)<br />
- Improving my work hours and balancing it with my hobby, learning something new if possible<br />
- Buying some stuff that I was drolling on but couldn&#8217;t get one yet <img src='http://jeffri.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>So that&#8217;s all. Happy new year again! Enjoy your holiday!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/eY770YtqxQ-c1s0QiqIeddXJS7I/0/da"><img src="http://feedads.g.doubleclick.net/~a/eY770YtqxQ-c1s0QiqIeddXJS7I/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/eY770YtqxQ-c1s0QiqIeddXJS7I/1/da"><img src="http://feedads.g.doubleclick.net/~a/eY770YtqxQ-c1s0QiqIeddXJS7I/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeffrinet?a=9BPtdi-Kyrk:92F8phvdVz8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeffrinet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=9BPtdi-Kyrk:92F8phvdVz8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=9BPtdi-Kyrk:92F8phvdVz8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=9BPtdi-Kyrk:92F8phvdVz8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=9BPtdi-Kyrk:92F8phvdVz8:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeffrinet/~4/9BPtdi-Kyrk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffri.net/2011/01/happy-new-year-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jeffri.net/2011/01/happy-new-year-2011/</feedburner:origLink></item>
		<item>
		<title>Ryougi Shiki Fan Art – I killed him</title>
		<link>http://feedproxy.google.com/~r/jeffrinet/~3/kqVYEOSRH1k/</link>
		<comments>http://jeffri.net/2010/11/art-ryougi-shiki-i-killed-him/#comments</comments>
		<pubDate>Sat, 27 Nov 2010 05:34:56 +0000</pubDate>
		<dc:creator>keaglez</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[drawing]]></category>

		<guid isPermaLink="false">http://jeffri.net/?p=699</guid>
		<description><![CDATA[My latest fan art for Kara no Kyoukai&#8217;s Ryougi Shiki. This is one great anime with stunning graphics and animations. So I decide that I wanted to draw a fan art of the protagonist, Ryougi Shiki. And here it is. This scene take places on the final battle between Shiki and Shirazumi, which finally slice [...]]]></description>
			<content:encoded><![CDATA[<p>My latest fan art for Kara no Kyoukai&#8217;s Ryougi Shiki. This is one great anime with stunning graphics and animations. So I decide that I wanted to draw a fan art of the protagonist, Ryougi Shiki. And here it is.</p>
<p><span id="more-699"></span></p>
<p><img src="http://jeffri.net/wp-content/uploads/I-killed-him.jpg" alt="" title="I-killed-him" width="540" class="alignnone size-full wp-image-700" /></p>
<p>This scene take places on the final battle between Shiki and Shirazumi, which finally slice down Shirazumi in many pieces. Since I have never draw something that bloody before, this is new to me and I&#8217;m quite like it. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  The drawing takes many hours to complete, from rough sketch to full color page. Can&#8217;t really count it since the sketch and color is not done at the same time (I draw the sketch a few couple weeks ago). This is an enjoyable experience and I hope you like it&#8230;</p>
<p>Sorry for the blood though.</p>
<p><a href="http://fav.me/d33okz6">Check it out on my deviant Art for high resolution.</a> Don&#8217;t forget to favorite it if you like. <img src='http://jeffri.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/_J-jmQnHgQxopYHT_ELNPF5zhDI/0/da"><img src="http://feedads.g.doubleclick.net/~a/_J-jmQnHgQxopYHT_ELNPF5zhDI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_J-jmQnHgQxopYHT_ELNPF5zhDI/1/da"><img src="http://feedads.g.doubleclick.net/~a/_J-jmQnHgQxopYHT_ELNPF5zhDI/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/jeffrinet?a=kqVYEOSRH1k:Dkh87frjqFo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/jeffrinet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=kqVYEOSRH1k:Dkh87frjqFo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=kqVYEOSRH1k:Dkh87frjqFo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/jeffrinet?a=kqVYEOSRH1k:Dkh87frjqFo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/jeffrinet?i=kqVYEOSRH1k:Dkh87frjqFo:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/jeffrinet/~4/kqVYEOSRH1k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jeffri.net/2010/11/art-ryougi-shiki-i-killed-him/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://jeffri.net/2010/11/art-ryougi-shiki-i-killed-him/</feedburner:origLink></item>
	</channel>
</rss>

