Wordpress ajax->;php请求
很抱歉,如果有这样的主题,但我没有找到解决我的问题的方法。那我们走吧…=)(我开始学习php) 这是活动日历,它将是WP的小部件。它需要在单击事件时工作。所有代码都写在一个文件中(这是插件)。在小部件中(在右侧边栏中),我编写phpcode(用于测试),在这里我调用这些函数。 您可以推送'2'或'5'日期,mysql中有这些日期的数据。 所有的工作都很好,但是我从来没有在wordpress中使用过php,并且在这段代码中遇到了问题 问题是: 当我在简单html页面中使用此代码时,您可以在上面的链接中看到它,一切正常,我会在我单击的当天得到结果,但在wp中,Wordpress ajax->;php请求,php,ajax,wordpress,Php,Ajax,Wordpress,很抱歉,如果有这样的主题,但我没有找到解决我的问题的方法。那我们走吧…=)(我开始学习php) 这是活动日历,它将是WP的小部件。它需要在单击事件时工作。所有代码都写在一个文件中(这是插件)。在小部件中(在右侧边栏中),我编写phpcode(用于测试),在这里我调用这些函数。 您可以推送'2'或'5'日期,mysql中有这些日期的数据。 所有的工作都很好,但是我从来没有在wordpress中使用过php,并且在这段代码中遇到了问题 问题是: 当我在简单html页面中使用此代码时,您可以在上面的链
alert(for error)
,返回undefined
。我花了两天时间试图解决这个问题,但什么都没有。我希望有人能帮助我
**admin-ajax.php是为wp的视图端完成的
<script type="text/javascript"> // ajaxurl in header.php
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
</script>
/*
Plugin Name: Release Dates
Description: Small calendar for serials release dates.
Author: J_J
Version: 1.0
*/
function draw_calendar($month, $year) // creating calendar
{
$month = date('m');
$year = date('y');
$calendar = '<table class="calendar">';
$headings = array('S', 'M', 'T', 'W', 'T', 'F', 'S');
$calendar .= '<tr class="calendar-row"><td class="calendar-day-head">'.implode('</td><td class="calendar-day-head">', $headings).'</td></tr>';
$running_day = date('w', mktime(0, 0, 0, $month, 1, $year));
$days_in_month = date('t', mktime(0, 0, 0, $month, 1, $year));
$days_in_this_week = 1;
$day_counter = 0;
$dates_array = array();
$calendar .= '<tr class="calendar-row">';
for ($x = 0; $x < $running_day; ++$x) {
$calendar .= '<td class="calendar-day-np"> </td>';
++$days_in_this_week;
}
for ($list_day = 1; $list_day <= $days_in_month; ++$list_day) {
$calendar .= '<td class="calendar-day"><div class="day-number"><a style="cursor:pointer;" onClick="relDaySerial('.$list_day.');">'.$list_day.'</a></div></td>';
if ($running_day == 6) {
$calendar .= '</tr>';
if (($day_counter + 1) != $days_in_month) {
$calendar .= '<tr class="calendar-row">';
}
$running_day = -1;
$days_in_this_week = 0;
}
++$days_in_this_week;
++$running_day;
++$day_counter;
}
if ($days_in_this_week < 8) {
for ($x = 1; $x <= (8 - $days_in_this_week); ++$x) {
$calendar .= '<td class="calendar-day-np"> </td>';
}
}
$calendar .= '</tr>'.'</table>';
return $calendar; }
function get_serials($day) { // here i catch relDaySerial:id
if ($_POST['relDaySerial'] === null) {
$day = date('d');
} else {
$day = $_POST['relDaySerial'];
}
global $wpdb;
$result = $wpdb->get_results("SELECT * FROM tvt_calendar WHERE day=$day");
foreach ($result as $value) {
echo "
<table id='cal-data'>
<tr>
<td class='calendar-day-head'>TV Show</td>
<td class='calendar-day-head'>S</td>
<td class='calendar-day-head'>E</td>
</tr>
<tr class='cal-content'>
<td><a href='#'>".$value->title.'</a></td>
<td>'.$value->season.'</td>
<td>'.$value->series.'</td>
</tr>
</table>
';
}}
function my_action_javascript() {
?>
<script type="text/javascript" >
function relDaySerial(id) {
jQuery.ajax({
type:'POST',
url:ajaxurl,
data:{relDaySerial:id},
success:function(data) {
if(relDaySerial.type == "success") {
jQuery('#cal-bottom').html(data)
}
else {
alert()
}
}});}
</script>
<?php}
add_action('wp_footer', 'my_action_javascript');
add_action('wp_ajax_my_action_javascript', 'my_action_javascript');
add_action('wp_ajax_nopriv_my_action_javascript', 'my_action_javascript');?>
//header.php中的ajaxurl
var ajaxurl=“”;
/*
插件名称:发布日期
说明:小日历系列发布日期。
作者:J_J
版本:1.0
*/
函数draw\u calendar($month,$year)//创建日历
{
$month=日期('m');
$year=日期('y');
$calendar='';
$headers=数组('S','M','T','W','T','F','S');
$calendar.=''。内爆('',$标题)。'';
$running_day=日期('w',mktime(0,0,0,$month,1,$year));
$days_in_month=日期('t',mktime(0,0,0,$month,1,$year));
$days_in_this_week=1;
$day_计数器=0;
$dates_array=array();
$calendar.='';
对于($x=0;$x<$running\u day;++$x){
$calendar.='';
++$days_in_本周;
}
对于($list\u day=1;$list\u day季节)
“.$value->series”
';
}}
函数my_action_javascript(){
?>
函数relDaySerial(id){
jQuery.ajax({
类型:'POST',
url:ajaxurl,
数据:{relDaySerial:id},
成功:功能(数据){
if(relDaySerial.type==“成功”){
jQuery('#cal bottom').html(数据)
}
否则{
警报()
}
}});}
因为您的警报()
需要一个参数。
试试这个:
警报(“发生错误”);
我需要返回relDaySerial数据(天数),我不需要错误消息“发生错误”)))哥们儿,既然有人编辑了你的问题,我现在明白你的意思了。你说还没完成,但我要测试你的代码,而你的代码似乎只是一个整体的一部分,就像