Creating a Safe Space: Hacking WP
60% of my teachers have been in our county for less than 3 years (and, most of these newcomers, have never worked with a 1 to 1 initiative). More than 40% of my teachers have put less than 3 years into this vocation. With this in mind, I have created a space, online, for teachers to discuss instruction, vocation, and solutions for our school. I hope it will be a community building experience that gives teachers as much time as they can to the process without having to commit to meetings.
Following the lead of Alan Levine with Tom’s guidance, I started by sketching out my vision. I wanted a place that was password protected and required unique usernames for participation. This site would be a safe place where teachers could speak their minds in a professional manner. At the same time, I wanted to foster open communication, so anonymous responses would not be an option. I didn’t want a traditional blog format. The U/I needed to be as intuitive as possible, and I wanted meta-data to be presented in a way that encourage conversation. I sketched up two different layouts and solicited some feedback from my faculty.
The overwhelming response was for the second layout. After sifting through themes that mirrored my sketch, I decided on Blue Earth. Then, it was time to edit the Main Index Page to pull posts according to category (instead of arranging posts chronologically). The code is annotated, so feel free to play with it:
On the right sidebar, I’ve added a section that lists the most recent comments using Get Recent Comments, and I’ve also created a section with the most discussed topics using Most Commented Posts. This will give my faculty an idea of what topics are most engaging at the moment.
On the left sidebar I added a section where I can place featured topics that committees and clubs will use to solicit feedback. Finally, because the topics cycle through the main page weekly, I wanted the archive to go beyond a general archive based on month. The challenge was figuring out how to sort the posts by week for the first month without having to change the tags or code each week. I tried to find a plugin that would do this for me, but nothing seemed to fit. In the end I was digging through the WordPress Codex and found this little gem:
<?php query_posts(“showposts=3&offset=9”); ?>
Since I am only posting three entries a week, I was able to code the archive on the left by counting back (offsetting) from the most recent set of posts, and I added an archive that sorted by category along with the traditional monthly archive.
In an effort to model open communication, I added a FAQ and a Feedback page along the header so my staff could participate in the evolution of this site. Finally, I had to remove the rss/atom feeds from the site to seal up the blog. Being a fearless hack (who always backs up data/copies code into a NotePad or TextMate/saves the original theme in a folder on my hard drive) I simply found the rss and atom php files in the wordpress folder and deleted them. Yes, I deleted them. Refreshing the page (and expecting the white-screen fatal error message of doom), I was pleasantly surprised that everything worked fine. I tested my hack by trying to subscribe with Google Reader and NewsFire, but was stone-walled.
Below you will find a list of the plugins I used and links to helpful resources. Again, Alan’s walk-through was an unbelievably helpful starting point (Thanks, Allen). I’m going to leave the demo site open for your exploration (with commenting turned off). I’ve ported the site to a secure location for my staff, but I’d be happy to update you on how it is being used.
Angsuman’s Authenticated WordPress Plugin (password protect with unique passwords)
Brian’s Threaded Comments (threaded discussions)
Dagon Design Import Users (bulk user creator)
Exec-PHP (used for querying the database for specific posts, images, categories)
FAQ-tastic (FAQ creator–very user friendly)
Get Recent Comments (pulls the most recent comments on your blog–can be adapted very easily)
Secure and Accessible PHP Contact Form (Feedback Form)
Smart Archives (Archives by Month and Subject/Category)
The Excerpt Reloaded (Excerpt Generator)
Most Commented Posts (Tracks the most discussed posts)