2014-02-14 3 views
0

Недавно я унаследовал и перевел сайт Wordpress, содержащий различные пользовательские плагины. Кажется, что все работает правильно, кроме одной ссылки в разделе администратора, связанного с плагином. Страница становится пустой, когда нажимается ссылка, когда она должна перечислять все заказы. Синтаксических ошибок нет.Ошибка функции плагина Wordpress?

Я знаю, что это длинный снимок, но мне было интересно, если кто-нибудь заметит какие-либо проблемы с нижней функцией, которая обрабатывает страницу? Любое понимание было бы весьма благодарным.

/** 
* List all bookings 
*/ 
function admin_list_bookings($class_id = false, $wrapper=true) { 
    global $ae_EventManager; 
    // View single? 
    if (isset($_GET['view_booking']) && is_numeric($_GET['view_booking'])) { $this->admin_view_booking($_GET['view_booking']); return; } 
    // Delete posts? 
    if (isset($_POST['DeleteLogs']) && !empty($_POST['sel_bookings']) && is_array($_POST['sel_bookings'])) { 
     foreach ($_POST['sel_bookings'] as $delete_id) { 
      wp_delete_post($delete_id, true); 
     } 
     echo '<div class="updated"><p>Selected logs have been deleted.</p></div>'."\n"; 
    } 
    // Load all bookings 
    $booking_log_type = 'private'; 
    if (isset($_GET['logtype'])) $booking_log_type = 'any'; 
    $bookings = get_posts(array(
     'post_type'  => $this->booking_type, 
     'numberposts' => -1, 
     'post_status' => $booking_log_type, 
     'post_parent' => (is_numeric($class_id) ? $class_id : false), 
    )); 

    // Output 
    if ($wrapper) { 
    echo '<div class="wrap">'."\n"; 
    echo '<h2>View Class Bookings</h2>'."\n"; 
    echo '<form class="plugin_settings" method="post" action="'.esc_url($_SERVER['REQUEST_URI']).'">'."\n"; 
    echo wp_nonce_field($this->nonce); 
    } 
    ?> 
    <table class="widefat"> 
     <thead><tr><?php if ($wrapper) { ?><th><input type="checkbox" id="check_all" /></th><?php } ?> 
     <th>Date</th><th>Class</th><th>Name</th><th># Seats</th><th>Booking Cost</th><th>Status</th></tr></thead> 
     <tbody> 
    <?php 
    foreach ($bookings as $booking) { 
     $booking->post_content = $this->__unserialize($booking->post_content); 
     $log = $booking->post_content; 
    //   echo '<pre>'; print_r($booking); echo '</pre>'; 
     $view_link = 'edit.php?post_type='.$ae_EventManager->course_type.'&page&view_booking='.$booking->ID; 
     ?> 
     <tr> 
      <?php if ($wrapper) {  ?> 
      <td class="ctrl"><input type="checkbox" name="sel_bookings[]" value="<?php echo $booking->ID; ?>" /></td> 
      <?php }     ?> 
      <td><a href="<?php echo $view_link; ?>"><?php echo $this->format_time_ago($booking->post_date); ?></a></td> 
      <td><?php echo $log['course_name'].'<br />'.date('d-m-Y H:ia', strtotime($log['class_date'].' '.$log['class_time'])); ?></td> 
      <td><?php echo $log['tickets'][0]['firstname'].' '.$log['tickets'][0]['lastname']; ?></td> 
      <td><?php echo $log['number_seats']; ?></td> 
      <td><?php echo '$'.number_format($log['transaction_total'], 2); ?></td> 
      <td><?php echo $log['payment_method'].'<br />'.$log['eway_response']['ResponseMessage']; ?></td> 
     </tr> 
     <?php 
    } 
    ?> 
+0

Это выстрел в темноте, существует бесчисленное множество возможностей. Сначала попробуйте включить [WP Debug] (http://codex.wordpress.org/WP_DEBUG). Если это происходит из-за ошибки PHP (я уверен, что это так), вы сможете увидеть, что происходит, и исправить ошибку. Кроме того, 'admin_menu()' и 'admin_enqueue()' слишком легко распространены для имен функций, которые могут вызывать «Неустранимая ошибка: невозможно обновить admin_menu() [...]» или так. – mathielo

ответ

1

Просто добавьте закрывающую фигурную скобку} в конце функции admin_list_bookings

+1

Если он не скопировал и вставил неправильно, это должно сделать это. –

+0

Извините, я вставлял неверно .. нет синтаксических ошибок. – user1615837

Смежные вопросы