Archive for the ‘Blogging’ Category

Customizing a WordPress theme

Monday, April 13th, 2009

So as mentioned before, here’s part 2 of making my own theme.

I’ve already created a local WordPress install, which is not strictly necessary but allows for easy editing of the local php-files and simply clicking refresh in the browser to see the result. Rather then downloading files from the blog server, edit, re-upload and check in the preview… Not only more steps, it’s also slower.

My strategy is to take the default theme, and try to stick as much as possible with CSS modifications only.

Not sure yet if this will work out completely…

In fact the CSS file is not that hard to follow, and I need only to change header and footer backgrounds, and some minor tweaks.

What first seemed easy wasn’t. So I took it all upside down. Starting over drawing a brand new design in Photoshop, a nice opportunity to get into some of the possibilities of this tool; found an image from my pictures library, and took it as a base for the new web design.

Finally, the images generated from slicing in Photoshop were collated to the default theme.

Preparation of the design

Preparation of the design

Then further changes were necessary beyond the CSS. Like the page menus from the sidebase had to be on top of the page. It didn’t seem obvious to do the positioning with the current html structure, so I needed to get into the php template files.

This took me quite some time, but finally I get more or less where I wanted to be with the new theme. I guess there might be some thing that have to be updated later on, but for now it should be ok.

It’s about time to publish the theme and my this blog available via the root index of the website.

Local WordPress install for dev purposes

Monday, April 13th, 2009

So back to my blog theme, I took some time to work out a new personalized theme.

Starting point is the default theme which I suppose supports all WordPress features.

For making things a bit smoother, I installed wordpress locally , so that it would be easier to experiment with the theme files.

Some words on this…

On my fileserver, I still have a MySQL database, so I didn’t have to install a new db on my local machine. I would be ok to have MySQL on the local machine but don’t like too many local server applications like databases, because I suppose this would slow down my desktop especially when starting up.

The fileserver with MySQL has an Apache with phpMyAdmin running on it. Through this interface I could create a new WordPress database, and create a user with access grants on that db.

My mistake was in creating the user with the necessary access rights. This is not something I do very often; so I copied this from a web page:

GRANT ALL ON <wordpressdb>.* TO '<wordpressUser>'@'localhost' IDENTIFIED BY '<password>';

Make sure the single quotes are realy single quotes and not other kind of quotes like `

Also like in my case when the db is on a remote machine, and you need to access the db from another host, set the grant like this:

GRANT ALL ON <wordpressdb>.* TO '<wordpressUser>'@'%' IDENTIFIED BY '<password>';

I checked the user with my local SQL client SQuirrelSQL, so created a db alias with URL: jdbc:mysql://<dbserver>/<wordpressdb>

Then I enabled php on my local machine, connecting with the mysql db.

  • In /etc/apache2/httd.conf, make sure “LoadModule php5_module        libexec/apache2/libphp5.so” is uncommented.
  • Copied /private/etc/php.ini.default to /private/etc/php.ini. This is quite optional I suppose; just increase the error log level:  error_reporting = E_ALL

Installing WordPress is all well explained in this guide; and goes smooth via an web base install script. Well almost, just needed to set the right permissions on the wordpress source files.

I copied all wordpress files to a location of my choice: /Users/<MyLogin!>/workspace/wordpress.

Configured apache so that it could locate the files via a new conf file under /private/etc/apache2/other: wordpress.conf, containing:

Alias /Wordpress /Users/<MyLogin!>/workspace/wordpress

<Directory “/Users/<MyLogin!>/workspace/wordpress/”>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

The after extracting and copying wordpress sources, I needed set the right file permissions, that is all directories drwxr-xr-x via a “chmod -R og+rx */” in de wordpress directory (and for the wordpress directory itself) and all files “-rwxr–r–

Also copy the wp-config-sample.php to wp-config.php and set the database connection values in this file.

And concluding all of this via “http://localhost/Wordpress/wp-admin/install.php”, now returning:

Wordpress installed...

WordPress installed…

Choosing a blog theme…

Sunday, April 5th, 2009

Making a blog with one of the default installed themes would be a bit too simple and just not done for me. Not that I dislike the default themes, and not that I am a web design specialist, I’m more into the applications behind the look & feel, just found that I needed some kind of personalized theme on this blog. On the other hand, don’t have the time to make a theme from scratch.

So I went to find out a theme in the wordpress themes directory. Still didn’t find what would please me. So I looked a little further by googling. Like a real dummy, I would search for ‘best WordPress themes'; thought this would bring me to some commercial web offering… Anyway I came to – you name it – Best WordPress Themes, a pretty useful site. So I found the 45 Degrees theme. That should be the theme for this blog.

45 Degrees template

45 Degrees template

Looked ok, simple enough for some customizations; after trying a couple of other themes that didn’t work out well.

So far so good. Only this wordpress theme dates back from October 2007 and the wordpress version 2.7 is not well supported.
So found this doc on the wordpress site explaining the impact on themes from this new wordpress version.

Did some tweaks to the 45 Degrees theme to let it work a little better under 2.7:

  • Updated the footer.php to include <?php wp_footer(); ?> before the </body> tag.
  • Took a copy of the comments.php from the default theme.

This looks already better, but I guess I need to adapt more; and there a good change I may have to fork away from this theme.