Category: Self Hosted Wordpress

WordPress Premium Thesis theme gives your students more control over their student blogs

This post is not for everybody. In fact, over 95% of teachers don’t need to read this post.

It’s certainly not for the teacher who is just starting to blog with their students. If you’re thinking about starting a class website next year, read this post about how to make a class website. (If you’re not thinking about blogging in the classroom, here are six reasons why your students should blog.)

If you’ve been running a class blog for a while, then this post is also not for you. You might want to give each of your students their own blog on Blogger, or first. Some teachers will want to buy premium upgrades on WordPress, or Edublogs to get more features.

If you want more from your student blogs, then consider creating a class network of blogs using the multisite features of WordPress. You need to run your own self hosted WordPress account in order to do this.

If you’ve been running your own WordPress network and you’ve set up your students as admins on their own blogs, then chances are, you’ve installed a lot of the free themes from the WordPress repository. This post is for you. Read on.

For the past few years, I’ve run my own multisite network using a self hosted WordPress account to give my students the opportunity to manage their own student blogs and the creative control to call their own shots. (Usually students blog on a teacher controlled website – students are often just authors and contributors, while the teacher is the ultimate admin.) Setting up students as administrators on their own blogs is a great hands-on lesson in literacy and media literacy.

Free themes are great and there are lots of very cool themes out there, but one of the problems with free WordPress themes is that you’re limited to a cookie-cutter template. Sure, some themes offer opportunities to tweak and change the appearance, but free themes usually don’t offer a lot in customization opportunities.

One of the dangers of classroom technology is that it can be a gimmick. Education Week Teacher ran a first-person commentary by Paul Barnwell, who pointed out that students “become dependent on technology that requires too many templates… These gimmicks do not develop genuine technology competence.” He raised the issue of how we can help students to become more tech savvy – and be able to synthesize ideas/media forms, and create original stuff.

Media literacy and student blogging: Why students need to do more than simply choose a cookie-cutter theme for their student blog

Read more »

Keep Students from Logging in to your Class Website from Home

Creative Commons License photo credit: rightee

Blogging in the classroom is great, but there are times when you don’t want your students working from home. For example, you want to see what your students can do independently – without the help of an older brother or sister. Sometimes that means having your students do their work in class.

If you do everything on paper, then you can just make sure the assignment stays in class. But, if you ask students to publish their work online, then you need a way to keep students from finishing their work from home.

We run several different websites and networks of student blogs for different teachers using a single (multisite) installation of WordPress. Even though it looks like all of our sites are independent from each other (heck, some of them even use different domain names) – underneath the hood, they’re all using a common set of files and code.

