Semiologic v2.1: More customizable still

In resources — I’ve released a new version of my WordPress theme and CMS.

Comments on Semiologic v2.1: More customizable still

  1. The 2.1 version of the Semiologic theme and CMS is officially available for download. Changes when compared to the successive versions of 2.0 are quite numerous:

    – The most important change lies in a new file, `sem-theme-config.php`, where you will find positively every caption and option that you can use to configure the theme. This file’s captions override the default settings of my other plugins, meaning you can now easily internationalize the theme to fit your needs

    – The link to the admin section/register button is now in the header and footer nav menus rather than in the sidebar

    – There is a link to next/previous posts when the opt-in front page plugin is not enabled

    – There are a couple of new, yet to be documented plugins; you can now easily add any of the following to your sidebar in one click: your ‘sidebar’ page, your recent posts, updates, and comments, a list of pages, categories, and links, as well as a bunch of subscribe buttons

    – Posts now list their categories, reflect your use of my other plugins, and react elegantly to whether comments are present or not

    – The theme is bundled with almost all of the other plugins on the site, meaning you’re going through a rather big upgrade when you download it

    – The comment form will automatically change when you install the wp-morph, wp-hashcash and the subscribe to comments plugins

    – There were several bug fixes; thanks go to all of those who reported them in the comments or by email

  2. I welcome more hosted WordPress services. I believe (but cannot prove) that such services are key to getting WP more widely used. So it’s good to see that you are considering doing this. All the best!

  3. Hi – I’ve been lurking for a while, thought I’d say hi. Theme/plugins are great. Just got WordPress 1.5.1 up and your theme/plugins. Make life so much easier for those of us not wanting to spend hours fiddling with Php scripts. Just a shame I missed Beta 2 – will have to download this evening, save me messing around with calenders etc..

    Keep up the excellent work.


  4. @hipocratico — the theme works perfectly in 1.5.1. it even takes advantage of the new caching features. :)

    @all: there’s a tweak update for those who are interested. i’ve added a next/previous page links to the `search.php` file.

  5. Denis thanks…I´m into the “adventure” of upgrading.

    With this updates, you´re “killing me” Denis. Everyday is something new with your theme. Take it easy. Remember I have to translate everything again…

    (just joking) Nice going Denis…

  6. Denis, Thanks for steering me over here.

    So should I be making my movie reviews as blog entries versus pages then, but then select the Opt-out of posting it on the front page as necessary?

    Said another way, to take advantage of having the movies show up in a number of categories (similar to IMDB linking movies, actors, and directors together), does this mean I use blog entries, or do pages also get tied to categories?

  7. Based on my understanding of what you want to do, you’d be a fervent user of my node-graph plugin project. But since it is not available anywhere soon, I suggest you use posts for your movie reviews and the opt-in plugin. That way, they’ll have full control of what appears on your front page. And you can tag your movies if you want by adding them into categories.

    Also, you might want to set the permalink structure to `/%postname%/`, so that page and post urls will look alike.

    The difference between pages and posts are as follows:

    – Pages always go to the default category (this is the reason WP shows a wrong number of posts in it)
    – Pages do not appear in the archives
    – Pages do not appear on the front page or in feeds

  8. Thanks again Denis! I’m gonna give this the ‘ole college try and see what I come up with. Hopefully I’ll end up with something functional here. At a minimum, I’ll end up with a nice looking Matrix-type color pattern. If this ends up being sharable in any way, your more than welcome to it!

  9. The 2.1 stable version of the semiologic Theme and CMS is now available for download.

    Changes include:

    – A new, built-in admin menu for easier CMS still
    – The subscribe me plugin is better located
    – Trackback rdf when pings are enabled
    – Pingbacks/Trackbacks display a title as relevant rather than `%author% said:`
    – A couple of css tweaks and many new captions — be sure to scan the css files and the config file if you changed them

    I expect scarce upgrades from now on, as I am happy with the theme in its current state and am going to focus more on other projects. Changes that will occur in the future will likely be:

    – Integration with more plugins, for more one-click installs
    – New skins, assuming some of you share their changes

    So basically, you can safely ignore them if you have no use for the new features.

  10. There’s a new tweak update. It has less to do with the theme than with the plugins. Several of them just got an upgrade, and I packaged a couple in a single directory to make my life (when zipping them) easier.

  11. Denis,
    I love love love the ability to create a new post/link/page from the page header. The latest version of the Semiologic theme rocks!

  12. Héhé. I figured I’d eventually pull my hair out if I continued to need three clicks to create a post. :)

    As an aside, I’d like to thank all those of you who tried the theme. Observing your sites is a great source of inspiration for skin tweaks.

  13. I am such a goober! With the help of someone in the WP support forums, I found that the cause of my problem was not the theme, or even WP, it was my host. My permalinks were set to use /%category%/%postname%/ and the category setting can only be used on Apache 2.x, my host is using 1.3.3. So if anyone else is having Permalinks problems, I hope this info helps!

    Denis, again, you have a great theme. Thank you for all of your hard work!

  14. I am currently using your Theme and CMS. It’s great! Well I need to customise it to fit my needs.

    I’m display the excerpt in main page. and I would like it to be displayed together with `sem_display_post()`. Where should I modify? Since the `sem_display_excerpt()` has included the post title.

  15. Hi Denis –

    I absolutely love your theme! One question — how can I get posts to display the trackback URI? (Right now they’re showing Permalink | Comment | Cosmos | BlogPulse — I’d like to add the TrackBack URI btwn Permalink and Comment..)

    I tried doing it myself by adding the following after line 660 of sem-theme.php:

    `$output :=”| <a href=”trackback_url(display)” >Trackback URI</a>”;`

    but that caused my entire site to not display (so I guess I’m on the wrong track..)

    Any ideas? Also, I’m curious as to why you chose not to display the Trackback URI by default, as trackbacks are one of the biggest methods of connecting the blogosphere.

    Thanks for any help you can provide – and for making (and sharing!) such a feature-rich theme!

  16. Thanks Denis – that was a mighty fast response and implementation!

    I just read your post on the relevancy of trackbacks and pings – and I agree on both the problems of design flaws and spam. Will be very interesting to see how smart tracks evolves.. At this point, I still find the benefits of trackbacks outweigh the additional time spent deleting trackback spam…

  17. Have you thought about modifying the RSS comment feed? Right now your RSS feed only displays `by: GaryP` instead of something like:
    `Comment on: Semiologic theme and CMS for WordPress – by: GaryP`

    I find it very hard to keep track of what people are talking about in the comments when there are no hints as to the subject of the post.

    Using info from skippy at I was able to patch mine to work well.

  18. Nice work this is keen.

    I have a question, and forgive me if it is stupid. :)

    If I put a “page-slug” in a new page with your suggested list of names:

    ’solutions’, ‘products’, ’services’, ‘resources’, ‘projects’, ‘downloads’, ‘legal’, ‘about’ and ‘contact’ pages.

    I do indeed mostly get navigation. However Legal show’s up at the bottom of the page, and products doesn’t show up at all.

    If I find out why I’ll post somthing just wanted you to know.

    wp if that matters.

  19. @Larry — emailing me would be more appropriate. I periodically delete support-related comments.

    and, unfortunately, the preview code cannot work until someone makes a javascript version of Markdown. :)

  20. I’m curious about your plans for the future, how upgrades will be handled, and whether they will be easily done.

    For example, suppose I build an e-commerce web site around this cms and an upgrade is released will I be able to update the engine and leave my pages intact? How separable are content and the machinery of your Theme and CMS?

    Right now, WordPress itself is wonderful in this regard and I’m hoping that your CMS continues in that tradition.

  21. Well, essentially, the plan would be to lean towards an XML/XSLT based templating system, and to make upgrades completely transparent for the end users.

    The still unreleased v3 beta of my recent posts, updates and comments plugins, for instance, are called as follows:

    sem_recent_posts(); // echo, default layout
    sem_recent_posts(‘xslt=custom.xslt’); // echo, custom layout
    sem_recent_posts(‘display=xml’); // return, raw xml

    This allows you to use any or all of the information, grouped and sorted any way you want. In addition, it’s fully customizable, as the three plugins search for the xslt in the theme dir, and fallback to the one in the plugin dir if they none are present.

    Likewise, I’m heading towards a syntax such as:

    sem_display_post(); // echo, default layout
    sem_display_post(‘xslt=custom.xslt’); // echo, default layout
    sem_display_post(‘display=xml’); // return, raw xml

    Regarding the customizable pieces of the theme, I’ll likely be checking for a config.php file in the theme dir for captions and the like. When it exists, it will override the sem-theme-config.php file, meaning you’ll be able to safely overwrite all the files in the plugin dir. And that you’ll have a fallback caption when I introduce new ones.

    As for the installation and upgrade, I might consider automating this as well via a couple of DB option checks.

    That said, I’ve watched at least three web designers deliver a hardly modified version of the theme to their customers without the credits line. And, as opposed to users of the theme that I’d like to thank here once again, they did not bother donating a penny or giving back. This has me wondering whether I will release the next version of the theme under the GPL.

  22. First – I just want to say that it’s disgusting that people are delivering your theme to customers without the credit line! So wrong. Surely you could go after them as they are violating the rights provided in the license?

    Secondly – Is there an easy way that we can ad google adsense to the sidebar and / or below individual posts? I’ve had an easy time accomplishing this myself using other themes, but none of them are as slick as yours. Unfortunately, your code is a bit to php-heavy for my skills (for now) so I’m finding myself a little stuck – also, I don’t want to end up modifying the code to much since I would like for it to be easy to upgrade to the next fantastic version of semiologic.

    Thanks a lot Denis for any help you can provide! And for all the work you’ve already done!!

  23. Well, to be frank, my WordPress goodies are spin-offs from my blog and various projects, that I’m distributing in the hopes they are useful to someone. Initially, I didn’t intend, let alone expect, to make any money by distributing them, and the reason I chose the GPL and a donation based system are two fold.

    On the one side, the GPL means that if the theme or the plugins break, you get to keep the pieces. That is not to say I won’t maintain the work or support you if I can spare some time. Rather, that I’ve no legal obligation whatsoever to maintain the work or to support you in any way. Likewise, a donation system means you are free to donate nothing or a few bucks if you’re pennyless. Or $50, or more, if you’re a business blogger. In any event, there’s no obligation here either.

    As an aside for the curious, the suggested $50 price tag is here to test the relevance of the price tag announced by business bloggers during the market survey I was running until recently.

    The other great thing about the GPL is that it gives the end user all the freedom he may need, as long as proper attribution remains somewhere. And if he needs more freedom still, he can always contact me. Obviously, I won’t like a web designer who changes three colors, removes the credits line without even considering to make a donation, and drops a line to ask for support. Then again, if the attribution remains somewhere or if he changes everything to a point it’s an entirely new work, the terms of use leave the end user free to remove the credits line. The real boundary, as you see, lies in the respect people show to each other’s work. And I would like to keep it that way.

    Regarding your AdSense question, you can insert html in the middle of the sidebar or in one of the ‘main’ template files like this:

    <div>some html</div>

    If your intent is to insert the html within the post itself, I recommend you wait for the next version of the theme. XSLT will make it more readily editable by php unsavvy users.

    That said, be wary of Google syndication. Google’s margin is insultingly high. And Google is very secretive on the way it manages the ads. I would not be surprised to learn Google displays only leftovers (_i.e._, the least lucrative clicks) via AdSense and keeps the more meaty ones (_e.g._, $20+ asbestos click) for search engine results.

  24. There’s a tweak update available for download.

    Changes in 2.2.2 include:

    – Display 5 latest comments, with a link to all of the comments, and the resulting new captions
    – WP Hashcash 2.2 integration
    – A couple of plugin updates

  25. Version 2.2.3 is now available for download. A CSS tweak aside, the real change is in the plugins, and the small change in subversion number hides a major upgrade in every respect.

    The new package features the beta of version 3.0 of my fuzzy recent posts, updates and comments plugins. These should let you get an idea of what is coming with version 3.0 of the theme, which will be along the same line.

    Before you upgrade, I recommend that you disable and delete the plugins that are now located in folders. WordPress tends to do weird things when you don’t.

    You can safely ignore the new xslt files in the theme dir. The tile plugins will fallback to the copy of these files in their respective folders. Alternatively, you can change them, and customize the way recent posts, updates and comments display on your site without editing the plugins.

    Lastly, you’ll want to know that the tiles feature built-in caching. Thus, you’ll likely want to create a `cache` folder in `wp-content` and make it writable by the server (`chmod 777`) to maximize performance.

  26. Denis –

    Thank you again for such a prompt response to my question (re: incorporating adsense) as well as the warning regarding how little google pays off the ads. You are incredibly knowledgable about so many aspects of both the internet and the blogosphere, and while money is so tight now that I’m having trouble making my mortgage payments :( you can bet that I’ll be making a donation as soon as I can afford to.

    I know so many people appreciate all of your hard work and effort – your theme and plugins are really works of art and a fantastic example of just how much can be accomplished with WordPress. I hope that the bad behavior of a few others (distributing your work w/o giving credit) will not prevent you from continuing your work on and sharing of this masterpiece!

    Off to upgrade to the latest version :)

    Best regards,

  27. Dennis

    would it be possible to put the current version number next to the download link above. I try and keep track of when an update is announced but often miss it.

    Thanks, Kevin.

    P.S. Keep up the good work.

  28. @Phillip: `sem_display_post` is a function I use to display the entire post. I’ve put it and the other template functions in `plugins/sem-theme.php` rather than in the theme directly, because they’ll eventually be xml based, with an xslt argument for you to customize the output.