Using WordPress Functions Outside of WordPress

, ,

I’m working on a project that requires the use of WordPress functions (mainly creating users and such) outside of the WordPress installation. After some Google searches of varying specificity, I’ve found a method that appears to work for both WordPress and WordPress Mu. I’ve reproduced it here for my own purposes, as well as yours.

WordPress.org member oranfry posted the following helpful bit of code, to be inserted in the top of the wp-load.php, right after the <?php tag:

global $domain, $path, $base, $admin_page_hooks, $ajax_results, $all_links, $allowedposttags, $allowedtags, $authordata, $bgcolor, $cache_categories, $cache_lastcommentmodified, $cache_lastpostdate, $cache_lastpostmodified, $cache_userdata, $category_cache, $class, $comment, $comment_cache, $comment_count_cache, $commentdata, $current_user, $day, $debug, $descriptions, $error, $feeds, $id, $is_apache, $is_IIS, $is_macIE, $is_winIE, $l10n, $locale, $link, $m, $map, $max_num_pages, $menu, $mode, $month, $month_abbrev, $monthnum, $more, $multipage, $names, $newday, $numpages, $page, $page_cache, $paged, $pagenow, $pages, $parent_file, $preview, $previousday, $previousweekday, $plugin_page, $post, $post_cache, $post_default_category, $post_default_title, $post_meta_cache, $postc, $postdata, $posts, $posts_per_page, $previousday, $request, $result, $richedit, $single, $submenu, $table_prefix, $targets, $timedifference, $timestart, $timeend, $updated_timestamp, $urls, $user_ID, $user_email, $user_identity, $user_level, $user_login, $user_pass_md5, $user_url, $weekday, $weekday_abbrev, $weekday_initial, $withcomments, $wp, $wp_broken_themes, $wp_db_version, $wp_did_header, $wp_did_template_redirect, $wp_file_description, $wp_filter, $wp_importers, $wp_plugins, $wp_taxonomies, $wp_the_query, $wp_themes, $wp_object_cache, $wp_query, $wp_queries, $wp_rewrite, $wp_roles, $wp_similiesreplace, $wp_smiliessearch, $wp_version, $wpcommentspopupfile, $wpcommentsjavascript, $wpdb;

and in wp-settings.php replace all replace all occurrences of =& with =. Then include wp-load.php in your external file, and (in my case) wp-includes/registration.php. You can now call WordPress functions such as wp_insert_user.

Hello There

My name is Phil Nelson and I make beautiful objects for a troubled world. I'm a designer / developer / writer / director / editor / narrator at Occipital.

Stuff I Make

More To See and Read

Browse the Archives

Hey. What're you doing all the way down here? You get lost? Just looking around? Cool. I like you.