Essentially the problem is this. I am using a WordPress network/multi-site to build a website that has multiple sections. The sections all have a common layout and functionality, but each section has its own menus & content (solution: multi-site) and color-scheme (solution: grandchild themes).
I built a child theme with twentyeleven as the parent. I was hoping to have a grandchild theme for each of the sections/sites, each with a style.css to reflect the unique color scheme and backgound images for some elements.
But WordPress does not support grandchild themes (Error: The parent theme is missing. Please install the "child" parent theme), so how do I solve the problem?
Answer: Do it using symbolic links in Unix/Linux.
Create each 'grandchild' theme directory.
$ cd /home/www/public_html/wp-content/themes
$ ls
child twentyeleven
$ mkdir grandchild
$ cd child
$ ln -s * ../grandchild
$ cd ../grandchild
$ rm style.css images # remove these symlinks ...
$ mkdir images # ... replacing with real objects
$ cp ../child/style.css .
Now we can edit style.css and have unique images for the 'grandchild' theme. And for any other changes, say you have a unique landing page, simply remove the symbolic link and create a new file landing-page.php in the 'grandchild' theme folder.
Any updates to TwentyEleven will show up in the child and grandchild, and any updates to the child will show up in the grandchild... This is exactly what we want. :)
Perhaps 'replicant' would be a better descriptor than 'grandchild'?
PS. If you don't have shell access to your server, you can write a simple PHP script to make the links - using symlink() in a foreach loop.