Приветствую всех!
Есть плагин приобретенный на этом сайте по розыгрышу купонов. Пытаюсь написать дополнение выводящее в вкладке ЛК результат по аналогии со статьей _http://codeseller.ru/sozdaem-svoe-dopolnenie-dlya-wp-recall-vyvodim-svoyu-vkladku-v-lichnom-kabinete/.
Код функции рабочий, работает на виджете. Вкладка выводится, функция получения и розыгрыша работает без ошибок в консоле браузера, но при любой активной вкладке отображается только содержимое лотерея. Помогите разобратся где может быть ошибка:
WP-Recall 14 beta
Скрины:
//Создадим новую вкладку видимой только хозяину личного кабинета.
add_action('init','add_tab_lottery_coupons');
function add_tab_lottery_coupons(){
rcl_tab('lotterycoupons','lottery_coupons_recall_block','Лотерея',array('public'=>0,'class'=>'fa-money','order'=>20));
}
function lottery_coupons_recall_block($user_lk){
global $wpdb;
$user = wp_get_current_user();
$id_user=$user->ID;
if(!$id_user)$id_user=0;
$status = array(array('Ожидает','Сгорел','Играет','Приз','Главный приз'),array('away','no','yes','prz','sup_prz'));
echo '
<div class="lotereya">
<div class="lotereya_header">Лотерея</div>
<button class="button_wide" type="submit" onClick="newCupon()" tabindex="9">Получить купон</button>
<table class="list_cupon">
';
$list = $wpdb->get_results("SELECT `id`,`date`,`status` FROM `".$wpdb->prefix.loterea."` WHERE `user_id` = ".$id_user."");
foreach($list as $item) {
echo '
<tr>
<td>'.(($item->id*1714)+111).'</td>
<td><span class="'.$status[1][$item->status].'">'.$status[0][$item->status].'</span></td>
</tr>
';
}
echo '
</table>
</div>
';
}
function add_tab_lotterycoupons_rcl($array_tabs){
//lotterycoupons - идентификатор вкладки дополнения
//lottery_coupons_recall_block - название функции формирующей контент вкладки дополнения
$array_tabs['lotterycoupons']='lottery_coupons_recall_block';
return $array_tabs;
}
add_filter('ajax_tabs_rcl','add_tab_lotterycoupons_rcl');
Контент внутри функции lottery_coupons_recall_block должен возвращаться через return а не через echo
этот код в 14-ой версии не нужен
function add_tab_lotterycoupons_rcl($array_tabs){
//lotterycoupons - идентификатор вкладки дополнения
//lottery_coupons_recall_block - название функции формирующей контент вкладки дополнения
$array_tabs['lotterycoupons']='lottery_coupons_recall_block';
return $array_tabs;
}
add_filter('ajax_tabs_rcl','add_tab_lotterycoupons_rcl');
тот код который вы написали в 14 версии не нужен, я его закомментировал на работоспособность он не повлиял, так и остался закомментированным. А вот с return тяжко, не пойму заменил echo на return не помогло, ошибка.
function lottery_coupons_recall_block($user_lk){
global $wpdb;
$user = wp_get_current_user();
$id_user=$user->ID;
if(!$id_user)$id_user=0;
$status = array(array('Ожидает','Сгорел','Играет','Приз','Главный приз'),array('away','no','yes','prz','sup_prz'));
return
<div class="lotereya_lk">
<div class="lotereya_header">Лотерея</div>
<button class="button_wide" type="submit" onClick="newCupon()" tabindex="9">Получить купон</button>
<table class="list_cupon">
;
$list = $wpdb->get_results("SELECT `id`,`date`,`status` FROM `".$wpdb->prefix.loterea."` WHERE `user_id` = ".$id_user."");
foreach($list as $item) {
return
<tr>
<td>'.(($item->id*1714)+111).'</td>
<td><span class="'.$status[1][$item->status].'">'.$status[0][$item->status].'</span></td>
</tr>
;
}
return
</table>
</div>
;
}
пробуйте так
function lottery_coupons_recall_block($user_lk){
global $wpdb;
$user = wp_get_current_user();
$id_user=$user->ID;
if(!$id_user)$id_user=0;
$status = array(array('Ожидает','Сгорел','Играет','Приз','Главный приз'),array('away','no','yes','prz','sup_prz'));
$content = '<div class="lotereya_lk">
<div class="lotereya_header">Лотерея</div>
<button class="button_wide" type="submit" onClick="newCupon()" tabindex="9">Получить купон</button>
<table class="list_cupon">';
$list = $wpdb->get_results("SELECT `id`,`date`,`status` FROM `".$wpdb->prefix.loterea."` WHERE `user_id` = ".$id_user."");
foreach($list as $item) {
$content .= '<tr>
<td>'.(($item->id*1714)+111).'</td>
<td><span class="'.$status[1][$item->status].'">'.$status[0][$item->status].'</span></td>
</tr>';
}
$content .= '</table>
</div>';
return $content;
}