Made In N.Y | Our Story

Hire Expert Freelance Talent
Vetted By Industry Experts

WPHire is an exclusive network of expert freelance designers and developers.
Now you can focus on your project and we will take care of the hiring.

Try Us For 2 Weeks or Your Money Back
Trusted By
freelance-developer

$100 Credit

Get a $100 credit on your first project, toward your first 20 hours.

freelance-developer

Vetted Freelancers

Brilliant technical skills is not enough. We also vet for behavioral skills.

freelance-developer

No Risk Trial

We are so confident in our freelancers, that we will give you a 14 day risk Free trial.

freelance-developer

Employer Protection

If there is an issue with freelancer, we put funds on hold until the issue is resolved.

Freelancers

Ken R.

Ken is a highly skilled Software Engineer with over twenty years experience. He has been running a small company that develops and sells mobile apps, and is especially good at Python, Objective-C, and Swift. He is currently working on a…

C Objective-C iOS Mac Python Java C# Android + 7 More

Artem G.

Artem is a web developer and programmer with 9+ years of experience working within large companies and on his own. He enjoys working on interesting and challenging projects that enable him to apply and further his skills, and looks forward…

PHP JavaScript SQL Windows Git CSS MySQL jQuery + 7 More

Andrii S.

Andrii is a blogger and speaker as well as an expert back-end developer with Python/C and Golang. He has extensive knowledge of the Amazon Web Services (AWS) platform as well. He also has an interest in databases; you can find…

SQL Python C Facebook Open Graph API Elasticsearch JavaScript Golang Django + 7 More

Jeff M.

With 30+ years working as an engineer, project manager, and director, Jeff is able to combine exceptional communication skills with superior technical abilities. While working in the high-tech, financial, entertainment, manufacturing, and medical industries, he has built a large store…

Java Windows Node.js JavaScript CSS C# C++ C + 6 More

Daniel L.

Daniel is a a technology enthusiast and a very proficient programmer. He holds a Ph.D. in Information Theory, and an M.Sc. in Mathematics. He has also built a successful enterprise software company.

JavaScript Java PHP Python Linux jQuery Node.js Angular JS + 7 More

Matt H.

Matt is a top architect and developer who has architected, developed, and maintained systems and software applications with companies large and small around the world. He has extensive experience with web, mobile, desktop, and even game development.

HTML5 Java CSS JavaScript Scala Android Linux Windows 7 + 7 More

Our Screening Process

Language & Attitude

First we test how well they speak English. Then we ask them to describe their past work to determine how passionate they are. We like listen to the level of detail and challenges they faced in the past.

Proven Experience

We set up a screen sharing video call and have the candidate explain to us what their code. Organized code structure, reusable code, and functions that are not outdated are patterns we look for.

Test Project

Then we give the candidate test project to fix poorly written code. What we look for is how they rewrote the code and the level of detail to attention while re-writting the code.

Continued Excellence

Once they reach this level. We monitor their work and ensure that they meet task deadlines and constantly keep you in the loop. At WP Hire, continued excellence is the root of our culture.

'When I had a problem with a WordPress plugin, I turned to WPHire for help.'

— Kevin Knauss, CEO of Kevin Knauss Health & Life Insurance

WordPress Interview Guide: The Ultimate Playbook

Interviewing developers can get really tricky. The C players usually have canned rehearsed responses to questions they are used to hearing. The following guide will help you weed out those kind of developers!

Before going into all the technical questions with a WordPress developer, its more important to ask behavioral questions first. The developer can be a great coder but a poor communicator, a poor project manager, and a not so great of a tester. They may mark tasks complete, only until you find a bunch of errors that they could of easily been avoided.

This guide will walk you through, on how to qualify the WordPress developer, first for attitude and behavioral skills, and then we will dive into the technical screening

Ready? Let’s get started!

Reference Check

When interviewing a WordPress Developer you want to mention, prior to receiving a job offer with our organization, you may be required to arrange personal personal reference calls with former bosses. The C Developers will drop out and automatically give you some kind of excuses such as they are "not allowed to give out information". A developers are attracted.

Rate the Developer

After receiving references, you want to ask the developer, how would the client rate you from a 1-10 on the following categories:

  1. Communication:How frequent where you kept in the loop? .
  2. Deadlines: Where they able to meet project deadlines on top, if not did they give you heads up about it?
  3. Project Management:Did they finish the project on time or was it stretched out?
  4. Error Proofing: Where there a lot of bugs in the code, each time they completed a milestone?

Listen To Their Passion


During the interview you want to ask them an exciting project that they are most proud of?
A Developers take a lot of pride in their accomplishments, especially when it comes to coding. 

A Players tend to talk about outcomes linked to expectations. B and C developers talk generally about events, people they met, or aspects of the job they liked without ever getting into results.

Find Patterns through their work history

You want to ask the developer to go through all the projects he has completed in chronological order and find patterns of resourcefulness, overcoming challenges, meeting deadlines, and project management. For each project they have completed you want to ask them the following questions:

  1. What challenges did you face?
  2. What did you like/dislike about this project
  3. What languages did you use to complete this project?
  4. Was there any new skills you learned from this project?
  5. 
 Is there any thing you added to this project that wasn’t specified by the client?

