
<?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>Dan Cole &#187; WordPress</title>
	<atom:link href="http://dan-cole.com/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://dan-cole.com</link>
	<description>An Electrical Engineer And Web Developer</description>
	<lastBuildDate>Tue, 01 Jun 2010 04:12:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Decentralized Social Network</title>
		<link>http://dan-cole.com/decentralized-social-network/</link>
		<comments>http://dan-cole.com/decentralized-social-network/#comments</comments>
		<pubDate>Fri, 14 May 2010 14:20:35 +0000</pubDate>
		<dc:creator>dancole</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://dan-cole.com/?p=124</guid>
		<description><![CDATA[I think the future of the social web lies in decentralized networks. BuddyPress has the opportunity to become a platform for a decentralized social network. Many of the tools required to pull this off already exist. This is how I would go about it. First of all, I would use WordPress as the underlining platform. [...]]]></description>
			<content:encoded><![CDATA[<p>I think the future of the social web lies in decentralized networks. BuddyPress has the opportunity to become a platform for a decentralized social network. Many of the tools required to pull this off already exist. This is how I would go about it.</p>
<p>First of all, I would use WordPress as the underlining platform. This allow people to make posts and comments, and have an identity online. More importantly in the scope of different types of social networks, it allows people to have a unique design if they wish. WordPress and it&#8217;s plugins have a ton of features that are critical to easy online publishing.</p>
<p>On top of that I would add the BuddyPress plugin. This allow people to have social contacts, such as friends, co-workers, or family. If you wanted to add a person to your network, you would use one of three methods. Option one is to ping their network from your network. The second option is to visit their website, take advantage a WordPress feature called Press This and ping their network from your network without knowing typing in any information. The third option would be to use a feature built in on their site in which their network would ping your network on your behalf. Every method would activate a contact request between the two parts and be filtered by verifying your identity first.</p>
<p>Your list of contacts would be stored on your website and have a link to each of your contact&#8217;s websites. This list could be used to display information about who you know, who can access what on your website, and allow your website to fetch updates about your contacts.</p>
<p>In order to keep information private between known contact, a single-sign-on system would be used, such as OpenID or WebID. This barrier would keep unknown people away from personal information when they visit your site directly. In order to secure the data being sent in between networks a send only system would be used. This means unauthorized websites can not pose as known contacts. A verification process, using keys, would also prevent unauthorized websites from obtaining secure information.</p>
<p>The meta data on your homepage would hold your name, single-sign-on name, avatar, and other information in order to make the connection between new contacts easier. This feature would requested contacts to know who you are by other information other than your website address.</p>
<p>When you click on someone&#8217;s name or image you would go to their site. At their site you would be logged in through your single-sign-on system and could comment on their images, post, or other comments. A pingback system would then share you comments with your own website, allowing your hub to be up-to-date on your activities. In this case both sites would own and have copies of the comments.</p>
<p>A push system would allow you to stay up-to-date with other people&#8217;s activities. A push system tells all interested parties in your contact list about updates, so contact&#8217;s network sent updates to your network as they happen.</p>
<p>Many, if not all the tools exist to make a distributed social network with WordPress and BuddyPress. It&#8217;s just a matter of putting it all together and making it easy for people to join in. This would definitely be a cool project to work on and allow more of the information on the internet to be integrated together. When people control their own data, it allow them to be as private as they would like, but it also allows them the opportunity to add their own features and take things where they want to go.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan-cole.com/decentralized-social-network/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Stats Teaser 3</title>
		<link>http://dan-cole.com/wordpress-stats-teaser-3/</link>
		<comments>http://dan-cole.com/wordpress-stats-teaser-3/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 21:10:35 +0000</pubDate>
		<dc:creator>dancole</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://dan-cole.com/?p=114</guid>
		<description><![CDATA[Since that data takes nearly a dozen hours to mine, I haven&#8217;t updated in a week or two. For this preview I didn&#8217;t fix the dates, so it counts each through each month since April 2004. I don&#8217;t think this graph shows WordPress Trac as getting worse, rather work comes in waves (each version) and [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-118" title="OpenTickets" src="http://dan-cole.com/wp-content/uploads/2010/04/OpenTickets1.png" alt="OpenTickets" width="621" height="556" /></p>
<p>Since that data takes nearly a dozen hours to mine, I haven&#8217;t updated in a week or two. For this preview I didn&#8217;t fix the dates, so it counts each through each month since April 2004.</p>
<p>I don&#8217;t think this graph shows WordPress Trac as getting worse, rather work comes in waves (each version) and inflates, in general, over time.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan-cole.com/wordpress-stats-teaser-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Stats Teaser 2</title>
		<link>http://dan-cole.com/wordpress-stats-teaser-2/</link>
		<comments>http://dan-cole.com/wordpress-stats-teaser-2/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 01:39:13 +0000</pubDate>
		<dc:creator>dancole</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://dan-cole.com/?p=105</guid>
		<description><![CDATA[Before I start working on the complicated graphs, I thought I would do a few more simple ones. With these simple ones I can quickly check the accuracy of my software and make sure their are no mistakes in the database. In this case an extra character was kept in the majority, but not all, [...]]]></description>
			<content:encoded><![CDATA[<p>Before I start working on the complicated graphs, I thought I would do a few more simple ones. With these simple ones I can quickly check the accuracy of my software and make sure their are no mistakes in the database. In this case an extra character was kept in the majority, but not all, of the type called &#8220;enhancement&#8221;. This threw me for a loop, because I was missing more than 2,000 tickets.</p>
<p>These graphs were made with a Python program I&#8217;m developing, which uses Python Google Charts. It&#8217;s lacking a few features or they are hard to find, so some image editing was done for now. Unlike the last teaser post, this one is using a different data-mining script which looks at tickets, instead of comments. Anyway, here are the graphs:</p>
<p><img class="aligncenter size-full wp-image-107" title="graph_type" src="http://dan-cole.com/wp-content/uploads/2010/03/graph_type1.png" alt="graph_type" width="496" height="310" /></p>
<p><img class="aligncenter size-full wp-image-108" title="graph_priority" src="http://dan-cole.com/wp-content/uploads/2010/03/graph_priority1.png" alt="graph_priority" width="496" height="350" /></p>
<p>Everyone is free to take, use, and republish these images. Just don&#8217;t hot-link them for the sake of my sever. I hope they will be useful to the WordPress community.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan-cole.com/wordpress-stats-teaser-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I Would Redo The WordPress Ideas Forum</title>
		<link>http://dan-cole.com/redo-wp-ideas/</link>
		<comments>http://dan-cole.com/redo-wp-ideas/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 23:44:34 +0000</pubDate>
		<dc:creator>dancole</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://dan-cole.com/?p=100</guid>
		<description><![CDATA[If I could change three things about the WordPress Ideas Forum, this is what it might be at first glance. Voting System I would change the one through five start system to a +1/-1 system. It would show the total votes for and against the idea. The total number of votes made and the percentages [...]]]></description>
			<content:encoded><![CDATA[<p>If I could change three things about the WordPress Ideas Forum, this is what it might be at first glance.</p>
<h2>Voting System</h2>
<p>I would change the one through five start system to a +1/-1 system. It would show the total votes for and against the idea. The total number of votes made and the percentages for and against it. This would be an improvement, because it shows quantitative results, not qualitative. The current 5-start system fails to show at a glance who is really for, against, or natural to the idea and it what quantity. Does 120 votes and 3 stars mean people are really for or really against the idea equally? Does it mean that most people are kinda for it, but a few people are really against? Or does is it some odd mix that just happens to work out to be 3 out of 5 starts. The +1/-1 system would do away with the middle ground. It&#8217;s now a go/no-go type situation. No more were going to kinda-sorta lunch the rocket. Or better yet, were not going to stall at the 10 second mark for two years.</p>
<h2>Time-frame</h2>
<p>The second change would be to limit the time-frame of ideas. Ideas should last no longer than two development cycles. In other words, the idea is induced in the current development cycle. It is voted on in the next development cycle. Then it is either put in the Go, No-go, or Retry At A Later Date list. The Ideas Forum should direct where development is going in the next couple of releases.</p>
<h2>Representation</h2>
<p>The third change would be to allow representatives. Basically you would have the power to vote toward any idea, but if you selected someone to represent you, then your vote would automatically copy theirs, unless you went and manually changed it. Meaning, if 99 people selected me as their representative, then any time I voted for something I would add 100 votes my way (99 votes on their behalf and 1 vote on my own behalf). The problem with this third change, however, is the fact that spam accounts or bogus accounts could multiple an individual&#8217;s authority. To undermine this cheating, I would suggest their be a minimum amount of account activity before they can elect a representative and that they must either remain active or continually re-elect the representative. The benefit of having representatives is that it should reduce the amount of repeat noise and help focus were development should happen. Not everyone has enough time to vote on every idea in every project their a community of, but they are smart enough to tell who has the same values and goals as their own.</p>
<h2>Conclusion</h2>
<p>I don&#8217;t think every idea I have is the perfect idea that everyone should follow, rather just some food for thought. Maybe this is a preview of things to come!?! WordPress is an Open Source Project and everyone is free to contribute if they wish. One thing I should mention about dreaming of changes is that it isn&#8217;t going to happen if we depend on the core developers to do it. They have their hands full and it&#8217;s not like it can just magically get done. If you want something done, your going to have to do it yourself. Depending how my schedule unfolds, I may submit some code to improve the WordPress Ideas Forum. What are three things you would change about the Ideas Forum?</p>
]]></content:encoded>
			<wfw:commentRss>http://dan-cole.com/redo-wp-ideas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Stats Teaser</title>
		<link>http://dan-cole.com/wordpress-stats-teaser/</link>
		<comments>http://dan-cole.com/wordpress-stats-teaser/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 05:12:58 +0000</pubDate>
		<dc:creator>dancole</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://dan-cole.com/?p=97</guid>
		<description><![CDATA[I&#8217;ve begun working on a Python program that does data-mining and graphing. It&#8217;s not yet completed, but I wanted to do a little teaser of things to come. Below is a bar graph of all of the comments made in WordPress Trac on the weekday they were made. Take from it was you wish. The [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve begun working on a Python program that does data-mining and graphing. It&#8217;s not yet completed, but I wanted to do a little teaser of things to come. Below is a bar graph of all of the comments made in WordPress Trac on the weekday they were made. Take from it was you wish.</p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_98" class="wp-caption aligncenter" style="width: 552px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-98" title="dayofcomment" src="http://dan-cole.com/wp-content/uploads/2010/03/dayofcomment1.png" alt="Day of the week comments were made in WordPress Trac" width="542" height="488" /></dt>
</dl>
</div>
<p>The data took something like three hours to mine and about 5 minutes to extract and graph. (Graphed in Open Office Calc. for this preview.)</p>
]]></content:encoded>
			<wfw:commentRss>http://dan-cole.com/wordpress-stats-teaser/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How do WordPress Hooks Work?</title>
		<link>http://dan-cole.com/how-do-wordpress-hooks-work/</link>
		<comments>http://dan-cole.com/how-do-wordpress-hooks-work/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 19:08:15 +0000</pubDate>
		<dc:creator>dancole</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://dan-cole.com/?p=48</guid>
		<description><![CDATA[Why were WordPress hook created? Why do we need them? WordPress hooks solve a fundamental problem with dynamic function calls in PHP: How do you insert 3rd party functions with a static function call? But also, how do you use one single call to include an unknown number of functions? What are functions and function [...]]]></description>
			<content:encoded><![CDATA[<h2>Why were WordPress hook created? Why do we need them?</h2>
<p>WordPress hooks solve a fundamental problem with dynamic function calls in PHP: How do you insert 3rd party functions with a static function call? But also, how do you use one single call to include an unknown number of functions?</p>
<h2>What are functions and function calls?</h2>
<p>Looking into this more, PHP has two segments of code that deal with functions: the definition and the call.  Here is an example of the two in the respective order:</p>
<pre>&lt;?php
function my_new_code($name) {
  echo "Hello " . $name;
}

my_new_code('World');
?&gt;</pre>
<p>In that example, I, as a single author, defined the name in the definition and the call.  That example was also a case of one definition and one call.</p>
<h2>What are WordPress Hooks?</h2>
<p>In order to include multiple functions with a single function call, which doesn&#8217;t know the names of the functions, we need to use an indirect method and this is where the &#8220;WordPress Hook&#8221; method comes into play. For this case were going to use a predefined call and definition to do the work for us. First were going to call the fetching function.</p>
<pre>&lt;?php
do_action('the_location', 'World');
?&gt;</pre>
<p>This function call, named <strong>do_action</strong>, is going to load a function in the same manner as the first example and send it the value &#8220;the_location&#8221;. The function definition, named <strong>do_action</strong>, will then call all the 3rd party functions that are in the group &#8220;the_location&#8221; and insert them into this location in the code.</p>
<h2>How does the <strong>do_action</strong> function find out about 3rd party functions?</h2>
<p>The <strong>do_action</strong> function finds out about the functions it should include by a sibling function named <strong>add_action</strong>, which creates a list of all functions. You can thing of <strong>add_action</strong> as the boss and <strong>do_action</strong> as the worker. This function, like its sibling, is a predefined function in WordPress, so you only need to call it. This function call is often included next to the function definition its mentioning. The following is an example of defining my_new_code and asks WordPress to hook it on:</p>
<p>&lt;?php</p>
<p>function my_new_code($name) {</p>
<p>echo &#8220;Hello &#8221; . $name;</p>
<p>}</p>
<p>add_action(&#8216;the_location&#8217;, &#8216;my_new_code&#8217;);</p>
<p>?&gt;</p>
<p>To rap it up, you define a function, add it to the list with a given location, then when the location gets called, your function is included. Here is another nice point about WordPess Hooks, the do_action could be written by someone else, such as a theme developer or WordPress its self (Have you heard of <strong>wp_head</strong> &amp; <strong>wp_footer</strong> anyone?). The following is the code put all together so you can clearly see what is required:</p>
<pre>&lt;?php</pre>
<pre>function my_new_code($name) {</pre>
<pre>  echo "Hello " . $name;</pre>
<pre>}</pre>
<pre>add_action('the_location', 'my_new_code');</pre>
<pre>do_action('the_location', 'World');
?&gt;</pre>
<p>Both examples out put the same thing: &#8220;Hello World&#8221;, but here is an example of how the second one could be expanded:</p>
<pre>&lt;?php</pre>
<pre>function my_hello_code($name) { echo "Hello " . $name; }
add_action('the_location', 'my_hello_code');
function my_what_is_up_code($name) { echo " What's up " . $name; }
add_action('the_location', 'my_what_is_up_code');
function my_bye_code($name) { echo " Bye " . $name; }
add_action('the_location', 'my_bye_code');
do_action('the_location', 'World');
?&gt;</pre>
<p>This will output: &#8220;Hello World What&#8217;s up World Bye World&#8221;.</p>
<h2>This was about action hooks, what about filter hooks?</h2>
<p>The difference between actions and filters, is that actions do not return anything, while filters will often return a variable that was passed to them, e.g. <strong>return $value;</strong>. Filter are also less likely to have <strong>print</strong> and <strong>echo</strong> within the functions they include.</p>
<p><em>Did you know that <strong>add_action</strong> calls <strong>add_filter</strong>? Which means they use the same code and create a single list of functions to include. Check it out for your self in <a title="do_action is add_filter" href="http://core.trac.wordpress.org/browser/trunk/wp-includes/plugin.php#L271">Trac</a>. </em></p>
<p>Related post by other authors: <a title="Action hooks" href="http://www.nathanrice.net/blog/an-introduction-to-wordpress-action-hooks/">An Introduction to WordPress Action Hooks</a>, <a title="Action hooks" href="http://themeshaper.com/action-hooks-wordpress-child-themes/">Using Action Hooks in WordPress Child-Themes</a>, <a title="Filter hooks" href="http://themeshaper.com/filters-wordpress-child-themes/">Using Filter Hooks in WordPess Child-Themes</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan-cole.com/how-do-wordpress-hooks-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standard Theme Hook Names</title>
		<link>http://dan-cole.com/standard-theme-hook-names/</link>
		<comments>http://dan-cole.com/standard-theme-hook-names/#comments</comments>
		<pubDate>Wed, 20 May 2009 03:55:11 +0000</pubDate>
		<dc:creator>dancole</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://dan-cole.com/?p=25</guid>
		<description><![CDATA[To make customizing WordPress themes easier, theme developers have started to include hooks in their themes. They are often referred to as WordPress Hooks, because they use WordPress function to manage them and do the heavy work, but they aren&#8217;t bounded by any naming convention or locations in the WordPress Software or any of its [...]]]></description>
			<content:encoded><![CDATA[<p>To make customizing WordPress themes easier, theme developers have started to include hooks in their themes. They are often referred to as WordPress Hooks, because they use WordPress function to manage them and do the heavy work, but they aren&#8217;t bounded by any naming convention or locations in the WordPress Software or any of its attachments (Themes and Plugins). There name comes from the fact that you are &#8220;hooking&#8221; code into the original software without modifying the files.</p>
<p>These hooks that are being added in by theme developers should be standardized. Everyone using them has a similar naming convention and it would make it easier and more universal for the people that actually attach snippets of code to these hooks.</p>
<p>It&#8217;s going to take some work though. Theme developers need to agree on the names and locations. Then it needs to be made known to people making themes and popularized with the poeople that are going to use it. I think this will help bring theme options out of the theme and into plugins, which should be good.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan-cole.com/standard-theme-hook-names/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPess Theme Modifications</title>
		<link>http://dan-cole.com/wordpess-theme-modifications/</link>
		<comments>http://dan-cole.com/wordpess-theme-modifications/#comments</comments>
		<pubDate>Wed, 20 May 2009 00:27:13 +0000</pubDate>
		<dc:creator>dancole</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://dan-cole.com/?p=15</guid>
		<description><![CDATA[Earlier this year it was predicted that theme frameworks were going to be the big thing on the block and with that came child-themes. As with anything, there are different view points as to what a WordPress themes should be, what frameworks should do, and how to modify themes. This has lead to some interesting [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier this year it was predicted that theme frameworks were going to be the big thing on the block and with that came child-themes. As with anything, there are different view points as to what a WordPress themes should be, what frameworks should do, and how to modify themes. This has lead to some interesting ideas as to where themes in the WordPress community will go and made me consider that the current direction may be better than the old, but not without its problems.</p>
<p>WordPress themes use to be a collection of files that were created by a theme developers, then modified by others without the consideration of upgrades. Some people are still left in this mind set that modify core theme files is okay, only to find upgrades to be a pain. However, innovations have been made and problems changed, not solved.</p>
<p>This new way came as pair of ideas. The first being child-themes, which build off of and modify other themes without changing any of that themes code. The second is of course theme frameworks. These were two separate ideas, because they help two different groups of people, although, they did in part with the same tool, child-themes. The first idea was a way for anyone to modify their theme in a clean way. They second ideas was a way to speed up the development time of themes by providing a base. I my view, only one of these ideas was a good one. The other one was over kill and could lead to problems down the road.</p>
<p>The good idea was theme frameworks. While a basic theme can be build in minutes, a complete theme that is efficient and effective takes years to prefect. A lot of people forget about the non-essential pieces of a theme, such as internal SEO, microformats, and coding standards. The one overly inflated piece of a theme that no one forgets is design. Developers and designs should make design the only priority. Besides that fact that frameworks lead to better themes, they also speed up development time.</p>
<p>Now for the bad idea&#8230; modifying the design of a site with a child-theme. First off, you&#8217;re technically selecting another theme. It&#8217;s not a local modification, but effects the entire parent theme. It also groups all your modifications into one package, which does have some advantages, but also disadvantages. Most people make all their changes in one file, so once they want to remove one customization or change some values , it becomes tricky. It&#8217;s not hard put most modification in a theme, but then what happens to page templates. Well&#8230; they don&#8217;t need to be in a theme folder. PHP developers can either make page templates virtual or they can call them from other locations.</p>
<p>It&#8217;s not nice to shoot down ideas without suggesting better ones, so here&#8217;s mine. I think by that creating a plugin or having themes that allows the ability to customize a theme is the best bet for personal customizations to a site. This would allow for the manage of page templates outside of theme, whether through a database or some other folder location. Individual modifications would have their own file or could be kept in a Database, allowing for an easy way to remove or modify code.</p>
<p>Luckily WordPress is Open Source and the best solution, what ever that one is, will eventually win. I just hope that I don&#8217;t go down the wrong path, some what wasting my time.</p>
]]></content:encoded>
			<wfw:commentRss>http://dan-cole.com/wordpess-theme-modifications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
