<?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>Frank Verhoeven &#187; WordPress</title>
	<atom:link href="http://www.frank-verhoeven.com/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.frank-verhoeven.com</link>
	<description>Webdevelopment Blog</description>
	<lastBuildDate>Sat, 08 Oct 2011 21:51:59 +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>Community News &#8211; Custom Templates</title>
		<link>http://www.frank-verhoeven.com/community-news-custom-templates/</link>
		<comments>http://www.frank-verhoeven.com/community-news-custom-templates/#comments</comments>
		<pubDate>Sat, 21 May 2011 15:54:45 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[FV Community News]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.frank-verhoeven.com/?p=469</guid>
		<description><![CDATA[With the latest version of the Community News plugin, customizing the templates had been brought to a whole new level. It is true that you are not able to simple edit the looks in your WP-Admin anymore, but instead there are simple PHP templates included with the plugin that you can easily modify. Preparation Before [...]]]></description>
			<content:encoded><![CDATA[<p>With the latest version of the <a href="http://www.frank-verhoeven.com/wordpress-plugin-fv-community-news/">Community News plugin</a>, customizing the templates had been brought to a whole new level.<br />
It is true that you are not able to simple edit the looks in your WP-Admin anymore, but instead there are simple PHP templates included with the plugin that you can easily modify.<br />
<span id="more-469"></span></p>
<h3>Preparation</h3>
<p>Before it is possible to start creating your own, custom, templates; a few things have to be done. This is necessary in order to keep your modifications while updating to a later version of the plugin.<br />
Don&#8217;t worry, these steps are nothing more then copying, pasting and renaming a directory.</p>
<p><strong>Preparation Steps</strong></p>
<ol>
<li>First go to the plugin directory, usually /wp-content/plugins/fv-community-news/.</li>
<li>Copy the <em>Template</em> directory.</li>
<li>Go to your themes directory, usually /wp-content/themes/.</li>
<li>Paste the <em>Template</em> directory here, and rename it to <em>fvcn</em></li>
<li>You can start editing the template files, located in the <em>fvcn</em> directory, now.</li>
</ol>
<h3>Template Files</h3>
<p>Located in the directory you just created, there are a few PHP files. These are the template files you can modify. A brief description of each file will follow below:</p>
<p><strong>form-widget.php</strong><br />
Displays the form in a widget.</p>
<p><strong>form.php</strong><br />
Displays the form.</p>
<p><strong>list-posts-widget.php</strong><br />
Displays the most recent posts in a widget.</p>
<p><strong>list-posts.php</strong><br />
Displays the most recent posts.</p>
<p><strong>posts-archive.php</strong><br />
Displays a complete archive of all the posts ever submitted.</p>
<p>So if, for example, you would like to change the looks of the recent posts in your sidebar widget; you will have to modify list-posts-widget.php.</p>
<h3>Template Functions</h3>
<p>With version 2.0 and up, the plugin has build-in template tags, very similar to the WordPress ones you use in your themes. You can use these functions to customize the default templates.</p>
<p><strong>Post Functions</strong><br />
These functions can be used to render anything related to a submitted post.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
</pre>
<pre><span class="php">fvcn_has_posts<span class="php-brackets">(</span><span class="php-var">$args</span><span class="php-brackets">)</span>

fvcn_posts<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_the_post<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_id<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_id<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_author<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_author<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_author_email<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_author_email<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_status<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_status<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_author_ip<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_author_ip<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_title<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_title<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_content<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_content<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_excerpt<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_excerpt<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_url<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_has_post_url<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_url<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_link<span class="php-brackets">(</span><span class="php-var">$text</span><span class="php-brackets">)</span>

fvcn_post_link<span class="php-brackets">(</span><span class="php-var">$text</span><span class="php-brackets">)</span>

fvcn_get_post_title_link<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_date<span class="php-brackets">(</span><span class="php-var">$format</span><span class="php-brackets">)</span>

fvcn_post_date<span class="php-brackets">(</span><span class="php-var">$format</span><span class="php-brackets">)</span>

fvcn_get_post_views<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_views<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_approved<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_approved<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_approve_link<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_approve_link<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_unapprove_link<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_unapprove_link<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_edit_link<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_edit_link<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_spam_link<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_spam_link<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_unspam_link<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_unspam_link<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_post_delete_link<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_delete_link<span class="php-brackets">(</span><span class="php-brackets">)</span></span></pre>
</div>
<p><strong>Form Functions</strong><br />
Use these functions to create the submission form.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
</pre>
<pre><span class="php">fvcn_get_form<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_form<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_get_form_message<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_form_message<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_form_processed<span class="php-brackets">(</span><span class="php-brackets">)</span></span></pre>
</div>
<p><strong>Render Functions</strong><br />
These functions render a complete section.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
</pre>
<pre><span class="php">fvcn_list_posts<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_post_archives<span class="php-brackets">(</span><span class="php-brackets">)</span></span></pre>
</div>
<p><strong>Various Functions</strong><br />
Other functions.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
</pre>
<pre><span class="php">fvcn_get_rss_url<span class="php-brackets">(</span><span class="php-brackets">)</span>

fvcn_rss_url<span class="php-brackets">(</span><span class="php-brackets">)</span></span></pre>
</div>
<p>More information on these functions will soon be available.<br />
All these functions are located in the file fv-community-news/Includes/TemplateFunctions.php. You can view this file for more information on these functions as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.frank-verhoeven.com/community-news-custom-templates/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>New JavaScript Used</title>
		<link>http://www.frank-verhoeven.com/new-javascript-used/</link>
		<comments>http://www.frank-verhoeven.com/new-javascript-used/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 15:40:07 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[Community News]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.frank-verhoeven.com/?p=339</guid>
		<description><![CDATA[Hey everyone. After adding version 1.3, I received a few notifications about the javascript. It gave errors, wasn&#8217;t compatible with most plugins and/or themes and just sucked My decision was to update the complete javascript used with version 2.0, since that one is going to have a complete makeover. However, more and more emails came, [...]]]></description>
			<content:encoded><![CDATA[<p>Hey everyone.</p>
<p>After adding version 1.3, I received a few notifications about the javascript. It gave errors, wasn&#8217;t compatible with most plugins and/or themes and just sucked <img src='http://www.frank-verhoeven.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>My decision was to update the complete javascript used with version 2.0, since that one is going to have a complete makeover. However, more and more emails came, telling about the JavaScript. The problem seems to be worse then I was thinking, so an early patch for the javascript is already available.<br />
<span id="more-339"></span><br />
I removed the Prototype framework for compatibility, since most themes and plugins are using jQuery. Now the Community News plugin does too. It uses the jQuery lib that comes with WordPress itself. I hope this will improve the compatibility. Also errors which occurred in the old javascript are fixed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.frank-verhoeven.com/new-javascript-used/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fv Community News Version 1.3</title>
		<link>http://www.frank-verhoeven.com/fv-community-news-version-13/</link>
		<comments>http://www.frank-verhoeven.com/fv-community-news-version-13/#comments</comments>
		<pubDate>Sun, 28 Dec 2008 13:54:56 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[Community News]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.frank-verhoeven.com/?p=330</guid>
		<description><![CDATA[After more then 1000 downloads, and a few weeks since the last update, it is time for the next level of this plugin. Improved Akismet, Translatable, and more. Template Tags A lot of people were asking for it, template tags for use in posts/pages. Well, here they are: 1 2 3 &#60;!--fvCommunityNews:Form--&#62; &#60;!--fvCommunityNews:Submissions--&#62; The first [...]]]></description>
			<content:encoded><![CDATA[<p>After more then 1000 downloads, and a few weeks since the last update, it is time for the next level of this plugin. Improved Akismet, Translatable, and more.</p>
<h3>Template Tags</h3>
<p>A lot of people were asking for it, template tags for use in posts/pages. Well, here they are:</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
</pre>
<pre><span class="html"><span class="html-comment">&lt;!--fvCommunityNews:Form--&gt;</span>
<span class="html-comment">&lt;!--fvCommunityNews:Submissions--&gt;</span></span></pre>
</div>
<p>The first one will display the form, just as the widget does, but then within a page or post. The next one will display a list of submissions, as defined in the admin panel (under: Settings &#8211; Template). You can simply put these tags in your post or page, and thats all.<br />
<span id="more-330"></span></p>
<h3>Uninstall Feature</h3>
<p>While I was thinking what this plugin needs, I decided that it should have an uninstall function. Before, you could only deactivate the plugin through the wp-admin panel under plugins, but when that was done, all the data/settings still remain in your database and on your server. With this new Uninstall function you can remove all settings, and/or all data before you deactivate the plugin and remove all the plugin files.</p>
<h3>Translatable</h3>
<p>Before version 1.3, all text displayed on the screen, produced by this plugin was static data, you couldn&#8217;t change it. From now on the plugin uses the WordPress functions for displaying text, wich makes it possible for you to translate it and run the plugin in your own language. There are no languages included yet, but don&#8217;t hesitate to <a href="http://www.frank-verhoeven.com/contact/">submit your own translation</a>. I will include it in the plugin and would be very thankfull.</p>
<h3>Custom Response Messages</h3>
<p>Didn&#8217;t like the standard responses? You are now able to customize them so they fit for you. Go to Settings &#8211; Appearance, and modify all possible responses. Also a simple stylesheet is included to give the form a little style.</p>
<h3>Improved Akismet</h3>
<p>As of the previous (1.2 series) version, I included an Akismet class to fight spam. Unfortunately, this class was causing some serious problems at random servers. Because of this I searched for another solution, and found the <a href="http://freshmeat.net/projects/microakismet/">MicroAkismet</a> functions. These do work on blogs where the old class failed. I want to thank my friend <a href="http://www.alltuts.com/">Ivan</a>, who made his blog availible for some tests.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.frank-verhoeven.com/fv-community-news-version-13/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Create an RSS Feed with WordPress</title>
		<link>http://www.frank-verhoeven.com/create-an-rss-feed-with-wordpress/</link>
		<comments>http://www.frank-verhoeven.com/create-an-rss-feed-with-wordpress/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 16:41:00 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.frank-verhoeven.com/?p=238</guid>
		<description><![CDATA[When you are busy creating a wonderful plugin for your WordPress blog, it might be possible that you need to create a RSS feed. For example, when creating a guestbook people could ask for a RSS feed to view the recent added posts and stay updated, or take a look at my own Community News [...]]]></description>
			<content:encoded><![CDATA[<p>When you are busy creating a wonderful plugin for your WordPress blog, it might be possible that you need to create a RSS feed. For example, when creating a guestbook people could ask for a RSS feed to view the recent added posts and stay updated, or take a look at my own <a href="http://www.frank-verhoeven.com/wordpress-plugin-fv-community-news/">Community News Plugin</a>, isn&#8217;t it great if it had a build-in RSS feed as well?</p>
<p>Well don&#8217;t worry I am busy to create that and it is almost finished. In the mean while, I wanted to share some stuff I learned while creating this RSS feed.</p>
<h3>The Beginning</h3>
<p>The first thing we need is a function that actually creates the RSS feed. This function doesn&#8217;t need any parameters and it also shouldn&#8217;t return anything.<br />
<span id="more-238"></span></p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
</pre>
<pre><span class="php"><span class="php-script-tag">&lt;?php</span>
<span class="php-function">function</span> myGreatPluginRSSFeed<span class="php-brackets">(</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
    <span class="php-comment">// Function content goes here.
</span>
<span class="php-brackets">}</span>
<span class="php-script-tag">?&gt;<span class="html"></span></span></span></pre>
</div>
<p>This function must create the whole feed form the beginning to the end. So, you also have to include the xml/rss header. I ripped something from the default WordPress feed that should work for any blog.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">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
31
32
33
34
35
36
37
38
39
</pre>
<pre><span class="php"><span class="php-operator">&lt;</span>rss version<span class="php-operator">=</span><span class="php-string">&quot;2.0&quot;</span>
	xmlns<span class="php-operator">:</span>content<span class="php-operator">=</span><span class="php-string">&quot;http://purl.org/rss/1.0/modules/content/&quot;</span>
	xmlns<span class="php-operator">:</span>dc<span class="php-operator">=</span><span class="php-string">&quot;http://purl.org/dc/elements/1.1/&quot;</span>
	xmlns<span class="php-operator">:</span>atom<span class="php-operator">=</span><span class="php-string">&quot;http://www.w3.org/2005/Atom&quot;</span>
	xmlns<span class="php-operator">:</span>sy<span class="php-operator">=</span><span class="php-string">&quot;http://purl.org/rss/1.0/modules/syndication/&quot;</span><span class="php-operator">&gt;</span>

	<span class="php-operator">&lt;</span>channel<span class="php-operator">&gt;</span>
		<span class="php-operator">&lt;</span>title<span class="php-operator">&gt;</span><span class="php-script-tag">&lt;?php</span> bloginfo_rss<span class="php-brackets">(</span><span class="php-string">'name'</span><span class="php-brackets">)</span>; wp_title_rss<span class="php-brackets">(</span><span class="php-brackets">)</span>; <span class="php-script-tag">?&gt;<span class="html"><span class="html-other-element">&lt;/title&gt;</span>
		<span class="html-other-element">&lt;link&gt;</span></span>&lt;?php</span> bloginfo_rss<span class="php-brackets">(</span><span class="php-string">'url'</span><span class="php-brackets">)</span> <span class="php-script-tag">?&gt;<span class="html"><span class="html-other-element">&lt;/link&gt;</span>
		<span class="html-anchor-element">&lt;atom:link href=<span class="html-attribute">&quot;</span></span></span>&lt;?php</span> self_link<span class="php-brackets">(</span><span class="php-brackets">)</span>; <span class="php-script-tag">?&gt;<span class="html">&quot; rel=&quot;self&quot; type=&quot;application/rss+xml&quot; /&gt;
		<span class="html-other-element">&lt;description&gt;</span></span>&lt;?php</span> bloginfo_rss<span class="php-brackets">(</span><span class="php-string">&quot;description&quot;</span><span class="php-brackets">)</span> <span class="php-script-tag">?&gt;<span class="html"><span class="html-other-element">&lt;/description&gt;</span>
		<span class="html-other-element">&lt;language&gt;</span></span>&lt;?php</span> <span class="php-keyword">echo</span> get_option<span class="php-brackets">(</span><span class="php-string">'rss_language'</span><span class="php-brackets">)</span>; <span class="php-script-tag">?&gt;<span class="html"><span class="html-other-element">&lt;/language&gt;</span>
		<span class="html-other-element">&lt;sy:updatePeriod&gt;</span></span>&lt;?php</span> <span class="php-keyword">echo</span> apply_filters<span class="php-brackets">(</span> <span class="php-string">'rss_update_period'</span>, <span class="php-string">'hourly'</span> <span class="php-brackets">)</span>; <span class="php-script-tag">?&gt;<span class="html"><span class="html-other-element">&lt;/sy:updatePeriod&gt;</span>
		<span class="html-other-element">&lt;sy:updateFrequency&gt;</span></span>&lt;?php</span> <span class="php-keyword">echo</span> apply_filters<span class="php-brackets">(</span> <span class="php-string">'rss_update_frequency'</span>, <span class="php-string">'1'</span> <span class="php-brackets">)</span>; <span class="php-script-tag">?&gt;<span class="html"><span class="html-other-element">&lt;/sy:updateFrequency&gt;</span>

		<span class="html-other-element">&lt;item&gt;</span>
		<span class="html-other-element">&lt;/item&gt;</span>

	<span class="html-other-element">&lt;/channel&gt;</span>
<span class="html-other-element">&lt;/rss&gt;</span></span></span></span></pre>
</div>
<p>Now, you could see the &lt;item&gt; and &lt;/item&gt; tags, that is where we are going to add our feed items. From this moment I assume that all our RSS data is located in an array like this one.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">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
31
32
33
34
35
</pre>
<pre><span class="php"><span class="php-var">$rssItems</span> <span class="php-operator">=</span> <span class="php-keyword">array</span><span class="php-brackets">(</span>
	<span class="php-string">'item_1'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-keyword">array</span><span class="php-brackets">(</span>
		<span class="php-string">'Title'</span>,
		<span class="php-string">'Link'</span>,
		<span class="php-string">'Author'</span>,
		<span class="php-string">'Date'</span>,
		<span class="php-string">'Description'</span>,
		<span class="php-string">'Content'</span>
		<span class="php-brackets">)</span>,
	<span class="php-string">'item_2'</span><span class="php-operator">=</span><span class="php-operator">&gt;</span><span class="php-keyword">array</span><span class="php-brackets">(</span>
		<span class="php-string">'Title'</span>,
		<span class="php-string">'Link'</span>,
		<span class="php-string">'Author'</span>,
		<span class="php-string">'Date'</span>,
		<span class="php-string">'Description'</span>,
		<span class="php-string">'Content'</span>
		<span class="php-brackets">)</span>
	<span class="php-brackets">)</span>;</span></pre>
</div>
<p>And so on. For adding the items to our feed, we simply use a foreach loop.</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre>
<pre><span class="php"><span class="php-keyword">foreach</span> <span class="php-brackets">(</span><span class="php-var">$rssItems</span> <span class="php-keyword">as</span> <span class="php-var">$item</span><span class="php-brackets">)</span> <span class="php-brackets">{</span>
	<span class="php-keyword">echo</span> <span class="php-string">'&lt;item&gt;'</span>;
	<span class="php-keyword">echo</span> <span class="php-string">'&lt;title&gt;'</span> <span class="php-operator">.</span> <span class="php-var">$item</span><span class="php-brackets">[</span><span class="php-string">'Title'</span><span class="php-brackets">]</span> <span class="php-operator">.</span> <span class="php-string">'&lt;/title&gt;'</span>;
	<span class="php-keyword">echo</span> <span class="php-string">'&lt;link&gt;'</span> <span class="php-operator">.</span> <span class="php-var">$item</span><span class="php-brackets">[</span><span class="php-string">'Link'</span><span class="php-brackets">]</span> <span class="php-operator">.</span> <span class="php-string">'&lt;/link&gt;'</span>;
	<span class="php-keyword">echo</span> <span class="php-string">'&lt;dc:creator&gt;'</span> <span class="php-operator">.</span> <span class="php-var">$item</span><span class="php-brackets">[</span><span class="php-string">'Author'</span><span class="php-brackets">]</span> <span class="php-operator">.</span> <span class="php-string">'&lt;/dc:creator&gt;'</span>;
	<span class="php-keyword">echo</span> <span class="php-string">'&lt;pubDate&gt;'</span> <span class="php-operator">.</span> mysql<span class="php-number">2</span>date<span class="php-brackets">(</span><span class="php-string">'D, d M Y H:i:s +0000'</span>, <span class="php-var">$item</span><span class="php-brackets">[</span><span class="php-string">'Date'</span><span class="php-brackets">]</span><span class="php-brackets">)</span> <span class="php-operator">.</span> <span class="php-string">'&lt;/pubDate&gt;'</span>;
	<span class="php-keyword">echo</span> <span class="php-string">'&lt;description&gt;'</span> <span class="php-operator">.</span> <span class="php-var">$item</span><span class="php-brackets">[</span><span class="php-string">'Description'</span><span class="php-brackets">]</span> <span class="php-operator">.</span> <span class="php-string">'&lt;/description&gt;'</span>;
	<span class="php-keyword">echo</span> <span class="php-string">'&lt;content:encoded&gt;&lt;![CDATA['</span> <span class="php-operator">.</span> <span class="php-var">$item</span><span class="php-brackets">[</span><span class="php-string">'Content'</span><span class="php-brackets">]</span> <span class="php-operator">.</span> <span class="php-string">']]&gt;&lt;/content:encoded&gt;'</span>;
	<span class="php-keyword">echo</span> <span class="php-string">'&lt;/item&gt;'</span>;
<span class="php-brackets">}</span></span></pre>
</div>
<p>The mysql2date function is a WordPress function that converts our date to the format we want for our feed. The input should be the date in the following format: <code>d-m-Y H:i:s</code>. See <a href="http://php.net/date">php.net</a> for more information about the date formatting.</p>
<p>Now we have finished our function, we have only one thing to do.</p>
<h3>Adding the RSS Feed to WordPress</h3>
<p>To add the feed, we could use one simple function, build-in in WordPress since version <code>2.1.0</code>. This is the <code>add_feed</code> function. This function has two parameters.</p>
<ul>
<li>$feedname; The name of your feed.</li>
<li>$function; The function that creates the feed. (The one we created above)</li>
</ul>
<p>So lets say we name our feed: &#8216;guestbook&#8217;, then we should call the <code>add_feed</code> function this way:</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
</pre>
<pre><span class="php"><span class="php-script-tag">&lt;?php</span>
<span class="php-comment">// Add our new RSS feed.
</span>
add_feed<span class="php-brackets">(</span><span class="php-string">'guestbook'</span>, <span class="php-string">'myGreatPluginRSSFeed'</span><span class="php-brackets">)</span>;
<span class="php-script-tag">?&gt;<span class="html"></span></span></span></pre>
</div>
<p>Now our feed is added and working! One thing you might be asking yourself is: Where could I find my feed? Well, that&#8217;s simple.<br />
If you are using permalinks on your blog (could be checked this way: <code>$wp_rewrite->using_permalinks()</code>), then your feed is located at: http://your.website.com/[feedname].<br />
If you don&#8217;t use permalinks, your feed is located at: http://your.website.com/?feed=[feedname].</p>
<h3>Done!</h3>
<p>After all our hard work, we have created one beautiful RSS 2.0 feed, working with WordPress. Any questions? Please <a href="http://www.frank-verhoeven.com/create-an-rss-feed-with-wordpress/#respond">leave a comment</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.frank-verhoeven.com/create-an-rss-feed-with-wordpress/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>WordPress Plugin &#8211; FV Community News</title>
		<link>http://www.frank-verhoeven.com/wordpress-plugin-fv-community-news/</link>
		<comments>http://www.frank-verhoeven.com/wordpress-plugin-fv-community-news/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 16:02:23 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Wordpress Plugins]]></category>
		<category><![CDATA[Community News]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.frank-verhoeven.com/?p=200</guid>
		<description><![CDATA[Many blogs out there can only produce a couple articles a week while their visitors ask for loads more. It&#8217;s sometimes a good idea to add related articles from other blogs to your sidebar. Adding them manually takes lots of time we don&#8217;t have. With this new Community News plugin you allow your visitors to [...]]]></description>
			<content:encoded><![CDATA[<p>Many blogs out there can only produce a couple articles a week while their visitors ask for loads more. It&#8217;s sometimes a good idea to add related articles from other blogs to your sidebar. Adding them manually takes lots of time we don&#8217;t have.  With this new <strong>Community News </strong>plugin you allow your visitors to add articles to the sidebar. Complete with moderation panel and a settings page, you can sit back while you have full control about the look and articles that being posted.<br />
<span id="more-200"></span></p>
<h3>Features</h3>
<p>Currently, the Community News plugin has the following features:</p>
<ul>
<li>Widget Ready (Different form/results widget)</li>
<li>Tags for use in posts/pages</li>
<li>AJAX Form Handling</li>
<li>Multi-Language Support</li>
<li>Moderation panel (with email option) &#8211; Make sure you approve the right articles.</li>
<li>Edit Submissions</li>
<li>&#8220;My Community News&#8221; Page &#8211; Allow registered users to view their submitted articles.</li>
<li>Customizable templates</li>
<li>Akismet Spam protection (API key required)</li>
<li>Build-in RSS 2.0 Feed</li>
<li>Settings Page</li>
<li>Uninstallation &#8211; Not the right plugin for you? You can easily remove it completely.</li>
</ul>
<h3>How To Install &amp; Use</h3>
<p>In order to successfully use this plugin, you will need the following:</p>
<ul>
<li>PHP 5 or higher</li>
<li>WordPress 3.0 or higher</li>
</ul>
<p><strong>Installation Steps</strong></p>
<ol>
<li>Download the files</li>
<li>Upload the files to /wp-content/plugins/</li>
<li>Activate the plugin (WP-admin > Plugins > FV Community News)</li>
<li>Browse Community News > Settings to select the settings you prefer.</li>
<li>Go to Design > Widgets to add the Community News widgets to your sidebar.</li>
</ol>
<p>You can also show your Community News on a static page. You can do that by placing the following codes on a page that supports <em>PHP</em>.</p>
<p><strong>Add Form</strong></p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
</pre>
<pre><span class="php"><span class="php-script-tag">&lt;?php</span> fvcn_form<span class="php-brackets">(</span><span class="php-brackets">)</span>; <span class="php-script-tag">?&gt;<span class="html"></span></span></span></pre>
</div>
<p><strong>Latest Articles</strong></p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
</pre>
<pre><span class="php"><span class="php-script-tag">&lt;?php</span> fvcn_list_posts<span class="php-brackets">(</span><span class="php-brackets">)</span>; <span class="php-script-tag">?&gt;<span class="html"></span></span></span></pre>
</div>
<p><strong>Archive</strong></p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
</pre>
<pre><span class="php"><span class="php-script-tag">&lt;?php</span> fvcn_post_archives<span class="php-brackets">(</span><span class="php-brackets">)</span>; <span class="php-script-tag">?&gt;<span class="html"></span></span></span></pre>
</div>
<p>If you are not familiar with PHP, and you want the Community News to be shown on a WordPress page or post, you can use the build-in tags for that. <em>Make sure you are using the HTML editor while adding these tags!</em></p>
<p><strong>Add Form</strong></p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
</pre>
<pre><span class="html"><span class="html-comment">&lt;!--fvCommunityNews:Form--&gt;</span></span></pre>
</div>
<p><strong>List Posts</strong></p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
</pre>
<pre><span class="html"><span class="html-comment">&lt;!--fvCommunityNews:Posts--&gt;</span></span></pre>
</div>
<p><strong>Archive</strong></p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
</pre>
<pre><span class="html"><span class="html-comment">&lt;!--fvCommunityNews:Archive--&gt;</span></span></pre>
</div>
<h3>Custom Templates</h3>
<p>Every blog out there has different requests and needs. With version 2.0 and up, the plugin supports custom templates so it can meet all of those needs. Creating your own custom templates is simple, and more information on this can be found on the <a href="http://www.frank-verhoeven.com/community-news-custom-templates/">Custom Templates page</a>, dedicated to this topic.</p>
<h3>Example</h3>
<p>If you would like a live demo of the plugin, be sure to check out <a href="http://divitodesign.com/community-news/">DivitoDesign.com</a>. The plugin has been running there for quite some time now.</p>
<h3>Bugs &amp; Questions</h3>
<p>If you find any bug in the latest version of this plugin, I hope you&#8217;d be so kind to tell me about it. This will only improve the plugin, which is better for the users!  When you have anything else to say (<em>appreciated!</em>), please <a href="/wordpress-plugin-fv-community-news#respond">comment</a>!</p>
<h3>Plugin Info</h3>
<p>AUTHOR: <strong>Frank Verhoeven</strong><br />
AUTHOR URL: <strong><a href="http://www.frank-verhoeven.com/">http://www.frank-verhoeven.com/</a></strong><br />
WORDPRESS VERSION: <strong>3.0+</strong><br />
TESTED UP TO: <strong>3.1.2</strong><br />
CURRENT VERSION: <strong>2.0.2</strong></p>
<h3>Change log</h3>
<p>If you are interested in the changes this plugin has had, please check out the <a href="http://wordpress.org/extend/plugins/fv-community-news/changelog/">changelog</a> on the official WordPress page.</p>
<h3 id="download">Download</h3>
<p>DOWNLOAD: <a href="http://wordpress.org/extend/plugins/fv-community-news/">FV Community News</a></p>
<h3>Donate</h3>
<p>Like this plugin? Please consider making a small donation.</p>
<form class="donate-form" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="encrypted" type="hidden" value="-----BEGIN PKCS7-----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-----END PKCS7-----" />
<input name="submit" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" type="image" /> </form>
<p>Or help promoting it by adding a link to this page, definitely appreciated!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.frank-verhoeven.com/wordpress-plugin-fv-community-news/feed/</wfw:commentRss>
		<slash:comments>297</slash:comments>
		</item>
		<item>
		<title>Using Sessions in WordPress</title>
		<link>http://www.frank-verhoeven.com/using-session-in-wordpress/</link>
		<comments>http://www.frank-verhoeven.com/using-session-in-wordpress/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 13:03:54 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.frank-verhoeven.com/?p=158</guid>
		<description><![CDATA[Yesterday, when I was creating a new plugin for my friend Stefan Vervoort, I needed sessions to work. Unfortunately, WordPress doesn&#8217;t support them?! I searched the whole source code of this great piece of blogging software, and not on one single line I found even one session. Also the session_start() function is not called, but [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, when I was creating a new plugin for my friend <a href="http://www.divitodesign.com/">Stefan Vervoort</a>, I needed sessions to work. Unfortunately, WordPress doesn&#8217;t support them?!</p>
<p>I searched the whole source code of this great piece of blogging software, and not on one single line I found even one session. Also the <a href="http://www.php.net/session_start">session_start()</a> function is not called, but I still needed my sessions to work <img src='http://www.frank-verhoeven.com/wp-includes/images/smilies/icon_confused.gif' alt=':-?' class='wp-smiley' />  .</p>
<p>So I started searching Google for a fix of my problem. I found a lot of people asking the same question: &#8220;Why do sessions not work in WordPress?&#8221; Finally I found a solution to fix this little issue and guess what, it is a simple one.<br />
<span id="more-158"></span></p>
<h3>The Solution</h3>
<p>The only thing you have to do is call session_start(); before any output is send to the client. Now you might think: Nice, but what happens when I upgrade my WordPress installation to the latest version? Well, yes, your changes will be lost. That is the reason why we first should think of where to add these changes..</p>
<p>Normally upgrading your installation will replace all files, except one. Yes, it is the wp-config.php file. And even better, there isn&#8217;t send any output to a client yet, when this file is loaded.</p>
<p>So, we add the next lines of code to our wp-config.php file:</p>
<div class="fvch-code">
<pre class="fvch-line-numbers">1
2
3
4
5
6
7
8
9
</pre>
<pre><span class="php"><span class="php-comment">/**
 *  Enable sessions
 */</span>
<span class="php-keyword">if</span> <span class="php-brackets">(</span><span class="php-operator">!</span><span class="php-function">session_id</span><span class="php-brackets">(</span><span class="php-brackets">)</span><span class="php-brackets">)</span>
    <span class="php-function">session_start</span><span class="php-brackets">(</span><span class="php-brackets">)</span>;</span></pre>
</div>
<p>And sessions are enabled on your blog!<br />
I think the best place to add these lines is at the top of the config file, so immediately after the php starting tag (&lt;?php).</p>
<p>I hope this will help you out when facing the same problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.frank-verhoeven.com/using-session-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>91</slash:comments>
		</item>
	</channel>
</rss>