When you log in to the administration back end of a WordPress site, you’re in a directory called wp-admin. This is where you can see your dashboard, edit your posts, moderate your comments, etc. Every computer in the world has a unique address. (If you want to know what your IP address is, you can visit a site like

It’s easy to figure out the “IP address” of your school computers and then to set up your class website to only allow visitors from these machines to login.

Although, there are lots of ways to restrict access to this “wp-admin” back end of your self hosted WordPress website, if you’re not careful, you might accidentally lock out students and teachers from other sites. (And then you get a flood of e-mails and comments from students, teachers, and parents, letting you know that they couldn’t access their website from home.)

Three ways to lock down your class website

1. Using an .htaccess file

  • If you’re only running one class website, then one of the best ways is to use an .htaccess file to restrict access to your website.
  • This is also a great way to protect your website from hackers because it keeps computers from the wrong IP address from even getting to the important files in your wp–admin directory.
  • Unfortunately, if you use’re running a multisite WordPress blog, then all of your websites will get locked down.

2. Using the WP Block Admin plugijn

  • WP Block Admin is a great WordPress plug-in that lets you keep students from accessing the back end of your WordPress blog based on what user account you give them. We use this on a number of our websites.
  • By default, this plug-in redirects subscribers, contributors, and authors to the front of your class website. Editors and administrators (i.e. teachers) are able to login and see the back administrative side of the website.
  • Unfortunately, this plug-in can’t figure out if you’re at school or at home – it only restricts access based on your user level. Students will still be able to work from home

3. Using the Private! WordPress Access Control Manager plug-in

  • Private! WordPress Access Control Manager is a comprehensive security plug-in they give you several different ways to lock down your class website. You can use it to create a completely private website, restrict certain parts of the website, or allow complete access to your site.
  • It also lets you lock down the administrative backend (/wp-admin) of your website to a single IP address. This means that you can lock your class website so that students can’t edit their posts from home.
  • Unfortunately, it seems that if you lock down one website so that it can only be accessed at school, then all of your websites are affected. (We learned that the hard way.)
  • Also, there was no way to create a custom message telling students that they cannot access the block from home.
  • Finally, the Private! WordPress access control manager won’t even allow you to login from home… which means that teachers will also be locked out of their websites. (if you accidentally lock yourself out of your class blog, you have to delete a specific file in order to let yourself back in.)

We couldn’t find an easy way to block access to the site administration (wp-admin) of our multisite WordPress blog… so we made a plug-in.

Block wp-Admin by IP: Block access to the site administration (wp-admin) of your multisite WordPress installation: [download id=”1″]

This is one of our first plug-in, so please be patient. Eventually,we will be uploading it to the WordPress plug-in directory to make it easier for classroom teachers to install it on their class websites.

For the time being, you can download the plug-in here: [download id=”1″]

Restrict access so that only computers from a specific IP address can access the administrative backend of your blog (/wp-admin). Everyone will still be able to log into your site, however only users at the correct IP address will be able to visit site administration pages.

  • Administrators, Network (Super) Administrators, and other users who are able to “manage_options” will always be able to access the back end of your site. (This means that teachers will be able to access their class website from home and school.)
  • The first time you activate this plug-in, it will detect your current IP address and automatically restrict access to your administrative panels.
  • Visit the settings page (Settings > Block wp-admin by IP) to change the IP address or to create a custom error message.

Note: this plug-in is only designed to prevent users from adding/editing postsor accessing the administrative end of a WordPress website.

  • It uses the  is_admin function to to check to see if the dashboard or the administrative panels are being requested.and then check your IP address to see if you are allowed access.
  • It is not intended to be a security plug-in. There are other ways to lock down/harden your WordPress installation.
  • You will still be able to access the login page (wp_login). This means that users can still login to access the front end of your website and leave comments. They simply won’t be able to access the backend.

How to add a Google Calendar to your Class Website / Edublog


We’ve added a Google Calendar to our class website / edublog which is powered by WordPress. You can see what it looks like here.

Google Calendar is pretty easy to use. You can read more about it here as well as create an account. It’s actually quite easy to add a Google Calendar to your WordPress site. Here’s how we did it.

Step 1

Click the down arrow beside one of the calendars you want to share. Look for “My Calendars” on the left.

Step 2

Click on “Calendar Settings” in the pop up menu.

Step 3

Scroll down until you see “Embed this Calendar”. Click on the link that says “Customize the color, size, and other options”

Step 4

Customize your calendar. You can change the title, decide on which buttons you want to show, as well as other features. (In the new default WordPress theme (Twenty-Ten), we used a width of 650 pixels to fill the screen.

When you are done customizing your calendar, copy and paste the code.

Step 5

Go to the WordPress Post or Page that you want to insert your Google Calendar.

Click on the “HTML” view and then insert your Google Calendar code.

Click on Update or Publish your page to the world and your Google Calendar is there!

How to use your Class Calendar

Now that you’ve set up your Google Calendar on your class website / edublog, don’t touch the page it’s on. (We’re serious. It’ll disappear on you. See this note.) You can add and change calendar events from your Google account.

Important Notes / Frequently Asked Questions

My Google Calendar shows up but some of my events are missing (It says that “Events from one or more calendars could not be shown here because you do not have the permission to view them.”)

No problem. It just means that you haven’t shared your Google Calendar with the public. So unless you’re logged into your google account and you have permission to view this calendar, you won’t be able to see it on your class site / edublog.

Here’s how to make your Google calendars public so that anyone can see them. (They also appear in Google search – they’re that public.)

Step 1

Click on the “Settings” link at the bottom of  your “My Calendars” list

Step 2

You should see a list of your calendars. Click on the “Share this calendar” link.

(You’ll have to do these steps for each calendar that you want to make public.)

Step 3

Click the checkbox beside “Make this calendar public”.

Don’t click the second “share only my free/busy information (hide details) checkbox. If you choose this option, then your class calendar won’t actually show your calendar events. It’ll just show that you’re busy at that time.

Click on “save ”

Step 4

Read the warning: “Making your calendar public will make all events visible to the world, including via Google search. Are you sure?”

Click on the yes.We want this calendar to be visible to the world so that everyone (i.e. our parents and students) can see it.

(What if I don’t want my calendar to be public and visible to the world, including in search engines.)

Step 5

Congratulations. All of your calendar events should appear on your class website.

Why does my Google Calendar disappear all of a sudden? I went back to the HTML editor and the code is gone!

Annoying isn’t it?

First of all, the type of code that the Google uses to embedded their calendar is called an iframe. You can cut and paste some code into Wordpress using the HTML editor (Step 5), but WordPress doesn’t really like  iframes.  In fact, WordPress will automatically delete your iframe when it finds it.

What? I thought you said we could embed a Google Calendar into WordPress. You can. You just can’t edit your iframe code (or the page it’s in) once it’s in there.

Once you copy and paste your Google code and click update, your Google Calendar will appear on your WordPress blog. But… if you switch to Visual mode, or try to edit that page again, WordPress will realize there’s iframe code and delete your Google Calendar. Even if you switch back to the HTML editor, your Google Calendar code will be gone.

We end up having to copy-and-paste our iframe code from Google Calendar everytime we want to add some words to our calendar page. But to be perfectly honest, once things are set up the way you like it, you won’t have to edit your calendar page because you’ll be using your Google account to add or change calendar events.

What if I don’t want my calendar to be public and visible to the world, including in search engines

In order for the events on your class calendar to show up on your class website, you need to make your Google Calendar public – which means that search engines will crawl your site and your information can show up in Google, Yahoo, Bing, etc.

If you have a private class blog / edublog and you want to keep your class events private, then using Google Calendar might not be your best option.

You could keep your calendar private in Google and share it with all of your students and parents. That way, visitors would have to log into their Google accounts to be able to see the events. If you’re not logged in, the calendar will simply say that you don’t have permission to view some of the events. This is pretty unrealistic because not everyone will have a google account, and it’s unrealistic to expect visitors to log into their google accounts first to see the calendar events.

Your second option is to install a WordPress calendar plugin. There are lots of other WordPress Calendar plugins to choose from. (What’s a plugin?)

If you have any questions or ideas, feel free to leave a comment below.