Comment count in WordPress shortcode

Standard

Earlier today I was raving about the simply elegant plug-in Anti-Spam. When writing that post, it occurred to me that I specified two pieces of information that might change as time passes.

If you’ve read my post on dynamic ages in my About Me page, then it might be obvious that I like to keep things dynamic. That is to say, I don’t like to use static values unless those values are simply a snapshot in time. So I thought I’d add a little functionality to my site that would:

Continue reading

Embed IP camera stream into WordPress pages/posts

Standard

[showCamera width=”300″]I was looking for a way to show my local IP network camera stream in my site (and my wife’s site). Sure, it was easy enough to find the necessary code on Google and embed in a post through the text editor, but I wanted something more.

I can’t expect my wife to write her posts without the Visual editor (which would have butchered the HTML required to show the stream), so I decided to convert the camera-generating HTML code to a PHP function and put it in our sites’ functions.php files. Why would I want to do this?

Continue reading

Dynamic ages in About Me page

Standard

Recently my brother asked me if my daughters’ ages in my About Me page were static or if they would change as we moved through time.  The answer is that they’re the result of PHP functions and are therefore dynamic and will change as time passes.

You see, my site allows me to embed PHP code.  In a nutshell, PHP allows me to create HTML dynamically.  I wrote a PHP function that calculates the number of years/months (or months/days in certain situations) since a given birthdate.  I added this function to my site’s custom functions.php file, and registered it with the WordPress framework so that I can access it with a shortcode. Because I want to be able to use this function multiple times with various birthdates, I wrote it to accept an argument called “birthdate”. In my About Me page, anytime I want somebody’s age, I simply insert:

Continue reading