Soleil Theme for WordPress

Soleil screenshot

The Soleil theme for WordPress was based on the original creation and colors by designer Carrie Petri for other blog systems. I just mixed the PHP code and some technical ideas thowards what a blog system should be.

Althought it looks really good, Soleil is way more than eye candy. It is unique due to this main features:

  1. Localized on demand
    The blog generic control strings will appear in visitor’s language that he set on his browser. Also, all blog-specific strings as category names, post titles and personal links may have hooks for personal localizations. See bellow how to activate this feature.
  2. Widgetized sidebar
    Soleil provides all its sidebar content as widgets. If you use the WordPress Widget Plugin, you’ll be able to visually rearrange the sidebar and also visually use more widgets from a vast network of developers.
  3. Very friendly to feed readers
    Every aspect of a Soleil blog provides clear and intuitive links and icons to its feed version. Categories archive pages, comments, list of categories on the sidebar, etc. Browse my blog to see what I’m talking about.

All artwork was completely redrawed in CAD systems and in OpenOffice.org Draw to improve images quality. The vector files are included.

Other benefits of this theme are:

  1. Shiny and vibrant colors, thanks to Carrie.
  2. Certified to work on Firefox 2, IE 6 and Konqueror. This gives a clue it will look good in any other browser.
  3. Efficient, yet well balanced use of the entire screen.
  4. Intuitive icons for reply, trackback, blog, post and category feeds, etc.
  5. Clear visual separtion between each post, each comment, etc.
  6. Shows number of comments in evidence.
  7. Direct links to post and comment editing (for administrator only).
  8. Includes a style for printing that hides parts of the page irrelevant to this media.
  9. Provide list of links with icons to popular feed readers.

Download the theme archive, unzip it in your [WORDPRESS_ROOT]/wp-content/themes directory, and select it in the Presentation tab of your WordPress admin interface. Organize the sidebar widgets (if you use the recomended Widgets Plugin) on the admin interface, Presentation -> Sidebar Widgets.

Soleil Predefined Style Classes

Soleil provides some CSS classes that I heavily use in my posts:

photo
To be used on image tags. Add margins, padding and a slim border. Use it like this:

<img class="photo" style="float right" …
command
From the docbook series and for technical writers, renders a computer command in evidence. Use it like this:

<span class="command">ls -al</span>
programlisting and screen
From the docbook series and for technical writers, renders a box with special fixed size font as a computer output or programlisting. Adds scrollbars if content is too wide, to not breake your layout. Usage:

<pre class="programlisting"> 
	// sourcecode of a program 
	code { 
		Some code 
	} 
</pre>

or

<pre class="screen"> 
	bash$ ls -al 
</pre>
filename
From the docbook series and for technical writers, renders a filename in evidence. Use it like this:

<span class="filename">/bin/kdb</span>
xmlbutton
An XML button maker, the one very popular on blogs etc. To get a button like My XML button, use as:

<a class="xmlbutton" href="http://someplace">My XML button</a>
articleinfo
Creates a nice may-be-floating box for you to show some information about the post. The box will appear in evidence but outside the stream of the text. See an example on this post. Usage:

<div class="articleinfo" style="float: right">Some info about this article.<div>

You should also use <h4> as the header for subtitles inside posts.

Displaying Links Correctly on Sidebar

Many blogs that use Soleil have their links looking bad on their sidebar. To fix this, you should go to your blog admin interface, select Links->Link Categories and edit each link category’s properties in a way that each item will be wrapped into an HTML <li> tag.

For example, my blog categories have Before Link: <li> and After Link: </li>

Soleil Localization and Internationalization

Soleil’s default language is english, and is currently localized to portuguese.
To localize Soleil to you language, go to soleil/languages and copy the theme-pt.po (portuguese language) file to theme-YOURLANGUAGECODE.po and edit it to fit your language needs. The file format is very intuitive and it contains all generic messages the theme uses.

You can also localize your blog specific strings as your category names, blog name, blog description, and even some posts titles. For this you have to edit personal-YOURLANGUAGECODE.po in the same way.

To compile a .po file, on Linux do this:

bash$ msgfmt -c -v -o theme-YOURLANGUAGE.mo theme-YOURLANGUAGE.po 
bash$ msgfmt -c -v -o personal-YOURLANGUAGE.mo personal-YOURLANGUAGE.po

