AgentPress – WordPress theme for real estate websites

Some time ago I mentioned StayPress plugin for WordPress, for those people who need such functionality on their real estate web sites.  Today I have something else to talk about – AgentPress theme for WordPress designed and implemented by awesome people at StudioPress (too much Press in this sentense, isn’t it?).

AgentPress is a commercial theme, but at a reasonable price of $99.95 USD.  StudioPress themes are built on top of their own Genesis theme framework, which provides a nice separation of code into a parent and child themes.  Child themes are small and manageable.  Genesis, by the way, is included with your AgentPress theme purchase.

What I liked about AgentPress theme was that it doesn’t only provide the design for a real estates website, but also an administration interface to manage the properties.  It uses standard WordPress posts for properties, with some additional fields.  You can control which fields you want to have and in which order.  There is a way to have both public and private fields, in case you don’t want to display everything.  It’s also easy to expand the functionality using the WordPress categories and tags.

The front page of AgentPress theme is awesome.  You have options to provide navigation either via pages or categories or both.  There is a nice looking slider with selected properties.  There are featured properties.  And you can even have featured articles there as well.  AgentPress theme supports multi-agent web sites, but I haven’t tried it, so I won’t say much about it.  There is a simplistic property search, which is good enough if you have up to a hundred properties or so. The theme has a number of widget areas, so it is pretty easy to control what goes where.

I tried the theme before a much improved WordPress 3.0 came out.  So I hope StudioPress will update this theme to utilize a number of the new features in WordPress, such as customizable menus and custom post types.  If they do, it will be much easier to extend the theme to your liking, with, for example, advanced search.  You can do things now as well, but some of them are no trivial.

Overall, if you are looking for a solution to a real estates website, I suggest you have a closer look at AgentPress theme.  There are plenty of options in both Genesis framework and in the theme itself.  It does the job and it takes seconds to setup.  At least you can buy yourself some time to build a more customized solution.

Yet another new look : Carrington theme and more

It’s been a while since I changed the theme of the site.  Today I felt like I needed it again.  I looked around, checked a few options, and decided to go with the Carrington theme from the excellent folks at Crowd Favorite.  It looks simple, yet elegant, fresh and modern.  And it is not just your average WordPress theme.  It is a whole framework.  I didn’t have much to play with it yet, but even from the first few looks it’s very interesting.  The theme files and logic are organized in such a way that makes modifying it and building on top of it extremely easy.  And unlike some other frameworks, it doesn’t force you to start designing your theme from scratch.  It provides already a default look with a few administration options that are handy for people like me, who are just starting up with it.

The second big change that was done today – IntenseDebate plugin was disabled.  IntenseDebate is a nice system, and I totally dig the concept, and all, but it turned out to be slightly annoying for me personally.  Somehow, the moderation never worked the way I wanted it to work.  Comments and the comment form didn’t look the way I wanted them to look (and I couldn’t bother with styling them myself). And it was slowing the site quite a bit by loading all those images, styles, and the JavaScript.   Gladly though, IntenseDebate works well with WordPress and I didn’t have to do anything to get my comments back – they are all here exactly how you’d expect them.

As always, after major changes like these, there will be a brief period of tweaking and tuning.  If you notice any issues with the site, please let me know.  Also, I’d appreciate your opinions and feedback regarding these changes.  Thank you for the patience during the bumpy ride.  Hopefully you can still enjoy this place.

WordPress goodies of the week

I spent some time playing around with WordPress themes and plugins this week.  While most of the stuff I discovered was cool, as usual, a few thins stood out.  For the benefit of the general public, here they are.

  1. Automatic thumbnails in Swift theme.  One of the problems that I face when choosing a new theme is that often theme author would expect you to do things in a certain way – organize your menus using pages and not categories, or use specific custom keywords, etc.  For some time now I was interested in a theme with post thumbnails, but never dared to try.  After all, I have more than 4000 posts and the last thing I want to do is go through all of them adding thumbnails.  That’s why I was so surprised by how nicely Swift theme handles this problem.  It does expect that you add thumbnails using custom fields, but if you don’t, it just grabs the first image from the content of the post and prepares the thumbnail itself.  If there are no images in the content, it uses a default one, which can change easily. Awesome!  Here is how it looks.
  2. After The Deadline spell-checker.  Michael Koenig commented on the post about me trying IntenseDebate comments plugin, and suggested that I enable After The Deadline plugin for comments, which I did.  Looking further into it, I noticed that After The Deadline spell-checker is also available for posts.  I already have a spell-checker built into my browser, but it doesn’t seem to check the grammar or anything else beyond the syntax mistakes.  So, I installed the After The Deadline and I do enjoy it.  It doesn’t stand in the way, while at the same time, provides some feedback about my writing style.  It has a number of useful features, such as highlighting passive voice, suggesting replacement for complex words and expressions, and more.  Recommended, especially for non-native English speakers.
  3. Security tips. A reader of my much outdated, lost, and forgotten WordPress Bits blog asked for some tips to improve WordPress security.  I compiled my list of tips and then looked around for a few suggestions from other people.  Apparently, there are a number of blog posts (one, two, three) on the subjects and even some plugins (one, two, three) that can help you out.

