Some updates on the construction of a WordPress theme that will give you the features of the ds106 assignment bank. Bottom line- there’s a lot to account for to make something flexible. With a few more pieces to add, I hope I can make an alpha version available next week.

And yes, the look is going to be bare bones– styling likely will land on the holder. I had some crazy wrestling with turning on the Bootswatch themes that are built into Wp-Bootstrap; they just took over a bunch of classes they should not have.

So the front door has not changed that much (although I did fix an error that was giving wrong counts for each assignment type, there is a subtle difference between get_term and get_term_by..

Front page or index to assignments, it can be either

Front page or index to assignments, it can be either

I had to add some loop variables to keep two assignments in each row.

The menus at the top are totally configurable on your site, they will not be auto constructed. There are a few new things we can do.

Build your own assignment menus

Build your own assignment menus

One is to see all Assignments in one archive view, by default it will be the newest first:

View all assignments --

View all assignments —

The View Sorted by menu offers options to sort alphabetically by title, by difficulty rating (stars), by ones with the most examples done, by ones with the most views. This is done by sending a variable ?srt=XXXXXXX And one more, which is not really a sort, but by going to you get redirected to a randomly chosen assignment.

The same sort capability is also within each type of assignment, for example the Cooking Assignments (and yes, I see the typo in “Examples” on the menu, it is fixed):

Sort options within one type of assignment

Sort options within one type of assignment

Okay, but the big accomplishment, which took way too long, is a form where you can add assignments via a form, all coded in the theme without the need for something like Gravity Forms:

Form to add an assignment

Form to add an assignment

Frankly after doing this I so appreciate what Gravity Forms does! The big hurdles are doing error checks and reporting them, but also figuring out how to upload images for the icons was a bit of a circus chase. I have some jQuery going to slide the proper form elements for the example link.

It ended up being a pretty long, but heavily commented template file. Yeah,. if I was a super programmer I’d have all kinds of classes and function encapsulated level code, but alas… yeah. It works. Well, until someone finds what I missed.

So here is where you can help and try out the form and tell me what does not work. One major change I can see now is that you should be able to preview before submitting.

But this was one of the biggest things to get working, and I am glad to be this far. What I see ahead in the next few days are:

  • Create a view of all the examples and all tutorials, with some filters to see them listed by assignment type. Might not be needed, but I always thought it would be helpful to have a directory of tutorial, and a way to search just them. Maybe I can add the ratings feature to create a sort on tutorials or examples.
  • Make a form to add an example or a tutorial via a web form, we have this in the current ds106 assignments site (uses Gravity Forms). My preference would be to bring in the form via a jQuery modal dialog- this way we have access to all the relevant data.
  • To set some tests for adding example via syndication, I am thinking I need to create a basic Feed Aggregator. It’s a bit cryptic, but the way examples and tutorials get in via tags on ds106, is that we aggregate all content on the main site using Feed WordPress, and the assignments site actually has its own Feed WordPress going which subscribes to feeds for each assignment type from ds106. So when you tag your post DesignAssignments, that gets converted to a category on ds106 named DesignAssignments, and the assignments site feeds off of that category feed. Damn, that Martha Burtis is brilliant.
  • Having been looking at this, there might be cases where people want to decided how examples/tutorials come in, so they could toggle off the feed by tag option, and/or turn off the form input
  • And that is the big last piece, creating a dashboard page for configuring the options for the site. For now, that are hard coded in the code as DEFINE statements, but eventually will be read in as theme option values.

This is probably sounding like gibberish, and I deliberately avoided doing a bunch of code dumping here– once i get some of these last bits in the mix, I will port the code to github.

And I hope someone us interested in using this! For now, please take some pushing and prodding at

If this kind of stuff has value, please support me by tossing a one time PayPal kibble or monthly on Patreon
Become a patron at Patreon!
Profile Picture for cogdog
An early 90s builder of the web and blogging Alan Levine barks at on web storytelling (#ds106 #4life), photography, bending WordPress, and serendipity in the infinite internet river. He thinks it's weird to write about himself in the third person.


Leave a Reply

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