32

Regarding the WP_USE_THEMES constant, the Codex states:

If you are using The Loop inside your own design (and your own design is not a template), set WP_USE_THEMES to false.

But what is the actual effect on WordPress from WP_USE_THEMES being set to true or false? I would like to know how it's used by WP.

31

This is only used in template-loader.php, to determine whether it should load a theme file or not. The normal "boot sequence" of WordPress (started in wp-blog-header.php) loads the plugins, parses the URL, executes a post query based on the URL, and calls the theme. This main post query is typically used in "The Loop". So if you want all the advantages of URL parsing but not display it using the site theme, you can set WP_USE_THEMES to false and it will not execute that final step.

  • Thanks Jan, I'll study those files further to get it fully. – mikkelbreum Mar 24 '11 at 13:05
  • 1
    Just to clarify, the active theme's functions.php file will still be loaded. It is only the theme template(s) that aren't loaded. – J.D. Jan 31 '14 at 20:33
  • 2
    What would be a practical example of a situation where this is used? Why would someone want to prevent the theme from loading? – Alexander Rechsteiner Feb 19 '14 at 12:18
  • 2
    @AlexanderRechsteiner: Maybe you implemented a backend action, that should not return a full HTML response. Similar to how cron is implemented, or an API that returns the data in another format? – Jan Fabry Feb 19 '14 at 15:42
  • Just to add to the answer in the comments: presumably, this would come into play if WordPress was used headlessly (e.g., via wp-cli). – Loren Rosen Apr 14 at 22:47
0

Based on this line in The Loop documentation:

<?php define( 'WP_USE_THEMES', false ); get_header(); ?>

I would assume that the purpose of WP_USE_THEMES in this example is to run action handlers registered to the get_header hook, but not actually execute the header template file.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.