[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