[wp-hackers] "deprecating" direct calls to wp-config.php

Eric Marden wp at xentek.net
Tue Nov 17 15:49:16 UTC 2009


> Isn't there any way to make everybody happy (ie finding a way to
> properly locate the wp-config.php whatever the installation path is?).


Doing it the right way will make everybody happy. :)

You DO NOT need to include wp-config.php for ajax in the admin nor the  
front-end, nor for just about anything else you might want to do in  
WordPress.

Your processing function should look like this:

add_action('wp_ajax_myhook','my_ajax_function');
function my_ajax_function()
{
   // do stuff and echo results
   exit;
}

Your ajax js should pass action=myhook somewhere in its request  
payload, and post to wp-admin/admin-ajax.php...  <?php echo  
admin_url("admin-ajax.php"); ?> is your friend here.

More Info: http://codex.wordpress.org/AJAX_in_Plugins

Add your script using a function that calls wp_enqueue_script:
http://codex.wordpress.org/Function_Reference/wp_enqueue_script

This function should hook in on admin_print_scripts. If you want to  
limit it to a certain page you can use the "admin_print_scripts-*"  
hook, where * is the page hook.

Briefly explained here: http://codex.wordpress.org/Plugin_API/Action_Reference#Administrative_Actions 
  and here: http://codex.wordpress.org/Plugin_API/Action_Reference/admin_head-%28plugin_page%29



Bottom line is that if your functionality is encapsulated properly in  
a plugin, you'll have full access to all of WordPress's API and there  
is almost nothing that you won't be able to accomplish. Plugin  
Development can be a departure from what you're used to doing as PHP  
Developer. I spent many years as a developer and never even considered  
using a callback (http://en.wikipedia.org/wiki/Callback_%28computer_science%29 
), but WordPress makes extensive use of them, because as a language  
construct they are incredibly powerful ways to let plugins do their  
thing during various stages of the WP execution life cycle.


HTH,


- Eric Marden
__________________________________
http://xentek.net/code/wordpress/
tw: @xentek






More information about the wp-hackers mailing list