The .mo files must be located under soleil/languages/ while the .po don’t have to be under your blog installation, live them in your PC only.

To activate on demand localization based on visitor’s prefered language, ensure your wp-config.php file contains this:

define ('WPLANG', substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));

Enjoy.

105 thoughts on “Soleil Theme for WordPress”

  1. Hi. Just installed Soleil, and got:

    Fatal error: Call to undefined function: the_soleil_category() in post.php on line 9

    Any ideas?

  2. Great theme. Thank you so much! I’ve made some basic visual changes that I think that you would like, such as a double widget column & border around both main & sidebar blocks.

    I have had one problem though, how do I get the category page to display the entire post and not just the excerpt? Thanks, Matt

  3. This is prefect I’ve been looking for this theme ever since I started using the blogger version. Thank you for porting it to wordpress.

    Thank you

  4. I just installed it and I got the same error as Jerry I think there is something wrong with the way that soleil calls for the widgets. The widgets option doesn’t even show up in the presentation section. Anyone figure out how to get past this?

    Thank you

  5. Fatal error: Call to undefined function: the_soleil_category() in post.php on line 9

    To fix this rename template-functions-category.php to functions.php

  6. Well, Chris, you can’t simply rename it.
    There are important stuff in functions.php, and it actually includes template-functions-category.php

  7. Avi, in the current download there is no functions.php so that’s why I renamed. Maybe the download isn’t complete?

  8. Pretty theme.

    However, when I switched to this theme, my images are way too close to my text. I changed the settings in the image options of my Editor (editormonkey) yet it does not take effect. Do you have any idea what is wrong?

    Thanks

  9. Michelle, edit the HTML of your posts and make your image tag look like:

    < img class="photo".... Regards, Avi

  10. Everytime I make a post I get the following error message: WordPress database error: [Lost connection to MySQL server during query]
    INSERT INTO wp_postmeta (post_id,meta_key,meta_value) VALUES (’10’,’_pingme’,’1′)

  11. Hi. Thanks for your great theme ! I localized the theme to french, but have no Linux box available to compile this… Dont’you think some form of XML would have been more handy ?

    Anyway, could you please compile the file below for us french people and make it available in the next version `thank you !

    # French (Swiss)) (fr) translation for WordPress.
    # Copyright (C) 2006 Philippe Guglielmetti, for the Soleil Theme by Avi Alkalay
    # This file is distributed under the same license as the Soleil Theme for WordPress

    […..]

  12. I am using this theme now. It’s great!
    And I add a lot plugins, it works fine.
    my site:www.qingfangblog.com (in Chinese)

  13. Today I released a new version, including RSS, ATOM and other image buttons, french translation by Philippe, and optimized images.

  14. Avi, thank you for compiling and including my french translation.
    However, my site (and yours…) don’t show french texts when I browse them (yours is in english). Is there something missing or something I should do ?
    BTW, the theme appears as “Soleil for WordPress 20061218” in the admin panel, not as “20070115”, just in case it matters…
    Thanks again !

  15. Philippe, thats because for some reason I didn’t uploaded the french translation to MY blog.

    Its there now and tested in french. Man, Soleil looks nice in french !

    I also fixed some style for .post-meta to make it look nice on posts that have many and long-name categories.

    And this time I did update the style version on style.css so the version number is correct on WP admin interface.

    Please download new 20070116 version.

  16. Hi Avi,

    I love your Soleil theme and am using it myself. It appears as though there is some problems with using it with WordPress 2.1, at least as far as some of the sidebar widgets are concerned. I’ve turned off the affected items (ie. categories) but if you’re interested in updating the theme, I’ll be interested in downloading it again. 😉

    Thanks so much for all the work you’ve done so far on this.

    -Todd

  17. Hi Todd

    Thanks for using Soleil.

    I didn’t focused my attention to WP 2.1 yet, but this is certainly something I’ll do in the next month.

    Check back soon to see.

  18. Soleil was updated today. The Changelog:

    – Finally fixed the calendar style. It looks bigger and nicer now
    – Updated widgets.php to correctly display the calendar
    – Fixed the padding for the title on the comment form

  19. Hi Avi,

    One last question if you don’t mind. What does the Soleil Author widget do and how do you use it? I’m looking at the code but I’m not a php expert.

    -Todd

  20. Hi,
    I love your theme. I found in on the wordpressthemes that dont suck site. I’m looking for a new theme and this is on my short list of themes to try out over the next couple of weeks.

    Thanks.
    Deb

  21. Hi Aki,
    FYI, I upgraded to WordPress 2.1 and there are just a few problems with Soleil widgets (see http:www.goulu.net)
    th most important is the Categories, which display a lot of errors like the one below for all “children” categories. The topmost categories are listed ok.

    WordPress database error: [Unknown column ‘cat_cat_name’ in ‘order clause’]
    SELECT * FROM wp_categories WHERE cat_ID > 0 ORDER BY cat_cat_name asc

    (I reverted to the “standard” Categories plugin on my site)

    The Blogroll doesn’t work either : it displays nothing

    Everything else looks all right. Nice !

  22. Thanks Philippe

    I’ll have a look on all this issues in the next days, when I’ll migrate to WP 2.1.

  23. There’s a bug in php5 that fights with your code,
    archive.php line 25

    $car=get_query_var('cat');
    $myCategory=get_category($car);

  24. Gas, I can’t see this bug because my ISP seems to be using an older version of PHP, probably 4.

    Any tips for a workaround ?

  25. Hi Avi I’m sorry I was very late and for this reasan I was too short in my answear.

    The bug it seems a php5 bug that caused lots of problem, Bug Page

    The lines of code i sent you are already “worked around”,
    Original archive.php from line 24 to line 30:

    category_description) { ?>

    category_description,'personal'),$myCategory)); ?>

    That becames:

    category_description) { ?>

    category_description,'personal'),$myCategory)); ?>

    I simply put fake variable called "car" that gets the value and pass it, it seems the stupidest workaround ever but it works ;P
    Mine works well on wordpress 2.1 the only thing that didn't was the function that list category (the widget in the sidebar for example), I had an empy list even if i have 10 categories or so and the right category dhow up for everypost metainfo.
    Probably is related to recent wordpress 2.1 changes regarding template calls, i really don't know, in any case I changed line 38 of widgets.php from

    wp_list_soleil_cats($format);


    wp_list_cats($format);

    Thanks for your theme and for sharing it with everybody, it’s great!!

  26. It came out a mess

    line 25 of archive.php

    $myCategory=get_category(get_query_var('cat'));

    must be changed to these two lines


    $car=get_query_var('cat');
    $myCategory=get_category($car);

    Pastebin page

  27. Updated version of Soleil now supports WordPress 2.1. Get it here.

    Complete list of changes since previous version:

    • Workaround on archive.php for a PHP5 bug, as described on this comment.
    • Official first release for WP 2.1, temporarily with reduced automatic translation for categories etc.
    • Links are now underlined.
    • Separation mark between posts now also on index.php.
    • Label for comment form changed from “Address” to “E-mail”. People were leaving their physical address instead of e-address.
    • All templates have a tag to have more user friendly names on WP page editor.
    • Excerpt only used on Search results now.
    • Simplified code on sidebar.php.
  28. Avi, many thanks for having adapted Soleil to 2.1
    Justa question : I’d like to set “recurse=0” in Soleil category widget) (to list only the first level of cats), but I cannot spot where to set this option (and others). Can you help ?

  29. Philippe, the category widget is heavily based on WP function called wp_list_categories(), which seem to not support this feature.

    I’m sorry.

    In the mean time I made small changes to the theme exactly on this point. Please redownload today’s file. But you won’t see many changes anyway.

  30. Hey Avi,

    Thanks for the 2.1 version of Soleil. It’s much appreciated.

    What does the Soleil Author widget do and how do you use it? I’m looking at the code but I’m not a php expert.

    -Todd

  31. Todd, the Soleil Author widget will let you show the author information you setup on your user account in WP’s admin forms.

  32. Version 20070219 released.

    Chengelog:
    – Defined some style for printing. Makes disapear #sidebar, .commentform and #banner
    – Decreased size of #sidebar from 28% to 20%
    – Refined the .conversation class, to be used on <ul>
    – Fixed text size on sidebar, from 8pt (relative) to 11px (absolute)

Leave a Reply

Your email address will not be published. Required fields are marked *