I'm finishing up a website for a private project which allows for people to register and create posts as members. The client wanted to have a specific onboarding flow which moved users from account creation to a terms page before finishing on a brief site overview.
I started by hooking into registration_redirect and pushing the user to a simple terms page.
add_filter( 'registration_redirect', 'new_user_redirect' );
function new_user_redirect() {
return home_url('/complete-registration/');
}
This didn't work because the user was immediately redirected to the terms page instead of on their login. This meant my terms form (using Gravity Forms) couldn't collect the user_id field because it didn't actually exist yet.
To fix this, I hooked into the user_register action to capture the new user. There are several validation steps on the front and backend that I won't detail, but in the end, the user is written to the database and emailed a secure link to set their password. I created a new user meta key called is_first_login and set it to true. This was added when the user was written to the database.
update_user_meta( $user_id, 'is_first_login', true);
Now, I can check that key and send the user to the correct page when they log in.
add_action( 'login_redirect', 'redirect_user_on_login', 10, 3);
function redirect_user_on_login( $redirect, $request, $user ) {
if(get_user_meta($user->ID, 'is_first_login', true)) {
// Since it's the first login, set this to false
update_user_meta($user->ID, 'is_first_login', false);
// push to the terms page
return home_url('/complete-registration');
} else {
// Check the user role and redirect appropraitely
return (is_array($user->roles) && in_array('administrator', $user->roles)) ? admin_url() : site_url();
}
}
If it is a new user, they are shown the terms page. Accepting the terms allows for accountability. Gravity Forms handles the next redirect when the user submits the terms form.
Marc Seigel is always doing great things in his classroom and he tweeted out a great picture of a bulletin board that now lives at the front of his room.
My new bulletin board at the front of the #roomofawesome No more boring announcement board. Now positive messages are what the students will see every day.
A photo posted by marc seigel (@daretochem) on Aug 20, 2015 at 7:49am PDT
I’m working on making my Word Wall (more on that some other time) and my biggest beef is how long it takes to go through and make each word look nice. Selecting each term, changing the font, changing the style…way too long.
So, here’s a script that will do the same thing.
The script has an array of the most readable fonts in the Google Font library. If you want to add others, just add it’s name in single quotes on line 20.
Words go on their own line in the Google Document. When you add the script, reload the doc and a special menu will appear at the top where you can run the script. It loops through each line, applies a random font style, changes the font size to 48px, and then randomly applies bold formatting.
You can grab a view-only version of the document for your own drive. Instructions are also in the document.
Things go wrong. It’s a fact that we have to embrace and learn to live with if we want to be great teachers. I’ve learned some of my most valuable teaching lessons from classes or activities melting down in front of me.
Adversity is inevitable when we work with other people. We have disagreements with colleagues, students will fight for something…it’s human nature. By nature, we all work for ourselves. To be effective in schools, we must be willing to step out and support one another.
We tend to think of our best days when everything goes right. The lab worked perfectly, kids got the concept, we all cooperated, and maybe even had some fun in class. I’m not convinced those days offer significant opportunity for growth. We can learn from success, but we all know our best learning happens in failure. How we handle that failure in the moment gives us a glimpse of our growth. I’ve observed three responses to failure and supports for people that fit each category.
The Pouter – I think this type of response is a symptom of entitlement. When something doesn’t go right, it isn’t our fault. We were wronged and there’s nothing anyone can say or do to help us move on. Give me space and I’ll check back in when things smooth out. This isn’t necessarily withdrawing physically, but a mental check-out that hurts the learning atmosphere, and worst of all, the students.
Support – Be a gentle voice. Offer help on small tasks so they can focus on teaching. Finding a way to make sure students are supported, even in the midst of failure, is priority. Give your colleague some space, but also remind them that there is a support network to help move on.
The Worker – Driven by a need to make things right, this person puts their head down and plows forward. Unfortunately, they often shoulder the entire burden and do not ask for help, leading to an eventual burn-out. These people are great problem solvers, but miss the group atmosphere of finding solutions. Colleagues may feel a little helpless as they watch The Worker power through issues on their own.
Support – The Worker is not used to asking for help and may not be looking for areas that are open for outside support. When you have time, offer to do small tasks. Find ways to engage students by taking a class over or by stepping in and co-teaching for a period. Be forceful, but defer to the person you’re supporting.
The Engager – This person looks for ways to meet the situation at face value and move forward collaboratively. Working with colleagues and/or students as needed, they are able to find effective solutions and avoid a burn-out during the problem-solving process. The Engager is a good leader and is willing to accept responsibility for mistakes that are made.
Support – Be ready to take on a leadership role within the group. The Engager is looking to delegate and they need people they can count on to take care of particular things that need to happen. Follow through with whatever task is given and be willing to do more for them.
Notice that each supporting role is just that…support. Failure needs to be a collaborative experience, and by taking on a support role, we can encourage learning rather than bitterness. These are not at all comprehensive, not permanent labels, and apply to students just as much as they apply to teachers…more so, even. I have fallen into each of the categories depending on the particulars of the problem. But, if we can recognize what role we’re taking in a situation, it will help the healing and learning process begin sooner rather than later.
The featured image is from James Sanders’ Instagram library.