<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Rick's HideOut &#187; English</title>
	<atom:link href="http://rick.jinlabs.com/category/english/feed/" rel="self" type="application/rss+xml" />
	<link>http://rick.jinlabs.com</link>
	<description>Keep Real... Don't Even Try...</description>
	<lastBuildDate>Tue, 26 Apr 2011 13:44:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How add options to your WordPress 2.7 dashboard widgets</title>
		<link>http://rick.jinlabs.com/2009/02/01/how-add-options-to-your-wordpress-27-dashboard-widgets/</link>
		<comments>http://rick.jinlabs.com/2009/02/01/how-add-options-to-your-wordpress-27-dashboard-widgets/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 16:54:48 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://rick.jinlabs.com/?p=874</guid>
		<description><![CDATA[Well, in this article, I assume you have read the WP Engineer's excellent post Add WordPress Dashboard Widgets, because his code will be our start point. So, we have this code: &#160; &#160; // Load up the localization file if we're using WordPress in a different language // Place it in this plugin's folder and [...]]]></description>
			<content:encoded><![CDATA[<p>Well, in this article, I assume you have read the WP Engineer's excellent post <a href="http://wpengineer.com/add-wordpress-dashboard-widgets/">Add WordPress Dashboard Widgets</a>, because his code will be our start point.</p>
<p>So, we have this code:</p>
<pre class="php">&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;">// Load up the localization file if we're using WordPress in a different language</span>
<span style="color: #808080; font-style: italic;">// Place it in this plugin's folder and name it &quot;MainFunction-[value in wp-config].mo&quot;</span>
load_plugin_textdomain<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'MainFunction'</span>, <span style="color: #ff0000;">'/wp-content/plugins/MainFunction'</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * Content of Dashboard-Widget
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> MainFunction<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">'Test Add Dashboard-Widget'</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * add Dashboard Widget via function wp_add_dashboard_widget()
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> MainFunction_Init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	wp_add_dashboard_widget<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'MainFunction'</span>, __<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'MainFunction Widget Title'</span> <span style="color: #66cc66;">&#41;</span>, <span style="color: #ff0000;">'MainFunction'</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * use hook, to integrate new widget
 */</span>
add_action<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'wp_dashboard_setup'</span>, <span style="color: #ff0000;">'MainFunction_Init'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
<p>OK, now, remenber the wp_add_dashboard_widget function?</p>
<pre class="php"><span style="color: #000000; font-weight: bold;">function</span> wp_add_dashboard_widget<span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$widget_id</span>, <span style="color: #0000ff;">$widget_name</span>, <span style="color: #0000ff;">$callback</span>, <span style="color: #0000ff;">$control_callback</span> = <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">&#41;</span></pre>
<p>The $control_callback parameter (obviously optional) is our main target. It gives the 'Configure' option to our spiffy widget.<br />
So, we need to add a 4th parameter to wp_add_dashboard_widget:</p>
<pre class="php">wp_add_dashboard_widget<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'MainFunction'</span>, __<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'MainFunction Widget Title'</span> <span style="color: #66cc66;">&#41;</span>, <span style="color: #ff0000;">'MainFunction'</span>, <span style="color: #ff0000;">'MainFunction_Setup'</span><span style="color: #66cc66;">&#41;</span>;</pre>
<p>The MainFunction_Setup function handles two things: the options (set the default options, recolect new values, etc) and the option's presentation (i.e. the HTML part)</p>
<p>So, here goes the code:</p>
<pre class="php">&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> MainFunction_Options<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #0000ff;">$defaults</span> = <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'items'</span> =&gt; <span style="color: #cc66cc;">5</span>, <span style="color: #ff0000;">'boolean'</span> =&gt; <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#40;</span> !<span style="color: #0000ff;">$options</span> = get_option<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'MainFunction'</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> || !<a href="http://www.php.net/is_array"><span style="color: #000066;">is_array</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$options</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>
		<span style="color: #0000ff;">$options</span> = <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">return</span> <a href="http://www.php.net/array_merge"><span style="color: #000066;">array_merge</span></a><span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$defaults</span>, <span style="color: #0000ff;">$options</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> MainFunction_Setup<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
	<span style="color: #0000ff;">$options</span> = MainFunction_Options<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'post'</span> == <a href="http://www.php.net/strtolower"><span style="color: #000066;">strtolower</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$_SERVER</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'REQUEST_METHOD'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span> &amp;&amp; <a href="http://www.php.net/isset"><span style="color: #000066;">isset</span></a><span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$_POST</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'widget_id'</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#41;</span> &amp;&amp; <span style="color: #ff0000;">'MainFunction'</span> == <span style="color: #0000ff;">$_POST</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'widget_id'</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		<span style="color: #b1b100;">foreach</span> <span style="color: #66cc66;">&#40;</span> <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'items'</span>, <span style="color: #ff0000;">'boolean'</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$key</span> <span style="color: #66cc66;">&#41;</span>
				<span style="color: #0000ff;">$options</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$key</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #0000ff;">$_POST</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$key</span><span style="color: #66cc66;">&#93;</span>;
		update_option<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'MainFunction'</span>, <span style="color: #0000ff;">$options</span> <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
&nbsp;
		&lt;label <span style="color: #b1b100;">for</span>=<span style="color: #ff0000;">&quot;items&quot;</span>&gt;&lt;PHP _e<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'How many items?'</span>, <span style="color: #ff0000;">'MainFunction'</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;select id=<span style="color: #ff0000;">&quot;items&quot;</span> name=<span style="color: #ff0000;">&quot;items&quot;</span>&gt;
				&lt;PHP
					<span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$i</span> = <span style="color: #cc66cc;">5</span>; <span style="color: #0000ff;">$i</span> &lt;= <span style="color: #cc66cc;">20</span>; <span style="color: #0000ff;">$i</span> = <span style="color: #0000ff;">$i</span> + <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span>
						<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">&quot;
&lt;option value='$i'&quot;</span> . <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$options</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'items'</span><span style="color: #66cc66;">&#93;</span> == <span style="color: #0000ff;">$i</span> ? <span style="color: #ff0000;">&quot; selected='selected'&quot;</span> : <span style="color: #ff0000;">''</span> <span style="color: #66cc66;">&#41;</span> . <span style="color: #ff0000;">&quot;&gt;$i&lt;/option&gt;
&nbsp;
&quot;</span>;
				<span style="color: #000000; font-weight: bold;">?&gt;</span>
			&lt;/select&gt;
&nbsp;
		&lt;/label&gt;
&nbsp;
&nbsp;
&nbsp;
		&lt;label <span style="color: #b1b100;">for</span>=<span style="color: #ff0000;">&quot;boolean&quot;</span>&gt;
&lt;input id=<span style="color: #ff0000;">&quot;boolean&quot;</span> name=<span style="color: #ff0000;">&quot;boolean&quot;</span> type=<span style="color: #ff0000;">&quot;checkbox&quot;</span> value=<span style="color: #ff0000;">&quot;1&quot;</span>&lt;PHP <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">1</span> == <span style="color: #0000ff;">$options</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'boolean'</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#41;</span> <a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">' checked=&quot;checked&quot;'</span>; <span style="color: #000000; font-weight: bold;">?&gt;</span> /&gt;
			&lt;PHP _e<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Activate boolean?'</span>, <span style="color: #ff0000;">'MainFunction'</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">?&gt;</span>
		&lt;/label&gt;
&nbsp;
&nbsp;
&lt;PHP
 <span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>As you can see, MainFunction_Options puts the default values (if necessary, of course) and MainFunction_Setup show the current values and let change them. You can merge this two, of course...</p>
<p>Now, we have to get the options and use them in our MainFunction function. Change MainFunction like that:</p>
<pre class="php">&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * Content of Dashboard-Widget
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> MainFunction<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
        <span style="color: #0000ff;">$widget_options</span> = MainFunction_Options<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">'Test Add Dashboard-Widget'</span>;
	<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">&quot;You have selected $widget_options['items'] items&quot;</span>;
	<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">&quot;boolean is $widget_options['boolean']&quot;</span>;
&nbsp;
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>The complete code here: </p>
<pre class="php">&nbsp;
&lt;PHP
&nbsp;
<span style="color: #808080; font-style: italic;">// Load up the localization file if we're using WordPress in a different language</span>
<span style="color: #808080; font-style: italic;">// Place it in this plugin's folder and name it &quot;MainFunction-[value in wp-config].mo&quot;</span>
load_plugin_textdomain<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'MainFunction'</span>, <span style="color: #ff0000;">'/wp-content/plugins/MainFunction'</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * Content of Dashboard-Widget
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> MainFunction<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #0000ff;">$widget_options</span> = MainFunction_Options<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">'Test Add Dashboard-Widget'</span>;
	<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">&quot;You have selected $widget_options['items'] items&quot;</span>;
	<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">&quot;boolean is $widget_options['boolean']&quot;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * add Dashboard Widget via function wp_add_dashboard_widget()
 */</span>
<span style="color: #000000; font-weight: bold;">function</span> MainFunction_Init<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	wp_add_dashboard_widget<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'MainFunction'</span>, __<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'MainFunction Widget Title'</span> <span style="color: #66cc66;">&#41;</span>, <span style="color: #ff0000;">'MainFunction'</span> , <span style="color: #ff0000;">'MainFunction_Setup'</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> MainFunction_Options<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
	<span style="color: #0000ff;">$defaults</span> = <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'items'</span> =&gt; <span style="color: #cc66cc;">5</span>, <span style="color: #ff0000;">'boolean'</span> =&gt; <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#40;</span> !<span style="color: #0000ff;">$options</span> = get_option<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'MainFunction'</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> || !<a href="http://www.php.net/is_array"><span style="color: #000066;">is_array</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$options</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>
		<span style="color: #0000ff;">$options</span> = <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">return</span> <a href="http://www.php.net/array_merge"><span style="color: #000066;">array_merge</span></a><span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$defaults</span>, <span style="color: #0000ff;">$options</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> MainFunction_Setup<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
	<span style="color: #0000ff;">$options</span> = MainFunction_Options<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'post'</span> == <a href="http://www.php.net/strtolower"><span style="color: #000066;">strtolower</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$_SERVER</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'REQUEST_METHOD'</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span> &amp;&amp; <a href="http://www.php.net/isset"><span style="color: #000066;">isset</span></a><span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$_POST</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'widget_id'</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#41;</span> &amp;&amp; <span style="color: #ff0000;">'MainFunction'</span> == <span style="color: #0000ff;">$_POST</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'widget_id'</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		<span style="color: #b1b100;">foreach</span> <span style="color: #66cc66;">&#40;</span> <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'items'</span>, <span style="color: #ff0000;">'boolean'</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$key</span> <span style="color: #66cc66;">&#41;</span>
				<span style="color: #0000ff;">$options</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$key</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #0000ff;">$_POST</span><span style="color: #66cc66;">&#91;</span><span style="color: #0000ff;">$key</span><span style="color: #66cc66;">&#93;</span>;
		update_option<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'MainFunction'</span>, <span style="color: #0000ff;">$options</span> <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
&nbsp;
		&lt;label <span style="color: #b1b100;">for</span>=<span style="color: #ff0000;">&quot;items&quot;</span>&gt;&lt;PHP _e<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'How many items?'</span>, <span style="color: #ff0000;">'MainFunction'</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;select id=<span style="color: #ff0000;">&quot;items&quot;</span> name=<span style="color: #ff0000;">&quot;items&quot;</span>&gt;
				&lt;PHP
					<span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$i</span> = <span style="color: #cc66cc;">5</span>; <span style="color: #0000ff;">$i</span> &lt;= <span style="color: #cc66cc;">20</span>; <span style="color: #0000ff;">$i</span> = <span style="color: #0000ff;">$i</span> + <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span>
						<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">&quot;
&lt;option value='$i'&quot;</span> . <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$options</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'items'</span><span style="color: #66cc66;">&#93;</span> == <span style="color: #0000ff;">$i</span> ? <span style="color: #ff0000;">&quot; selected='selected'&quot;</span> : <span style="color: #ff0000;">''</span> <span style="color: #66cc66;">&#41;</span> . <span style="color: #ff0000;">&quot;&gt;$i&lt;/option&gt;
&nbsp;
&quot;</span>;
				<span style="color: #000000; font-weight: bold;">?&gt;</span>
			&lt;/select&gt;
&nbsp;
		&lt;/label&gt;
&nbsp;
&nbsp;
&nbsp;
		&lt;label <span style="color: #b1b100;">for</span>=<span style="color: #ff0000;">&quot;boolean&quot;</span>&gt;
&lt;input id=<span style="color: #ff0000;">&quot;boolean&quot;</span> name=<span style="color: #ff0000;">&quot;boolean&quot;</span> type=<span style="color: #ff0000;">&quot;checkbox&quot;</span> value=<span style="color: #ff0000;">&quot;1&quot;</span>&lt;PHP <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">1</span> == <span style="color: #0000ff;">$options</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'boolean'</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">&#41;</span> <a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">' checked=&quot;checked&quot;'</span>; <span style="color: #000000; font-weight: bold;">?&gt;</span> /&gt;
			&lt;PHP _e<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Activate boolean?'</span>, <span style="color: #ff0000;">'MainFunction'</span> <span style="color: #66cc66;">&#41;</span>; <span style="color: #000000; font-weight: bold;">?&gt;</span>
		&lt;/label&gt;
&nbsp;
&nbsp;
&lt;PHP
 <span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * use hook, to integrate new widget
 */</span>
add_action<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'wp_dashboard_setup'</span>, <span style="color: #ff0000;">'MainFunction_Init'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;</pre>
<p>You can view a PHPS version (without PHP crippled tags) <a href="http://code.jinlabs.com/MainFunction.phps">here</a>.</p>
<hr />
<p><small>
&copy; <a href="http://rick.jinlabs.com">Rick's HideOut</a>, 2009. | 
<a href="http://rick.jinlabs.com/2009/02/01/how-add-options-to-your-wordpress-27-dashboard-widgets/">Permalink</a> | 
Categor&iacute;­a: <a href="http://rick.jinlabs.com/category/english/" title="Ver todas las entradas en English" rel="category tag">English</a>, <a href="http://rick.jinlabs.com/category/wordpress/" title="Ver todas las entradas en Wordpress" rel="category tag">Wordpress</a> | 
Tags: <a href="http://rick.jinlabs.com/tag/dashboard/" rel="tag">dashboard</a>, <a href="http://rick.jinlabs.com/tag/widgets/" rel="tag">widgets</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://rick.jinlabs.com/2009/02/01/how-add-options-to-your-wordpress-27-dashboard-widgets/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>WordPress Theming Advices</title>
		<link>http://rick.jinlabs.com/2008/04/23/wordpress-theming-advices/</link>
		<comments>http://rick.jinlabs.com/2008/04/23/wordpress-theming-advices/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 09:08:17 +0000</pubDate>
		<dc:creator>Rick</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://rick.jinlabs.com/?p=465</guid>
		<description><![CDATA[i18n Always use i18n functions (like _e() and __()), even if you don't know more languages, so others can do the l10n job for you. Templates At least, a template for archives, author, links, search and 404 must be provided. Alternate CSS file In your header.php link your style.css and a alternate-style.css in order to [...]]]></description>
			<content:encoded><![CDATA[<p><strong>i18n</strong><br />
Always use <a href="http://codex.wordpress.org/User:Nbachiyski/I18n_for_WordPress_Developers">i18n functions</a> (like <em>_e()</em> and <em>__()</em>), even if you don't know more languages, so others can do the l10n job for you.</p>
<p><strong>Templates</strong><br />
At least, a <a href="http://codex.wordpress.org/Templates">template</a> for archives, author, links, search and 404 must be provided.</p>
<p><strong>Alternate CSS file</strong><br />
In your header.php link your style.css and a alternate-style.css in order to allow users to add personal CSS code without fear to loose it in the next theme upgrade.</p>
<p><strong>Supported plugins</strong><br />
Add support to 3rd parties plugins is good. But always check if they exists using <a href="http://php.net/function_exists"><em>function_exists()</em></a> function to avoid PHP errors.</p>
<p><strong>Time and Date format</strong><br />
Don't use your own time/date format with <em><a href="http://codex.wordpress.org/Template_Tags/the_date">the_date()</a></em> and <em><a href="http://codex.wordpress.org/Template_Tags/the_time">the_time()</a></em> functions. Use <a href="http://codex.wordpress.org/Function_Reference/get_option">get_option()</a> function, like <em>the_date(get_option('date_format'))</em> and <em>the_time(get_option('time_format'))</em> instead. And  remenber, if you call <em>the_date()</em> function twice or more in one page, only the first will echo the date. <em>the_time()</em> function don't have this behavior.</p>
<p><strong>Lightweight</strong><br />
Use WordPress own resources if is possible: i.e. don't add jquery.js, use <a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script"><em>wp_enqueue_script()</em></a> function, like <em>wp_enqueue_script('jquery')</em>, and so on...</p>
<p><strong>Widgets</strong><br />
Even if widgets are not your thing (like me), make your theme widget-ready. <a href="http://automattic.com/code/widgets/themes/">It's so easy</a>, and sooner or later someone will ask you to do it.</p>
<hr />
<p><small>
&copy; <a href="http://rick.jinlabs.com">Rick's HideOut</a>, 2008. | 
<a href="http://rick.jinlabs.com/2008/04/23/wordpress-theming-advices/">Permalink</a> | 
Categor&iacute;­a: <a href="http://rick.jinlabs.com/category/english/" title="Ver todas las entradas en English" rel="category tag">English</a>, <a href="http://rick.jinlabs.com/category/wordpress/" title="Ver todas las entradas en Wordpress" rel="category tag">Wordpress</a> | 
Tags: 
</small></p>]]></content:encoded>
			<wfw:commentRss>http://rick.jinlabs.com/2008/04/23/wordpress-theming-advices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

