<?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>ajaxtime.com &#187; wordpress</title>
	<atom:link href="http://www.ajaxtime.com/tag/wordpress/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ajaxtime.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 13 Apr 2010 14:41:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tweet, Tweet!</title>
		<link>http://www.ajaxtime.com/tweet-tweet.html</link>
		<comments>http://www.ajaxtime.com/tweet-tweet.html#comments</comments>
		<pubDate>Tue, 13 Apr 2010 14:41:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[Wordpress plugin]]></category>
		<category><![CDATA[wordpress Themes]]></category>
		<category><![CDATA[wp]]></category>
		<category><![CDATA[WP Plugin]]></category>

		<guid isPermaLink="false">http://www.ajaxtime.com/?p=532</guid>
		<description><![CDATA[This post is about the @WordPress Twitter account, so if you don’t use Twitter, or don’t care about Twitter, then feel free to take the time you might have spent reading this post to go play outside (or an equivalent) instead.
Okay, so, Twitter! When all those apps started popping up using the Twitter API, things [...]]]></description>
			<content:encoded><![CDATA[<p>This post is about the @WordPress Twitter account, so if you don’t use Twitter, or don’t care about Twitter, then feel free to take the time you might have spent reading this post to go play outside (or an equivalent) instead.</p>
<p>Okay, so, Twitter! When all those apps started popping up using the Twitter API, things like automatically following anyone who followed you and sending an automatic Direct Message seemed like good ideas. We’re all friends, right? Wrong. That auto-follow bit us hard, and the huge amount of spam the account gets means that it’s been nearly impossible to monitor legitimate messages from WordPress users and developers who need to be pointed to a help resource. We’re sorry! Just as we needed to get the Ideas Forum under control* so that it could become a more useful resource for the community, we needed to get rid of the spam clogging our Twitter arteries. Except there was no easy way to do it.</p>
<p>We had wound up following over 50,000 people. If someone went to the @WordPress profile page on Twitter to see the stream of updates from people we followed, almost none of it had anything to do with WordPress or the community. Diet pills, Twitter scams, and multi-posted spam messages were the norm. Yuck! Who else wishes there was Akismet for Twitter? Unfortunately, there’s no easy way to clear this stuff out quickly (mass unfollows trigger their TOS alert, so it’s not surprising). I even contacted Twitter directly to see what the options might be, and it was suggested we use a script to clear the account. To be clear: Twitter flagged our account so that when the script was run they wouldn’t mark us as spammers for violating the TOS with a mass unfollow. We communicated with them beforehand, and the use of scripts to do this is not encouraged. Twitter was doing us a nice favor to help us get our house in order. Thanks, Twitter! Last night I ran the script and removed everyone. Extreme, but in good cause, right?</p>
<p>We’re now starting to re-follow real people from the WordPress community. There will be no more auto-follow. If you are a WordPress developer, designer, blogger, fan site, whatever — and think your tweets should appear in the @WordPress updates stream, then send an @ reply to us and we can add you to the new list (assuming you’re not hawking diet pills, free iPads or ways to get a million followers). This way, people who are new to WordPress and go to check us out on Twitter will (hopefully) get a sense of the vibrant community that we have. People who send @ messages to us won’t (hopefully) wonder indefinitely why they were ignored, because without all the spam, maybe we can use Twitter as it was intended to be used, as another channel of communication.</p>
<p>And for anyone who uses Qwitter and thinks @WordPress stopped loving them because of the last tweet they posted before the script ran… sorry! It wasn’t like that, we swear! It would be nice if the script could have done a bulk DM before the removal, but nope (otherwise we’d have included a message about this). So trust us, we still like you! And if you haven’t already been re-followed, please don’t take it personally… just send an @reply to @WordPress (tell us how you use WordPress!) and we’ll try to get you re-added soon. Later today (hopefully) you’ll find out what’s been keeping us so busy!</p>
<p>*Have you noticed? We cleared out thousands of old threads, added categorization, and will try to keep it to under a hundred open idea threads at a time so that they can be managed in a timely fashion. Check it out and rate some of the new ideas today!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxtime.com/tweet-tweet.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 3.0, Beta 1</title>
		<link>http://www.ajaxtime.com/wordpress-3-0-beta-1.html</link>
		<comments>http://www.ajaxtime.com/wordpress-3-0-beta-1.html#comments</comments>
		<pubDate>Tue, 13 Apr 2010 14:40:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[WordPress 3.0]]></category>
		<category><![CDATA[WordPress 3.0 download]]></category>

		<guid isPermaLink="false">http://www.ajaxtime.com/?p=530</guid>
		<description><![CDATA[Remember when I posted earlier about the Twitter account, and I said that hopefully you’d find out later today what has been keeping us all so busy? Beta testers, this is your moment: the WordPress 3.0 Beta 1 has arrived!
This is an early beta. This means there are a few things we’re still finishing. We [...]]]></description>
			<content:encoded><![CDATA[<p>Remember when I posted earlier about the Twitter account, and I said that hopefully you’d find out later today what has been keeping us all so busy? Beta testers, this is your moment: the WordPress 3.0 Beta 1 has arrived!</p>
<p>This is an early beta. This means there are a few things we’re still finishing. We wanted to get people testing it this weekend, so we’re releasing it now rather than waiting another week until everything is finalized and polished. There’s a ton of stuff going on in 3.0, so this time we’re giving you a list of things to check out, so that we can make sure people are testing all the things that need it.</p>
<p>You Should Know:</p>
<p>The custom menus system (Appearance > Menus) is not quite finished. In Beta 2, the layout will be different and a bunch of the functionality will be improved, but we didn’t want to hold things up for this one screen. You can play with making custom menus, and report bugs if you find them, but this is not how the final screen will look/work, so don’t get attached to it.<br />
The merge! Yes, WordPress and WordPress MU have merged. This does not mean that you can suddenly start adding a bunch of new blogs from within your regular WordPress Dashboard. If you’re interested in testing the Super Admin stuff associated with multiple sites, you’ll need some simple directions to get started.<br />
We’re still fiddling with a few small things in the UI, as we were focused on getting the more function-oriented code finished first. For example, we’re getting a new icon for the Super Admin section.<br />
Things to test:</p>
<p>Play with the new default theme, Twenty Ten, including the custom background and header options.<br />
Custom Post Type functionality has been beefed up. It’s really easy to add new types, so do that and see how it looks!<br />
WordPress MU users should test the multiple sites functionality to make sure nothing broke during the merge.<br />
Already have a test install that you want to switch over to the beta? Try the beta tester plugin.</p>
<p>Testers, don’t forget to use the wp-testers mailing list to discuss bugs you encounter.</p>
<p>We hope you like it! And if you don’t, well, check back when beta 2 is ready.  </p>
<p>Download the WordPress 3.0 Beta 1 now!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxtime.com/wordpress-3-0-beta-1.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basic WordPress template file</title>
		<link>http://www.ajaxtime.com/basic-wordpress-template-file.html</link>
		<comments>http://www.ajaxtime.com/basic-wordpress-template-file.html#comments</comments>
		<pubDate>Mon, 20 Apr 2009 06:24:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[functions]]></category>
		<category><![CDATA[WordPress template]]></category>
		<category><![CDATA[wordpress Themes]]></category>

		<guid isPermaLink="false">http://www.ajaxtime.com/?p=168</guid>
		<description><![CDATA[Basic WordPress template file and used functions . To understand the structure of wordpress .]]></description>
			<content:encoded><![CDATA[<p>
Basic WordPress template file<br />
A complete set of WordPress templates should be at least the following documents:</p>
<p>style.css: CSS (style sheet) file<br />
index.php: Home Templates<br />
archive.php: Archive / Category Templates<br />
404.php: Not Found error page template<br />
comments.php: Message / Reply Template<br />
footer.php: Footer Template<br />
header.php: Header templates<br />
sidebar.php: Sidebar template<br />
page.php: content pages (Page) templates<br />
single.php: page content (Post) template<br />
searchform.php: template search form<br />
search.php: search results template<br />
Of course, specific to a particular section of a template, might have been more than these documents, but generally speaking, these documents are necessary for each template.</p>
<p>Tag to determine the basic conditions for<br />
is_home (): whether to Home<br />
is_single (): whether the content pages (Post)<br />
is_page (): whether the content pages (Page)<br />
is_category (): whether the Category / Archive Page<br />
is_tag (): whether or not to Tag Archive pages<br />
is_date (): whether the archive page for the specified date<br />
is_year (): whether the archive page for the specified year<br />
is_month (): whether or not to designate the month archive page<br />
is_day (): whether or not for a specific day archive page<br />
is_time (): whether the archive page for a specified period of time<br />
is_archive (): whether or not to archive page<br />
is_search (): whether the search results page<br />
is_404 (): whether the &#8220;HTTP 404: Not Found&#8221; error page<br />
is_paged (): Home / Category / Archive Page is a multi-page display<br />
Header part of the PHP function used to<br />
<? php bloginfo ( 'name');?>: blog name (Title)<br />
<? php bloginfo ( 'stylesheet_url');?>: CSS file path<br />
<? php bloginfo ( 'pingback_url');?>: PingBack Url<br />
<? php bloginfo ( 'template_url');?>: template file path<br />
<? php bloginfo ( 'version');?>: WordPress version<br />
<? php bloginfo ( 'atom_url');?>: Atom Url<br />
<? php bloginfo ( 'rss2_url');?>: RSS 2.o Url<br />
<? php bloginfo ( 'url');?>: blog Url<br />
<? php bloginfo ( 'html_type');?>: the type of blog page Html<br />
<? php bloginfo ( 'charset');?>: blog page coding<br />
<? php bloginfo ( 'description');?>: blog description<br />
<? php wp_title ();?>: page-specific content (Post / Page) of the title<br />
PHP template commonly used functions and commands<br />
<? php get_header ();?>: Call Header Template<br />
<? php get_sidebar ();?>: call Sidebar template<br />
<? php get_footer ();?>: call Footer Template<br />
<? php the_content ();?>: display the contents of (Post / Page)<br />
<? php if (have_posts ()):?>: check the existence of Post / Page<br />
<? php while (have_posts ()): the_post ();?>: If there Post / Page will be displayed<br />
<? php endwhile;?>: While the end of<br />
<? php endif;?>: If the end of<br />
<? php the_time ( 'string')?>: show time, time format from &#8220;string&#8221; parameter determines the specific reference to PHP Manual<br />
<? php comments_popup_link ();?>: the body of the message link. If you use comments_popup_script (), the message will open in a new window, on the contrary, in the current window<br />
<? php the_title ();?>: page content (Post / Page) title<br />
<? php the_permalink ()?>: page content (Post / Page) Url<br />
<? php the_category ( ',')?>: page-specific content (Post / Page) owned Category<br />
<? php the_author ();?>: author<br />
<? php the_ID ();?>: page-specific content (Post / Page) ID<br />
<? php edit_post_link ();?>: If the user has to log in and have permission to show the Edit link<br />
<? php get_links_list ();?>: display the link in the Blogroll<br />
<? php comments_template ();?>: Call Message / Reply Template<br />
<? php wp_list_pages ();?>: Showing Page List<br />
<? php wp_list_categories ();?>: display the list of Categories<br />
<? php next_post_link ( '% link');?>: under an article link<br />
<? php previous_post_link ( '% link');?>: on an article link<br />
<? php get_calendar ();?>: Calendar<br />
<? php wp_get_archives ()?>: display the contents of archive<br />
<? php posts_nav_link ();?>: navigation, display a / under the link to an article<br />
<? php include (TEMPLATEPATH. '/ file name');?>: embedded in other documents, for customizable templates, or other type of document<br />
Template associated with the other function<br />
<? php _e ( 'Message');?>: output the corresponding information<br />
<? php wp_register ();?>: display the registration link<br />
<? php wp_loginout ();?>: show the logon / logoff link<br />
<!-Next page->: the content of the current page<br />
<!-More->: the content of the current cut-off in order to not be home / directory page displays the entire contents of<br />
<? php timer_stop (1);?>: page load time (seconds)<br />
<? php echo get_num_queries ();?>: page load queries</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxtime.com/basic-wordpress-template-file.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tags Are Not Categories &#8211; Got It?</title>
		<link>http://www.ajaxtime.com/tags-are-not-categories-got-it.html</link>
		<comments>http://www.ajaxtime.com/tags-are-not-categories-got-it.html#comments</comments>
		<pubDate>Fri, 17 Apr 2009 01:15:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[Tag]]></category>

		<guid isPermaLink="false">http://www.ajaxtime.com/?p=153</guid>
		<description><![CDATA[If I were in the business of earning my subsistence from the concept of tagging, I would try hard to make a distinction between the old and the new that I am offering, and to elucidate the advantages and novel uses of tags.]]></description>
			<content:encoded><![CDATA[<p>Categories organize, hierarchically. Tags need not. Tags provide meta-information, Categories need not. Tags cross-connect, Categories do not. By cross connect, I mean, when you go looking for posts tagged with “Flickr? on technorati, you find posts from various sources, all about Flickr. Now if you go searching for posts tagged with “administration? in technorati, you will find everything from system administration tips to posts regarding the NASA, the NSA, and general verbiage &#8211; largely due to poisoning from people who can’t get the difference between tags and categories straight, for the most.</p>
<p>Get your semantics right, wordpress.com folks &#8211; please If you don’t you are doing a disservice by poisoning so many indices that work by means of tags. Earlier today, for the nth time, I ended up with a wordpress.com blog as the result, and the entry was totally unrelated to what I was searching for on IceRocket.</p>
<p>And technorati, shame on you for saying</p>
<p>“A tag is like a subject or category.”</p>
<p>If I were in the business of earning my subsistence from the concept of tagging, I would try hard to make a distinction between the old and the new that I am offering, and to elucidate the advantages and novel uses of tags.</p>
<p>Tags are Not Categories by Carthik Sharma agrees with my opinion that categories are not the same as tags, and he makes a good point.</p>
<p>Applause, applause, loud clapping, bravo!</p>
<p>As tagging has grown, it gets harder and harder to use tagging services effectively when anything and everything is being used as tags. For a while it looked like things were settling in and and the key tag words were rising consistently to the top, but with 100,000 WordPress.com blogs (and growing) now available using categories as tags automatically, more and more tag search results are turning up a high percentage of false-positives.</p>
<p>Tags need to be clearly defined as distinctive from categories. I’m very selective about my category choices. I have only recently added a few more specific categories, which I will discuss soon, because my content topics have now expanded beyond my core four categories.</p>
<p>Adding a category like a tag creates long, cumbersome, and ugly lists in the sidebar. I have hundreds of tags on this blog. Could you imagine what my sidebar would look like if every tag I used was a category? It’d reach through your desk to the floor and beyond.</p>
<p>Until WordPress.com adds something like the Ultimate Tag Warrior, which adds a tag input form onto the Write Post Panel and then permits weighted tag clouds (tag heat maps) or tag lists within the WordPress Theme layout, you can still use the option of manually adding tags to your posts and not giving into the competition of having your category “seen” on the WordPress.com category/tag cloud.</p>
<p>Honestly, why do categories have to be tags. Categories can be tags, sure, but not all categories are tags, and not all tags should be categories. I think of categories as a table of contents and tags as the index page of a book. If I’m searching for a broad topic, unsure of exactly what I need to find or the keywords, then I will hit the table of contents (categories). If I know the exact word I need in order to find the information I want, then I will hit the index page (tags). As repositories of content and information, why should blogs be any different?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxtime.com/tags-are-not-categories-got-it.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Define Your Own WordPress Loop Using WP_Query</title>
		<link>http://www.ajaxtime.com/define-your-own-wordpress-loop-using-wp_query.html</link>
		<comments>http://www.ajaxtime.com/define-your-own-wordpress-loop-using-wp_query.html#comments</comments>
		<pubDate>Thu, 16 Apr 2009 08:24:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[function]]></category>

		<guid isPermaLink="false">http://www.ajaxtime.com/?p=93</guid>
		<description><![CDATA[One of the easiest ways to navigate and manipulate the loop is to use the function called query_posts. Nathan Rice calls it a WordPress developers best friend.]]></description>
			<content:encoded><![CDATA[<p>We all know what the WordPress Loop</a> is right? If not, there are many great tutorials around the web that <a href="http://weblogtoolscollection.com/archives/2007/06/06/global-variables-and-the-wordpress-loop/">explain the WordPress Loop</a>.</p>
<p>One of the easiest ways to navigate and manipulate the loop is to use the function called <strong><a href="http://codex.wordpress.org/Template_Tags/query_posts">query_posts</a></strong>. <a href="http://www.nathanrice.net/">Nathan Rice</a> calls it <a href="http://www.blogherald.com/2007/05/31/a-wordpress-developers-best-friend/">a WordPress developers best friend</a>.</p>
<p>When you use <strong>query_posts</strong>, however, you risk the following:</p>
<ul>
<li>Potential to interfere with plugins which make use of the Loop.</li>
<li>Potential to invalidate WordPress conditional tags.</li>
<li>Having to deal with resetting, rewinding, offsetting…</li>
</ul>
<p>I say skip <strong>query_posts</strong>. In a way you’ll still be using it, but the better (and sometimes easier) technique is to instantiate your own <strong><a href="http://codex.wordpress.org/Function_Reference/WP_Query">WP_Query</a></strong> object and create your own loop.</p>
<h3>Creating Your Own Loop With WP_Query</h3>
<p>The first step is to instantiate your own variable using the WP_Query class.</p>
<p>What we’ll be doing in this example is creating a common feature on blogs, which is to display a list of the recent articles.</p>
<blockquote><p> </p>
<pre>&lt;?php
    $recentPosts = new WP_Query();
    $recentPosts-&gt;query('showposts=5');
?&gt;</pre>
<p> </p></blockquote>
<p>All I’ve done in the above code is defined a variable named <strong>recentPosts</strong> and instantiated an instance of <strong>WP_Query</strong>.</p>
<p>I then used a method of <strong>WP_Query</strong> to start a query (pretty much the same thing as using <strong>query_posts</strong>). You even use the <a href="http://codex.wordpress.org/Template_Tags/query_posts#Usage">same usage parameters</a> as <strong>query_posts</strong>.</p>
<p>Now it’s time to start our own loop:</p>
<blockquote><p> </p>
<pre>&lt;?php while ($recentPosts-&gt;have_posts()) : $recentPosts-&gt;the_post(); ?&gt;
   &lt;!-- do some stuff here --&gt;
&lt;?php endwhile; ?&gt;</pre>
<p> </p></blockquote>
<p>Notice the use of the <strong>recentPosts</strong> variable to start the loop. We utilize two methods of WP_Query, which is <strong>have_posts</strong> and <strong>the_post</strong>. You can read more about those two methods on my article <a href="http://weblogtoolscollection.com/archives/2007/06/06/global-variables-and-the-wordpress-loop/">Global Variables and the WordPress Loop</a>.</p>
<p>The beauty of this is that once you are inside your own loop, you can use the <a href="http://codex.wordpress.org/Template_Tags#Post_tags">standard post tags</a>.</p>
<h3>The Full Code</h3>
<p>Here’s the full code for showing the last five recent posts using your own loop:</p>
<blockquote><p> </p>
<pre>&lt;h3&gt;Recent Articles&lt;/h3&gt;
&lt;ul&gt;
&lt;?php
    $recentPosts = new WP_Query();
    $recentPosts-&gt;query('showposts=5');
?&gt;
&lt;?php while ($recentPosts-&gt;have_posts()) : $recentPosts-&gt;the_post(); ?&gt;
    &lt;li&gt;&lt;a href="&lt;?php the_permalink() ?&gt;" rel="bookmark"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;
&lt;?php endwhile; ?&gt;
&lt;/ul&gt;</pre>
<p> </p></blockquote>
<h3>Update: Using Pagination</h3>
<p>This comment is from <a href="http://www.anthologyoi.com/">Aaron Harun</a> -</p>
<p>@Ron and Monika</p>
<p>If you use the query:</p>
<blockquote><p> </p>
<pre>$recentPosts-&gt;query('showposts=5'.'&amp;paged='.$paged);</pre>
<p> </p></blockquote>
<p>it will automatically page the wury based on the page number passed<br />
through the url eg &#8220;/page/4&#8243;</p>
<p>However, this doesn&#8217;t work with the “<strong>post_nav_link</strong>” function because it<br />
only checks the $<strong>wp_query</strong> variable. To get around this you have to<br />
trick the function by switching $<strong>wp_query</strong> on it. Add the first block<br />
before your custom loop and the second after to achieve this effect.</p>
<blockquote><p> </p>
<pre>&lt;?php //query_posts('paged='.$paged);
$temp = $wp_query;
$wp_query= null;
   $wp_query = new WP_Query();
   $wp_query-&gt;query('showposts=5'.'&amp;paged='.$paged);
?&gt;</pre>
<p> </p></blockquote>
<blockquote><p> </p>
<pre>&lt;?php $wp_query = null; $wp_query = $temp;?&gt;</pre>
<p> </p></blockquote>
<p><em>Thanks Aaron for the contribution.</em></p>
<h3>Conclusion</h3>
<p>Defining your own loop using WP_Query is an easy way to run your own custom queries without interfering with the default Loop. It’s also a great way to run multiple loops that are completely independent of each other.</p>
<p>WordPress Resources mentioned:</p>
<ul>
<li><a href="http://codex.wordpress.org/Function_Reference/WP_Query">WP_Query</a></li>
<li><a href="http://codex.wordpress.org/Template_Tags/query_posts">query_posts</a></li>
<li><a href="http://www.themelab.com/2008/04/04/the-ultimate-guide-to-the-wordpress-loop/">The Loop</a></li>
<li><a href="http://codex.wordpress.org/Template_Tags#Post_tags">Post Template Tags</a></li>
</ul>
<p>Read more: <a href="http://weblogtoolscollection.com/archives/2008/04/13/define-your-own-wordpress-loop-using-wp_query/#ixzz0CpIVsvPU&amp;B">http://weblogtoolscollection.com/archives/2008/04/13/define-your-own-wordpress-loop-using-wp_query/#ixzz0CpIVsvPU&amp;B</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxtime.com/define-your-own-wordpress-loop-using-wp_query.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to write a Wordpress plugin: episode 1 &#8211; getting started</title>
		<link>http://www.ajaxtime.com/how-to-write-a-wordpress-plugin-episode-1-getting-started.html</link>
		<comments>http://www.ajaxtime.com/how-to-write-a-wordpress-plugin-episode-1-getting-started.html#comments</comments>
		<pubDate>Thu, 16 Apr 2009 07:58:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[make plugin]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.ajaxtime.com/?p=84</guid>
		<description><![CDATA[Wordpress plugins are the single best way of integrating new functionality into a Wordpress install. You write the plugin, upload it to your site and activate it. If you grow tired of it, you de-activate it - it really is that simple. ]]></description>
			<content:encoded><![CDATA[<p><strong>Wordpress is amazing, let&#8217;s get that out of the way. While I don&#8217;t use it for this website I do use it for a couple of other things and it&#8217;s just an incredible project &#8211; but what makes it incredible? It&#8217;s the variety and depth of plugins that are available. So I&#8217;m going to be writing a series of tutorials on &#8220;how to make a Wordpress plugin&#8221;. Welcome to episode one.</strong></p>
<p>Wordpress plugins are the single best way of integrating new functionality into a Wordpress install. You write the plugin, upload it to your site and activate it. If you grow tired of it, you de-activate it &#8211; it really is that simple. There are hundreds of great plugins already available but it&#8217;s always handy to know how to write one yourself, so here we go.</p>
<p><strong>Episode 1: Making a very simple plugin and getting it recognised</strong><br />
The first step is to actually create your plugin and get it recognised within Wordpress before trying to include any functionality. So in this episode we&#8217;re going to create a very basic plugin that doesn&#8217;t actually do anything and install it.</p>
<p><strong>#1 &#8211; Headers are important</strong><br />
Wordpress needs quite a strict setup in the head of the PHP file to identify the attributes of your plugin, so I&#8217;ll show you how mine looks:</p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools"><a onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="http://www.seopher.com/articles/how_to_write_a_wordpress_plugin_episode_1__getting_started#">view plain</a><a onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="http://www.seopher.com/articles/how_to_write_a_wordpress_plugin_episode_1__getting_started#">copy to clipboard</a><a onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="http://www.seopher.com/articles/how_to_write_a_wordpress_plugin_episode_1__getting_started#">print</a><a onclick="dp.sh.Toolbar.Command('About',this);return false;" href="http://www.seopher.com/articles/how_to_write_a_wordpress_plugin_episode_1__getting_started#">?</a></div>
</div>
<ol class="dp-c">
<li class="alt"><span><span class="comment">/* </span> </span></li>
<li><span><span class="comment">Plugin Name: Seopher.com Demonstration Plugin </span> </span></li>
<li class="alt"><span><span class="comment">Plugin URI: http://www.seopher.com </span> </span></li>
<li><span><span class="comment">Description: This is just a demonstration plugin to show how you build one </span> </span></li>
<li class="alt"><span><span class="comment">Author: Steven York of Seopher.com </span> </span></li>
<li><span><span class="comment">Version: 0.1 </span> </span></li>
<li class="alt"><span><span class="comment">Author URI: http://www.seopher.com </span> </span></li>
<li><span><span class="comment">*/</span><span>  </span></span></li>
</ol>
</div>
<p><textarea class="php" style="display: none;" cols="80" rows="5" name="code">/* Plugin Name: Seopher.com Demonstration Plugin Plugin URI: http://www.seopher.com Description: This is just a demonstration plugin to show how you build one Author: Steven York of Seopher.com Version: 0.1 Author URI: http://www.seopher.com */ </textarea> &#8220;Plugin Name&#8221;, &#8220;Author&#8221; and &#8220;Description&#8221; are rather self explanatory. &#8220;Plugin URI&#8221; is a direct link to the project page for this plugin, where users can visit for updates, support etc. The version is a number you wish to assign to the release, so version it however you like. &#8220;Author URI&#8221; is your website. In this instance the &#8220;Author URI&#8221; and &#8220;Plugin URI&#8221; are the same because this is only a demonstration plugin rather than a dedicated project.</p>
<p><strong>#2 &#8211; Plugin content</strong><br />
I then wrote a function to initialise the plugin, this is called later to write some content onto the specific plugin configuration page (under &#8220;Options&#8221;, where you see all the other plugin config pages). All this function does at the moment is return some HTML as a token gesture to show that we&#8217;ve actually got something working. The &#8220;wrap&#8221; div is significant because that is a Wordpress wide constant, placing all your content into a suitably styled container.</p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools"><a onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="http://www.seopher.com/articles/how_to_write_a_wordpress_plugin_episode_1__getting_started#">view plain</a><a onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="http://www.seopher.com/articles/how_to_write_a_wordpress_plugin_episode_1__getting_started#">copy to clipboard</a><a onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="http://www.seopher.com/articles/how_to_write_a_wordpress_plugin_episode_1__getting_started#">print</a><a onclick="dp.sh.Toolbar.Command('About',this);return false;" href="http://www.seopher.com/articles/how_to_write_a_wordpress_plugin_episode_1__getting_started#">?</a></div>
</div>
<ol class="dp-c">
<li class="alt"><span><span class="keyword">function</span><span> initDemoPlugin()   </span></span></li>
<li><span>{   </span></li>
<li class="alt"><span>       </span></li>
<li><span>    ?&gt;   </span></li>
<li class="alt"><span>        &lt;div </span><span class="keyword">class</span><span>=</span><span class="string">&#8220;wrap&#8221;</span><span>&gt;   </span></li>
<li><span>            &lt;h2&gt;Seopher.com demonstration plugin&lt;/h2&gt;   </span></li>
<li class="alt"><span>            This is just some sample content to show that we&#8217;ve got control over the content of this page.  Rawr!   </span></li>
<li><span>        &lt;/div&gt;   </span></li>
<li class="alt"><span>    &lt;?php   </span></li>
<li><span>}   </span></li>
</ol>
</div>
<p><textarea class="php" style="display: none;" cols="80" rows="5" name="code">function initDemoPlugin() {      	?&gt;     	&lt;div class=&#8221;wrap&#8221;&gt;         	&lt;h2&gt;Seopher.com demonstration plugin&lt;/h2&gt;             This is just some sample content to show that we&#8217;ve got control over the content of this page.  Rawr!         &lt;/div&gt;     &lt;?php } </textarea></p>
<p><strong>#3 &#8211; Add the plugin to the submenu</strong><br />
This step involves writing a function to add the plugin into the &#8220;Options&#8221; sub-menu so that when it is activated you have somewhere to visit to configure the settings. See the code below:</p>
<div class="dp-highlighter">
<div class="bar">
<div class="tools"><a onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;" href="http://www.seopher.com/articles/how_to_write_a_wordpress_plugin_episode_1__getting_started#">view plain</a><a onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="http://www.seopher.com/articles/how_to_write_a_wordpress_plugin_episode_1__getting_started#">copy to clipboard</a><a onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;" href="http://www.seopher.com/articles/how_to_write_a_wordpress_plugin_episode_1__getting_started#">print</a><a onclick="dp.sh.Toolbar.Command('About',this);return false;" href="http://www.seopher.com/articles/how_to_write_a_wordpress_plugin_episode_1__getting_started#">?</a></div>
</div>
<ol class="dp-c">
<li class="alt"><span><span class="keyword">function</span><span> addPluginToSubmenu()    </span></span></li>
<li><span>{   </span></li>
<li class="alt"><span>    add_submenu_page(</span><span class="string">&#8216;options-general.php&#8217;</span><span>, </span><span class="string">&#8216;Seopher demo plugin page&#8217;</span><span>, </span><span class="string">&#8216;Seopher demo plugin&#8217;</span><span>, 10, </span><span class="keyword">__FILE__</span><span>, </span><span class="string">&#8216;initDemoPlugin&#8217;</span><span>);   </span></li>
<li><span>}   </span></li>
<li class="alt"><span>  </span></li>
<li><span>add_action(</span><span class="string">&#8216;admin_menu&#8217;</span><span>, </span><span class="string">&#8216;addPluginToSubmenu&#8217;</span><span>);   </span></li>
</ol>
</div>
<p><textarea class="php" style="display: none;" cols="80" rows="5" name="code">function addPluginToSubmenu()  {     add_submenu_page(&#8217;options-general.php&#8217;, &#8216;Seopher demo plugin page&#8217;, &#8216;Seopher demo plugin&#8217;, 10, __FILE__, &#8216;initDemoPlugin&#8217;); }  add_action(&#8217;admin_menu&#8217;, &#8216;addPluginToSubmenu&#8217;); </textarea> All we&#8217;re doing is tying into the &#8220;add_submenu_page&#8221; function, where we&#8217;re passing several parameters. Firstly we&#8217;re specifying the parent page (in this case options-general.php) that the sub-menu page will sit under. The second parameter is the page title for the new page (as seen in the browser&#8217;s title bar). The third param is what appears in the sub-menu navigation. The next parameter is the priority of this function which can just be left at 10 for now. The final param is the function that is called to populate the page, in this case it&#8217;s the function we created in step #2.</p>
<p>Finally we use the Wordpress function &#8220;add_action&#8221; to call the function we&#8217;ve just written, simple!</p>
<p><strong>#4 &#8211; Upload the PHP file</strong><br />
So if you compile all the code we&#8217;ve shown so far (or download my version here) into a PHP file, you can then upload it to the Wordpress install. Upload the PHP file to &#8220;/wp-content/plugins/&#8221; and you&#8217;re done.</p>
<p><strong>#5 &#8211; Activate the plugin!</strong><br />
Log into your Wordpress install and visit the &#8220;Plugins&#8221; tab and you should see something similar to the picture below:</p>
<p><img title="wordpress plugin" src="http://www.ajaxtime.com/wp-content/uploads/auto_save_image/2009/04/005858ydd.gif" alt="wordpress plugin" /></p>
<p>That&#8217;s your plugin! Click &#8220;activate&#8221; on the right hand side and it&#8217;s now active!</p>
<p><strong>#6 &#8211; Visit the config</strong><br />
Click &#8220;Options&#8221; and you should see our plugin added to the sub-menu as per the screenshot below:</p>
<p><img title="wordpress plugin" src="http://www.ajaxtime.com/wp-content/uploads/auto_save_image/2009/04/005858LcZ.gif" alt="wordpress plugin" /></p>
<p>Clicking on that takes you to our plugin configuration page. All this page does is output the return of our initDemoPlugin() function that we wrote in #2. So clicking on &#8220;Seopher demo plugin&#8221; takes us to this page:</p>
<p><img title="wordpress plugin" src="http://www.ajaxtime.com/wp-content/uploads/auto_save_image/2009/04/0058591bv.gif" alt="wordpress plugin" /></p>
<p><strong>So there you have it, 6 steps to creating a dummy Wordpress plugin. In episode two I&#8217;ll start going through how we start integrating functionality into the plugin and we can start making something useful. I hope this was useful, check back soon for updates.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxtime.com/how-to-write-a-wordpress-plugin-episode-1-getting-started.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wordpress Plugins top 50</title>
		<link>http://www.ajaxtime.com/wordpress-plugins-top-50.html</link>
		<comments>http://www.ajaxtime.com/wordpress-plugins-top-50.html#comments</comments>
		<pubDate>Wed, 15 Apr 2009 08:37:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WP Plugin]]></category>

		<guid isPermaLink="false">http://www.ajaxtime.com/?p=34</guid>
		<description><![CDATA[There’s a lot more to blogging than just writing compelling text. Pictures, video, and audio make your blog more exciting for readers while giving you more ways to express yourself.]]></description>
			<content:encoded><![CDATA[<p>There’s a lot more to blogging than just writing compelling text. Pictures, video, and audio make your blog more exciting for readers while giving you more ways to express yourself. There are hundreds of plugins available for adding multimedia to your blog and here we take a look at more than 50 of our favorites.</p>
<p><strong></strong></p>
<h2>Image Management Tools</h2>
<p> </p>
<p><a rel="nofollow" href="http://www.animalbeach.net/aniga/">Aniga Gallery</a> – Allows you to create picture galleries that use the WordPress comment system.</p>
<p><a rel="nofollow" href="http://mogrify.homelinux.org/batch-image/">Batch Image Uploader</a> – Upload and resize multiple images to your blog at once.</p>
<p><a rel="nofollow" href="http://blog.perfectspace.com/2006/03/28/duh-gallery-the-simple-wordpress-photo-gallery-plugin/">Duh Gallery</a> – Simply creates a photo gallery from your uploads folder in WordPress.</p>
<p><a rel="nofollow" href="http://www.soderlind.no/archives/2006/01/03/imagemanager-20/">ImageManager </a>– Includes interface for browsing and uploading images and basic tools such as cropping and rotating.</p>
<p><a rel="nofollow" href="http://www.farmdawgnation.com/projects/wpig">WP Image Gallery</a> – Create photo galleries from within WordPress and display them in posts.</p>
<p><a rel="nofollow" href="http://www.fahlstad.se/wp-plugins/fmoblog/">fMoblog</a> – Post pictures with descriptions from a mobile phone.</p>
<p><a rel="nofollow" href="http://www.yellowswordfish.com/my-wordpress-plugin-library/popup-image-gallery-plugin">Pop-up Image Gallery </a>– Photo gallery plugin with various options for transitions</p>
<p><a rel="nofollow" href="http://www.lab4games.net/zz85/blog/wordpress-plugins/photozip-plugin-for-wordpress/">PhotoZip</a> – For quickly uploading photos; allows you to simply upload a .zip file to create an image gallery.</p>
<p><a rel="nofollow" href="http://www.curioso.org/2005/12/09/pictpress-10/">PictPress</a> – Automatically generates a picture post from a directory on your server. Resizes pictures on the fly.</p>
<p><strong></strong></p>
<h2>Importing Images from Other Services</h2>
<p> </p>
<p><a rel="nofollow" href="http://www.lukeh.com/?p=141">Another Flickr </a>– Allows your readers to browse thumbnails from your Flickr albums and go directly to full size images.</p>
<p><a rel="nofollow" href="http://davidcrow.ca/article/788/bubbleshare-wordpress-plugin">BubbleShare</a> – Display photo galleries from your BubbleShare account.</p>
<p><a rel="nofollow" href="http://tantannoodles.com/toolkit/facebook-photos/">Facebook Photos</a> – Shows thumbnails of photos from your linked Facebook account.</p>
<p><a rel="nofollow" href="http://tantannoodles.com/toolkit/photo-album/">Flickr Photo Album </a>– Pulls in your Flickr photo sets and displays them as albums in WordPress.</p>
<p><a rel="nofollow" href="http://eightface.com/wordpress/flickrrss/">FlickrRSS</a> – Displays most recent images from any RSS feed from Flickr such as a user, group, or tags page.</p>
<p><a rel="nofollow" href="http://www.aaronharp.com/dev/wp-fotobook/">Fotobook</a> – Import your Facebook photo albums into a WordPress page.</p>
<p><a rel="nofollow" href="http://www.arnebrachhold.de/projects/wordpress-plugins/imageshack-uploader/">ImageShack Uploader</a> – Upload an image to ImageShack’s free storage service and insert a thumbnail into your posts.</p>
<p><a rel="nofollow" href="http://www.stimuli.ca/slickr/">Slickr Gallery</a> – AJAX photo gallery that pulls in images and photosets from Flickr.</p>
<p><a rel="nofollow" href="http://www.guiyanggal.com/smugmug-gallery-plugin-for-wordpress/en/">Smugmug Gallery Bar</a> – Insert photos from your Smugmug account into blog posts.</p>
<p><strong></strong></p>
<h2>Image Display Effects &amp; Hacks</h2>
<p> </p>
<p><a rel="nofollow" href="http://www.yellowswordfish.com/my-wordpress-plugin-library/enlarger-wordpress-plugin">Enlarger</a> – Displays a thumbnail but loads the bigger image in the background so when clicked the full size version loads instantly.</p>
<p><a rel="nofollow" href="http://fredfred.net/skriker/index.php/iimage-panorama">IImage Panorama</a> – Helps you create a 360 degree panorama picture to add to your blog.</p>
<p><a rel="nofollow" href="http://www.coldforged.org/image-headlines-plugin-for-wordpress-15/">Image Headlines</a> – Create cool text images for the titles of your posts.</p>
<p><a rel="nofollow" href="http://www.4mj.it/lightbox-js-v20-wordpress/">Lightbox 2</a> – Generates thumbnails that when clicked load in a lightbox.</p>
<p><a rel="nofollow" href="http://www.khertz.net/multi-topic-icon/">Multi-Topic Icon</a>: Shows images that represent each of the categories assigned to a blog post.</p>
<p><a rel="nofollow" href="http://justinsomnia.org/2005/09/random-image-plugin-for-wordpress/">Random Image</a> – Pulls a random image you have places on your blog and links back to the post it came from.</p>
<p><a rel="nofollow" href="http://vril.vn.ua/vrils-Transparent-PNG-fix-WordPress-plugin.html">Transparent PNG Fix </a>– Make sure your PNG files don’t look nasty.</p>
<p><a rel="nofollow" href="http://www.siuyee.com/projects/wp-wetfloor/">WP Wetfloor</a> – Create the ever-popular reflection effect for the images on your blog.</p>
<p><strong></strong></p>
<h2>Playing Music</h2>
<p> </p>
<p><a rel="nofollow" href="http://blog.taragana.com/index.php/archive/taraganas-delicious-mp3-player-wordpress-plugin/">Del.icio.us MP3 Player</a> – Makes links to MP3s in your posts playable and easily postable to del.icio.us.</p>
<p><a rel="nofollow" href="http://www.1pixelout.net/code/audio-player-wordpress-plugin/">Audio Player</a> – Inserts a simple MP3 player into your posts that plays uploaded audio files.</p>
<p><a rel="nofollow" href="http://www.boriel.com/?page_id=12">XSFP Player</a> – Flash player that allows you to embed music on your blog via http.</p>
<p><strong></strong></p>
<h2>What Am I Listening To?</h2>
<p> </p>
<p><a rel="nofollow" href="http://delicategeniusblog.com/?page_id=105/">DG PlayingNow Updater</a> – Displays the song you are currently listening to on iTunes, MSN Messenger, or J. River Media Center.</p>
<p><a rel="nofollow" href="http://fleshy.org.nz/yum/ez-scrobbler/">EZ-Scrobbler</a> – Displays your most recently listened to tracks on last.fm.</p>
<p><a rel="nofollow" href="http://itunesspy.crea-doo.at/">iTunes Spy</a> – Displays your most recently listened to tracks on iTunes.</p>
<p><a rel="nofollow" href="http://www.weinschenker.name/pandorafeeds">Pandora Feeds</a> – Displays data from Pandora feeds, for example, a list of your stations, bookmarked songs, and bookmarked artists.</p>
<p><a rel="nofollow" href="http://cinnamonthoughts.org/wordpress/onairnow/">onAirNow</a> – Now playing plugin that displays most recent song from iTunes or WinAmp.</p>
<p><strong></strong></p>
<h2>Podcasting Tools</h2>
<p> </p>
<p><a rel="nofollow" href="http://patrick.bloggles.info/2006/09/30/odeo-plugin/">Odeo</a> – Embed a podcast you’ve recorded on Odeo.</p>
<p><a rel="nofollow" href="http://podcastacademy.com/2007/02/28/podcast-release-wordpress-plugin/">Podcast Release</a> – A “release” form for guests of your podcast, accepting your terms.</p>
<p><a rel="nofollow" href="http://www.mightyseek.com/podpress/">PodPress</a> – Full featured plugin for podcasters including feed generation, iTunes preview, and download stats.</p>
<p><a rel="nofollow" href="http://garrickvanburen.com/wordpress-plugins/wpipodcatter">iPodCatter</a> – Helps podcasters created a valid feed for the podcast directory on iTunes.</p>
<p><strong></strong></p>
<h2>Miscellaneous Audio Tools</h2>
<p> </p>
<p><a rel="nofollow" href="http://evoca.com/plugins/wordpress/">Evoca Browser Mic</a> – Allow your blog readers to send you voice comments which you can later post to your blog.</p>
<p><a rel="nofollow" href="http://blog.odiogo.com/index.php/2007/05/12/wordpress-odiogo-listenbutton-plug-in-instructions/">Odiogo</a> – Converts your text to speech and provides a link for your readers to listen to your posts.</p>
<p><strong></strong></p>
<h2>Video Tools</h2>
<p> </p>
<p><a rel="nofollow" href="http://an-archos.com/anarchy-media-player/">Anarchy Media Player</a> – Plays a wide variety of audio/video file formats in the appropriate player on your blog.</p>
<p><a rel="nofollow" href="http://macdiggs.com/index.php/2006/09/13/easy-inline-swf-10-plugin-for-wordpress/">Easy Inline SWF</a> &#8211; Allows you to insert Flash files in .swf format into your posts without any weird tags.</p>
<p><a rel="nofollow" href="http://www.seetheface.com/plugins/wordpress/">SeeTheFace</a> – Complete tool for recording video and posting to your blog.</p>
<p><a rel="nofollow" href="http://www.rossgerbasi.com/2006/01/21/extreme-video-plugin-20/">Extreme Video</a> – Plays any .flv file on your blog with support for YouTube, Google Video, Quicktime, and more.</p>
<p><a rel="nofollow" href="http://blog.slaven.net.au/wordpress-plugins/noembedder-wordpress-plugin/">Noembedder </a>– Automatically adds a noembed section to any embedded content that does not already have one.</p>
<p><a rel="nofollow" href="http://www.robertbuzink.nl/journal/2006/11/23/youtube-brackets-wordpress-plugin/">YouTube Brackets</a> – Allows you to simply enter a URL for a YouTube video versus copying and pasting embed code.</p>
<p><a rel="nofollow" href="http://alexrabe.boelinger.com/?page_id=20">wordTube</a> – Video player that includes the ability to program a menu of videos.</p>
<p><a rel="nofollow" href="http://www.tubepress.org/">TubePress</a> – Display YouTube galleries as blog posts or a sidebar item.</p>
<p><a rel="nofollow" href="http://www.xyooj.com/blog/plink/technical/27/wordpress-youtube-video-gallery-plugin/">YouTube Video Gallery</a> – Displays thumbnails for any gallery from YouTube.</p>
<p><a rel="nofollow" href="http://utilities.cinegage.com/videos-playing-in-place/">vPIP</a> – vPIP stands for “Videos Playing In Place,” meaning it will only embed after a specified image or link is clicked by the user.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxtime.com/wordpress-plugins-top-50.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Widget &#8211; example WordPress widget</title>
		<link>http://www.ajaxtime.com/my-widget-example-wordpress-widget.html</link>
		<comments>http://www.ajaxtime.com/my-widget-example-wordpress-widget.html#comments</comments>
		<pubDate>Wed, 15 Apr 2009 08:19:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.ajaxtime.com/?p=28</guid>
		<description><![CDATA[There’s a funky new WordPress plugin, WordPress Widgets, driving a fair percentage of the WP community to both ends of the enthusiasm spectrum. But love it or hate it, it’s here to stay, and you can pretty much expect to see it end up in the WordPress core in a not to distant future version.

]]></description>
			<content:encoded><![CDATA[<p>There’s a funky new WordPress plugin, WordPress Widgets, driving a fair percentage of the WP community to both ends of the enthusiasm spectrum. But love it or hate it, it’s here to stay, and you can pretty much expect to see it end up in the WordPress core in a not to distant future version.</p>
<p>With the appetizer out of the way, let me get to the meat of the post: a thread on the WordPress support forums lead me to the decision the example dev material provided is a bit weak, especially for the neophyte plugin writer. So in the interest of avoiding dozens of similar yelps for guidance over the months to come, I tore through the widgets that tag along with WordPress Widgets (the Google and del.icio.us ones) and after an hour had merged, molded and abused them into an example widget (with lots of explanatory comments!). And now I’m passing that work along to anyone who wants it.</p>
<p>The widget can be considered useful, to boot.</p>
<p>To install, download my-widget.php from here, upload that to your wp-content/plugins/ directory, and activate My Widget under plugins. It’s one of those <em>you should already know this</em> bits of wisdom, but you also need to have WordPress Widgets installed and activated as well, otherwise My Widget is little more than a piece of chocolate cake served up to a coma victim.</p>
<p>If you just want to use the My Widget widget, here’s what it does: when you add it on your sidebar by default it displays “My Widget” for the header (or title) and “Hello World!” for the text. Thankfully these can be edited through the widget’s control.</p>
<div class="image"><img id="image1188" class="aligncenter" src="http://www.ajaxtime.com/wp-content/uploads/my-widget_control.png" alt="My Widget control" width="252" height="36" /></div>
<p>The little red arrow in the image above points at the control button on the widget bar. Click it and the following pops up:</p>
<div class="image"><img id="image1189" class="aligncenter" src="http://www.ajaxtime.com/wp-content/uploads/my-widget_options.png" alt="My Widget options" width="361" height="241" /></div>
<p>Just add your own personal title and text, then close the My Widget dialog box and click Save Changes to, well, save the changes. Feel free to use it to display a welcome message or a note about yourself. I’m sure you can think of something to do with it.</p>
<p>So you see you <em>can</em> put it to use, but it’s main purpose is to provide a learning tool or framework for building your own widget. For that reason I’ve sprinkled comments liberally throughout the source code. However if anything is not clear, or if you have suggestions for making My Widget more useful, let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxtime.com/my-widget-example-wordpress-widget.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To know wordpress</title>
		<link>http://www.ajaxtime.com/about-wordpress.html</link>
		<comments>http://www.ajaxtime.com/about-wordpress.html#comments</comments>
		<pubDate>Tue, 14 Apr 2009 15:25:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.ajaxtime.com/?p=11</guid>
		<description><![CDATA[On this site you can download and install a software script called WordPress. To do this you need a web host who meets the minimum requirements and a little time. WordPress is completely customizable and can be used for almost anything.]]></description>
			<content:encoded><![CDATA[<p>WordPress started in 2003 with a single bit of code to enhance the typography of everyday writing and with fewer users than you can count on your fingers and toes. Since then it has grown to be the largest self-hosted blogging tool in the world, used on hundreds of thousands of sites and seen by tens of millions of people every day.</p>
<p>Everything you see here, from the documentation to the code itself, was created by and for the community. WordPress is an Open Source project, which means there are hundreds of people all over the world working on it. (More than most commercial platforms.) It also means you are free to use it for anything from your cat’s home page to a Fortune 5 web site without paying anyone a license fee.</p>
<p>About WordPress.org<br />
On this site you can download and install a software script called WordPress. To do this you need a web host who meets the minimum requirements and a little time. WordPress is completely customizable and can be used for almost anything. There is also a service called WordPress.com which lets you get started with a new and free WordPress-based blog in seconds, but varies in several ways and is less flexible than the WordPress you download and install yourself.</p>
<p>A Little History<br />
WordPress was born out of a desire for an elegant, well-architectured personal publishing system built on PHP and MySQL and licensed under the GPL. It is the official successor of b2/cafelog. WordPress is fresh software, but its roots and development go back to 2001. It is a mature and stable product. We hope by focusing on user experience and web standards we can create a tool different from anything else out there.</p>
<p>2005 was a very exciting year for WordPress, as it saw the release of our 1.5 version (introduced themes) which was downloaded over 900,000 times, the start of hosted service WordPress.com to expand WP&#8217;s reach, the founding of Automattic by several core members of the WP team, and finally the release of version 2.0.</p>
<p>After 1.5 we seemed to have something people really liked and we&#8217;ve experienced some fairly rapid growth. Here are some metrics for 2006 and 2007.</p>
<p>In 2006 we had 1,545,703 downloads, in 2007 we had 3,816,965!</p>
<p>As for plugins we had 191,567 downloads of 371 unique plugins in 2006. In 2007 there were 2,845,884 downloads (15x growth) of 1,384 plugins.</p>
<p>2006 saw the introduction of the first WordCamp in San Francisco.</p>
<p>In 2007 we adopted a regular release schedule, putting out major feature releases roughly every 3-4 months, or three times a year.</p>
<p>Because of the number of improvements in version 2.5 we took an extra 3 months on it, but 2008 looks on track to do three major releases again. It will be a very exciting year.</p>
<p>There are now dozens of WordCamps around the world, from Vancouver to Dallas to Milan, Italy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxtime.com/about-wordpress.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to ajaxtime.com ！</title>
		<link>http://www.ajaxtime.com/welcome-to-ajaxtimecom.html</link>
		<comments>http://www.ajaxtime.com/welcome-to-ajaxtimecom.html#comments</comments>
		<pubDate>Thu, 09 Apr 2009 08:57:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.ajaxtime.com/?p=1</guid>
		<description><![CDATA[Welcome to ajaxtime.com. This is my first website For the exchange of network technology. In it i will provide free technical informations, templates and modules. Progress day by day.
]]></description>
			<content:encoded><![CDATA[<p>Welcome to ajaxtime.com. This is my first website For the exchange of network technology. In it i will provide free technical informations, templates and modules. Progress day by day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxtime.com/welcome-to-ajaxtimecom.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
