How to include WordPress functions in custom .php file?

Sziro picture Sziro · Mar 9, 2013 · Viewed 92.3k times · Source

How can I include WordPress functions in a custom .php file?

In detail: I have a directory under my theme (Constructor) named reports. These contain .php files that generate reports from data from the site with DOMPDF for downloading. For these I would like to use functions that the WordPress engine provides, for example get_the_author_meta( 'user_firstname', $user_id ). If I use these i get (naturally) the following error:

Fatal error: Call to undefined function get_the_author_meta() in ROOT/public_html/wp-content/themes/constructor/reports/testreport.php on line 15

I was lead to believe that I need to include wp-blog-header.php . I use require_once("../../../../wp-blog-header.php"); . With this I get the following 404 error:

No webpage was found for the web address: ROOT/wp-content/themes/constructor/reports/testreport.php

(The require points to the correct path. If I fiddle with it, I get Warning: require_once(../../../wp-blog-header.php): failed to open stream... So the path must be correct.)

Is there something I overlook? Why can't I include this wp file? What is the correct method to include the wp functions?

Thanks for the help, Sziro

Answer

seanbreeden picture seanbreeden · Mar 9, 2013

You're on the right track. Try this instead:

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