Building a classified ads directory with WordPress

When talking about what else WordPress could be used for except blogs, classified ads directories come up high on the list.  It’s one of those examples which illustrate the scenario nicely and doesn’t require a lot of work.

So, how can WordPress be used to build a classified ads directory?  Here is a list of a few ways you might go:

  1. Buy and install ClassiPress – a theme and plugin to do just that – build a classified ads directory.  This is probably the fastest, cheapest, and simplest option.  If you want one of those directories up and running within a few minutes, that’s the way to go.
  2. Install wp-classified plugin and tweak it until you are happy.  You’ll pay with your time, not your money.  And you won’t have to start from scratch.
  3. Build your own, from scratch.  This is suitable for those who want to have 100% understanding of how their directory works, and for those who want learn how WordPress can be customized beyond blogging.

In this post, I’ll focus only on the third option.

Continue reading Building a classified ads directory with WordPress

WordPress dynamic sidebars : take it easy with widget control

One of the coolest things about WordPress is a dynamic sidebar. Dynamic sidebar is a special are defined by a WordPress theme, where widgets (blogroll links, recent comments, related posts, etc.) can go.  The beauty of it is how simple it is for the theme author to define and style such an area, and how simple it is for the theme user to configure which widgets go where.  One line of code for the theme designer, and a user-friendly administration interface with drag-and-drop support for the end user.

As simple as it is, I’ve seen it abused by theme authors one too many times.  Consider an example (borrowed from a really nice theme in the wild, which I won’t name):



What happens here is the following: in line 3 we check if this version of WordPress supports dynamic sidebars (these were added in WordPress 2.2.0, if I remember correctly). If they are supported, we insert all widgets that were dragged and dropped into ‘east_sidebar’ dynamic sidebar, using WordPress administration.

Now for the tricky bit. If the function does not exist or something went wrong while displaying the widgets, we fall back onto some defaults. In this case we show the list of categories.

What’s so tricky about it? The trick bit about it is the return value of the dynamic_sidebar() function. It returns a boolean value. True if the sidebar was found and called, and false if sidebar was not found or was not called. This “was not called” actually means “failed to find at least one proper widget”.

What happens in practice is this. You find this nice theme that you want to use for your blog. You install and preview your site. Everything looks good. The sidebar looks good too, but you don’t particularly like the selection or the order of the widgets. So you go to the administration interface and what do you see there? An empty sidebar. Instinctively, you drag-and-drop a widget into the sidebar. Refresh your site and you see something totally unexpected. The sidebar that had a bunch of widgets now only has one – the one you drag-and-dropped. Weird.

That is because when you installed the theme, it registered a new sidebar, which is by default empty. When the sidebar of your site is displayed, dynamic_sidebar() function returns false and the theme falls back onto default widgets in the theme. Once you have at least one widget dropped into sidebar, that doesn’t happen any more and your lonely widget is displayed now.

That’s not a big problem with simple themes, which have only one or two dynamic sidebars. However, more complex themes with four, five, six, and more sidebars become annoying. Because there is usually some default pre-selection of widgets for each of those sidebars, and in case you don’t like it, you’ll need to do a lot of work in that administration.

Even worse, if you want to leave some of those sidebars empty. If there are defaults set in the theme, the only way for you to silence the sidebar is edit the theme source code. In the example above that would removing everything from line 4 to line 12. If you have more than one sidebar that you want to silent, you’ll need to repeat the procedure for every one of them.

So, what’s the solution? What’s the right way? To be honest, I don’t know. From the point of view of somewhat experienced end-user, I’d prefer no default widgets in the theme source code. Let them come up empty by default – I’ll drag-and-drop whatever I want using the user-friendly administration. On the other hand, from the point of view of non-experienced end-user, empty sidebars might confuse the heck out of me. I need to know about widgets to solve the problem, and unfortunately not all WordPress users do. Also, I guess it’s a bit harder for the theme authors to promote their themes if they come up with empty sidebars once installed.

One solution that might work is a theme option. Show default widgets by default, but allow to silence them all from the theme controls. That would work as a compromise and avoid unnecessary source code editing. Also, I think it would be pretty straight forward to implement (check for the value of the theme option instead of the return value of the dynamic_sidebar()).

What do you think?