How to use WordPress functions in a non-WordPress custom PHP file

I recently came across a scenario where I wanted to make use of some of the many WordPress functions available, but in a non-WordPress custom PHP file. I was building a feature which automatically sends any newly added WordPress ‘property’ custom posts to my clients Facebook page, using the Facebook PHP SDK.

To achieve this, I wanted to loop through the ‘property’ custom posts using WP_Query and post each newly added property to the Facebook page. This file needed to sit on the root of my site. I starting coding this file up and soon realised I’d forgotten one important thing…I wasn’t working on one of your standard ‘page’, ‘category’, ‘single’ etc WordPress files, therefore I couldn’t use any of the WordPress functions.

After some research, I learnt that the all important WordPress file that I needed to include in my custom PHP file was ‘wp-load.php’. All you need to do is include this file before using any WordPress functions and away you go. Below is an example of how to include the file:

<?php
require_once("wp-load.php");

your WordPress code here...

It’s as easy as that!

Note: If you’re adding your custom PHP file in your theme folder rather than on the root of your site, you need to make the ‘require_once’ relative to the path of the ‘wp-load.php’ file, as this file sits in the root of your site. Below is how you do so:

<?php
require_once("../../../wp-load.php");

your WordPress code here...

Looking to start a project? Let’s work together. Email info@adamboother.com.