我正试图写一个WordPress插件,我遇到了一个麻烦。
The Background: 我在使用的mySQL数据库中有一些数据(每一行都有一个唯一的ID和我添加的一些其他信息)。我可以使用
$heads = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}costumesdb WHERE location = \'head\'", ARRAY_A);
并使用表单向用户显示一些信息(这是5个不同下拉列表中的一个,但它们都是以相同的方式创建的)<form id="createacostume" action= "admin-ajax.php" method="post">
Head: <select name="head">
<?php foreach ($heads as $head) { ?>
<option value="<?php echo $head[\'id\'] ?>"><?php echo $head[\'shopName\'] . " - " . $head[\'pieceName\'] ?></option>
<?php } ?>
</select>
<input type="submit">
将表单数据提交到服务器的脚本为:<script type=\'text/javascript\'>
jQuery.ajax({
type: "POST",
url: ajax_url,
data: { action: \'my_action\' , param: \'st1\' }
}).done(function( msg ) {
alert( "Data Saved: " + msg.response );
});
</script>
在我的php文件中,服务器端是:add_action(\'wp_ajax_my_action\', \'my_ajax_action_function\');
function my_ajax_action_function(){
$reponse = array();
if(!empty($_POST[\'param\'])){
$response[\'response\'] = "I\'ve get the param a its value is ".$_POST[\'param\'].\' and the plugin url is \'.plugins_url();
} else {
$response[\'response\'] = "You didn\'t send the param";
}
header( "Content-Type: application/json" );
echo json_encode($response);
exit();
The Problem: 如果我在表单中设置action=“admin ajax.php”,我将引导到admin ajax。带有“0”响应的php页面。如何从WordPress管理页面的表单中获取数据并进行处理?