Contributions

Code Contributions and Help to the public community, are very strong indicators that shows you are interviewing an A developer.

Here are 3 contributions you want to look for:


  1. Did they publish any open source code on GitHub?
  2. 
Being active on forums as Quora and Stackoverflow.
  3. Have they answered coding questions
Did they publish any sort of tutorials on YouTube?


If the developer has published a lot of open source code in GitHub or has answered a lot of questions, you don’t need to interview them any further. You should hire them right away!


If they haven’t then that’s fine, you can go ahead and screen them further.

Q: What are some ways you can make a WordPress website more secure?


  • Restrict access to the configuration file using the .htaccess change and change the file permissions on the config file
  • Make use of Authentication keys
  • Changing the default database WordPress prefix. (Bad bots and malicious scripts heavily target WordPress tables with the default prefefix)
  • Make sure file and directory permissions are set properly
  • Prevent a list of directories shown on the browser
  • Remove the WordPress version from the tags such as generator tag and meta tag
  • Disable error display so that sensitive information regarding the error is not displayed to the public

Q: How would you optimize a WordPress website?

  • Reducing the image size without loosing quality
  • Caching the website. You can also use a plugin called WP Fastest Cache
  • Deactivating plugins you aren’t currently using
  • Using WP-Optimize to delete garbage files
  • Try minimizing as many plugins as you can, and go for the lightweight plugin
  • Use lightweight themes, and install plugins that you actually need
  • Use a managed WordPress hosting services such as Site Ground and WP Engine

Q: What would you do to change the following code and why?

  public function save_posts() { 

save_post( 1, 'Hello World!');
save_post( 2, 'Goodbye World!');
save_post( 3, 'What is this new world?');

}

Answer:
A developers don’t repeat themselves when writing code.
The following code could be changed without having to use “save_post” 3 times.



Here is how the code could have been re-written. 



  
public function save_posts() { 

    $posts = [
    1 => 'Hello World!',
    2 => 'Goodbye World!',
    3 => 'What is this new world?',
  ];

    foreach ( $post as $post_id => $post_title ) {
    save_post( $post_id, $post_title );
   }    
}

Q: The following code is used to load custom jQuery into admin. How would you change it in order to load jQuery?

  <?php function install_wp_synonym_plugin_js_file() { ?>

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js'>
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jqueryui/3.1.1/jquery-ui.min.js'>

<script>
$(document).ready(function() {

some jQuery code goes here

</script>

<?php } add_action('admin_head','install_wp_synonym_plugin_js_file',99);

 ?>

Answer
Custom versions of jQuery should never be loaded by plugins. The only exception is a plugin that is built specifically to replace the default version of jQuery. When loading Javascript files of any kind, they should always be loaded with wp_enqueue_script()

  function my_admin_scripts() { 

wp_enqueue_script( 'my-great-script', plugin_dir_url( __FILE__ ) . '/js/my-great-script.js', array( 'jquery' ), '1.0.0', true );
}

Q: How can I load different scripts for the author archive page and single post page?

Answer
The following conditional statements would be used

.

  if(is_single() || is_author() ){

wp_enque_script(
‘simone-hide’,
get_template_direcory_uri().’/js/hide.js’,
array(jquery),
‘20130310’,
true
);

}


Q: How would you disable a previous developers written css style, and add your own custom style without overwriting the previous style?


By first adding a conditional apply_filters() function when using enqueue_style() function, and then you can use the same filter in the code and add __return_false in the argument

  function spcp_login_stylesheet() { 

if ( apply_filters( 'spcp_load_styles', true ) ) {
wp_enqueue_style( 'spcp-custom-stylsheet', plugin_dir_url(__FILE__) . 'spcp-styles.css' );
}
}
// Uncomment the following line to keep spcp-custom-stylesheet from loading
// add_filter( 'spcp_load_styles', '__return_false' );


Q: 
Why do developers use the following code when developing a plugin? 


  if(!defined(‘ABSPATH’){
exit;

}

Answer:
Its used for security purposes, so that the file can’t be accessed directly within the browser. 


Q: A developer decided to change the login error message to “Invalid Username” instead of just showing “Invalid Credentials”
Why would he decide to change the message and how would he do it?

Answer:
If hacker is trying to hack into your WordPress website, the invalid username error message will tell them if the username they are entering is correct or not.

Once they find out the correct username all they need now is the password.
By making the error message obscure, they will not know if the username or password is correct. 

You can change the error message code by making a custom wp login plugin, and writing the following code

  add_action( 'login_enqueue_scripts', 'cwpl_login_stylesheet' ); 

/**
* Load custom stylesheet on login page.
*/

function cwpl_login_stylesheet() {

wp_enqueue_style( 'cwpl-custom-stylsheet', plugin_dir_url(__FILE__) . 'login-styles.css' );
}

add_filter( 'login_errors', 'cwpl_error_message');
/**
* Returns a custom login error message.
*/

function cwpl_error_message() {

return 'Well, that was not it!';

}