Articles

Wordpress Category Post List

A friend of mine asked me to write a Wordpress function the other day that printed out a list of categories and any posts in those categories, along with any meta data that might be in the post.

All the function does is to get a list of categories and then for each category get a list of the posts associated with that category. Not much really, but useful in some circumstances.

Wordpress 3.0 Released!

It's been a while in the making but yesterday saw the release of the latest major version of Wordpress. I had a feeling it would be pretty soon as there as the final release candidate (RC3) was released last week. You can the Wordpress 3.0 download page below:

Download Wordpress 3.0

PHP Paragraph Regular Expression

I quite often find the need to extract a section of text from the beginning of a blog post or similar to be used as the excerpt. I normally use a function that will count the number of whole words available and return the string containing those words.

A good alternative to this, although only applicable if the original post is in HTML, is to use a regular expression to extract the contents. The following code will take a string and extract just the first paragraph of text.

Find A Month From A Given Integer With PHP

If you need to know the month from a given integer (from 1 to 12) then you can use the following snippet. This will return the string "Feb".

date("M", mktime(0, 0, 0, 2));

This can be encapsulated into a function call that will take a number between 1 and 12 and return the corresponding string for that month. This function includes some simple error checking to make sure that the number is valid before trying to work out the date.

function getMonth($month) 
{
  if (!is_numeric($month) && $month  1 && $month > 12) {
    return false;
  }
  return date("M", mktime(0, 0, 0, $month));
}

Palindromes In PHP

Richard Wiseman is a psychologist, magician, and author who runs a little blog over at http://richardwiseman.wordpress.com/. His blog talks about all sorts of things, but every Friday he posts a little puzzle that you can have a go at solving.

The last puzzle posted talked about palindromic numbers and speed, here is the puzzle in full.

The other day I went for a bike ride. My favourite route has signs every meter saying how far you have travelled. I came across the sign saying '15951 meters' and thought 'Oh, that's interesting, it is a number palindrome because it reads the same from left to right as right to left'. Then I rode on. Two hours later I came across the next palindromic number sign. How fast was I going?

Drupal Focus On Enterprise, London, 26 May 2010

Drupal Focus On Enterprise 2010

2010 saw the third annual Drupal Focus on Enterprise conference, which took place at the Sun Microsystems offices in London. The free event, which is sponsored by Sun, brought together a set of speakers to talk about different things that they or their businesses have done with Drupal. Even though I live in Manchester I was lucky enough to go along.

The conference consisted of two tracks, with a number of talks in each. I obviously couldn't go to every talk, but the talks I did see were of a very professional standard. The tracks weren't set in designated rooms but a head count was made of everyone who wanted to see which track and the bigger room used for the talk that got more votes.

I also arranged to meet fellow North West Drupal User Group (NWDUG) member @eli_t at the conference.

Related Items Block Using Drupal 6 Search

A related items block looks at the current content of the page and tries to present the user with a list of items that relate to the current content. Creating a related items block is quite easy, and is a good way of introducing the search module api without having to get to involved in the search module.

Before starting I should point out that there are other related items modules available. These are modules like Related Nodes or Related Items but these modules either aren't released for Drupal 6, or simply don't work in the way I wanted the block to work. I wanted a module that would act with little or no user input.

Wordpress Dynamic Page Menu Navigation

After writing the function that creates a list of pages that are children of a given page in Wordpress I needed something more robust and automatic. To that end I created a plugin that will create a widget that contains a dynamically created menu of pages.

The widget figures out what page is currently being displayed and will climb the page tree until it finds the root page. Whilst climbing the page tree the plugin will keep the path to the currently selected page and when the tree is printed out the path will be open. It is best suited for sites that have a solid hieratic page structure, rather than a simple blogging site.

In terms of efficiency I have tested it with pages nested up to 25 levels deep with only a small decrease in page load. However, for the average small Wordpress site this plugin is perfect as pages will only be nested a few levels deep.

Drupal 6: Change Views Exposed Filter Form Select Element To A List Of Checkboxes

Whilst creating a view for a Drupal site the other day I created an exposed form but rather than the usual select boxes that get displayed I needed them to be a list of check boxes. Whilst searching about on Google I eventually found this article, which kindly provides a function that will do this. Here is the function in full.

Drupal 6: Change Title On Blog Index Page In Drupal

The title tag on the Blog module index page (found at /blog after the module is installed) is by default "Blogs | Sitename", which isn't editable in the backend of Drupal. I've been talking to other Drupal developers and reading forums about the best way to go about changing the title of the blog index page. Ideas ranged from editing or duplicating the blog module (which is bad practice) to installing the String Overrides to provide a quick translation of the string in the title.

These suggestions are either quite poor, or simply overkill for what should be a simple string replacement. There were two methods we decided upon that work quite well and are easy to implement.

1) The first involves creating a page-blog.tpl.php template file and adding a str_replace() function call to replace the word blog from the title of the page. This would look something like this: