This is tricky, as people usually mix wp-load with AJAX and I can’t really find a proper answer.
Case 1
I have a dynamic style.php file that looks like this:
<?php header("Content-type: text/css");
require_once('../../../../wp-load.php'); ?>
body {
background: <?php echo get_option('background_color'); ?>;
}
Case 2
I’m using AJAX call:
jQuery.post('<?php bloginfo('template_directory'); ?>/framework/foo.php',{ foo: smth, bar: else });
Then I’m running some WordPress functions within foo.php (it’s not JS as in other examples):
$foo = $_POST['foo'];
$bar = $_POST['bar'];
$theme_options = get_option('theme_options');
$theme_options[$smth] = $foo;
update_option('theme_options', $theme_options);
How to avoid wp-loads in both of these cases?
Thanks a lot 🙂
Here is a basic setup that I use for AJAX with WordPress. instead of loading wp-load.php; just use WordPress default method for AJAX calls. This allows you to also filter function calls from Javascript through a switch. I also added a quick example for wp_localize_script.