我想制作一个插件,我将用于表格数据的jQuery AJAX加载。
我有一个正确打印数据的函数,但是如何“挂钩”到特定的URL?
就像说,我希望运行该函数,并且每当运行对/mycustomplugin/myurl.php的请求时都要打印数据? (请注意,网址/文件不应存在)
我没有WP插件的经验。
答案 0 :(得分:25)
要在Wordpress开始执行其他事物的查询之前过滤您的自定义URL,请使用以下内容:
add_action('parse_request', 'my_custom_url_handler');
function my_custom_url_handler() {
if($_SERVER["REQUEST_URI"] == '/custom_url') {
echo "<h1>TEST</h1>";
exit();
}
}
答案 1 :(得分:1)
一个简单的
if ($_SERVER["REQUEST_URI"] == '/mycustomplugin/myurl.php') {
echo "<my ajax code>";
}
应该创造奇迹。
答案 2 :(得分:0)
如果您想要返回常规wordpress数据,您可以将wp-blogheader.php包含到您的自定义php文件中,如此
//Include Wordpress
define('WP_USE_THEMES', false);
require('Your_Word_Press_Directory/wp-blog-header.php');
query_posts('showposts=10&cat=2');
只需使用常规主题标签即可返回您想要的内容。这个
您的桌面数据来自哪里?您是在尝试在管理员端还是在查看者端显示此信息?
另请参阅使用wp_ajax http://codex.wordpress.org/AJAX_in_Plugins
查看调用钩子函数的完整细分答案 3 :(得分:0)
add_action( 'init', 'my_url_handler' );
function my_url_handler() {
if( isset( $_GET['unique_hidden_field'] ) ) {
// process data here
}
}
使用add_action( 'init', 'your_handler')
是插件中最常见的方法,因为this action是在WordPress完成加载后但发送任何标头之前触发的。 WP的大部分已在此阶段加载,并且用户已通过身份验证。