performance - Minimal WordPress load for only `get_option` to work (because ajax...)

In a plugin, I use ajax to get_option() which takes much longer than it has to because entire wp gets loaded.How do I se

In a plugin, I use ajax to get_option() which takes much longer than it has to because entire wp gets loaded.

How do I set things up so that it (my ajax) loads only what is needed? (get_option())

In a plugin, I use ajax to get_option() which takes much longer than it has to because entire wp gets loaded.

How do I set things up so that it (my ajax) loads only what is needed? (get_option())

Share Improve this question edited Apr 22, 2019 at 21:31 Maxime 1337 bronze badges asked Jun 23, 2013 at 2:39 laggingreflexlaggingreflex 1,0303 gold badges14 silver badges23 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 5

If you're building something for public consumption (a plugin, a theme, etc) use admin-ajax.php like you should because that is the appropriate and accepted way to do things and gives your end users the power they need to change and modify things if they so choose.

Beyond that, the best you MAY be able to do is use the SHORTINIT constant. Define it in a custom php file, then require wp-load.php and do what you need to do. SHORTINIT stops most of the WordPress core from being loaded.

<?php
define('SHORTINIT', true);
require '/path/to/wp-load.php';
// you'll have the basic API here, including `get_option`. Do stuff.

If you do this outside the WP core, you'll have to guess where wp-load.php may be -- you won't have any ABSPATH contant to guide you. That's a risky bet unless you're in full control of the system. In other words, if this is a custom, not publicly-released thing, go for it. Otherwise, use admin-ajax.php.

Another Method is to add this code into functions.php (or in plugin), without need of require '/path/to/wp-load.php'... but it will not be as faster as SHORTINIT :

// EXAMPLE
function MyFuncion(){
    if (isset($_POST['mynamee'])) { echo get_option('my_nm');}
}

//===================Then====================
//1) Execute directly
MyFunction();
//========OR=========
//2) Hook into the EARLIEST ACTION:  
add_action('muplugins_loaded', 'MyFunction',1);

p.s NEVER FORGET TO GUARD and FILTER THE REQUESTS from HACKING!!!

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745565198a4633351.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信