2015-05-17 3 views
0

Запрашивается некоторая помощь при настройке короткого кода. Я пытаюсь выяснить, как сделать свой собственный плагин и добавить короткий код для быстрого использования. Так может быть что-то не так.Проблема с Wordpress с короткими кодами

У меня до сих пор. У меня есть рабочая таблица базы данных, которую я могу редактировать со страницы администратора из плагина.

Теперь я хочу обновить данные на публичной стороне веб-сайта. Все приведенные ниже коды находятся в папке avail.php, которая находится в папке плагина. Согласно SHORTCODE API, я добавил ярлык обработчик:

function get_benefits($attr) { 
    $benefits = $wpdb->get_results(
     " 
     SELECT * FROM wp_benefits; 
     " 
    ); 

    $html = "<table class='benefits'>"; 
    $html .= "<tbody>"; 
    $html .= "<tr>"; 

    foreach ($benefits as $benefit) { 
     $html .= "<th>".$benefit->Title."</th>"; 
    } 

    $html .= "</tr>"; 
    $html .= "<tr>"; 

    foreach ($benefits as $benefit) { 
     $html .= "<td>".$benefit->Content."</td>"; 
    } 

    $html .= "</tr>"; 
    $html .= "</tbody>"; 
    $html .= "</table>"; 

    return $html; 
} 

И я добавил шорткод с этим кодом:

add_shortcode('benefits', 'get_benefits'); 

Все мои недавние попытки превратить в нулевое содержание на эта страница. Я имею в виду, что div class = "entry-content" пуст. Но даже с неработающим шорткодом, я должен увидеть изображение там. Я немного потерял.

Поблагодарили бы за любую помощь.

ответ

1

$wpdb не определен в вашем обратном вызове по короткому замыканию, поэтому при попытке доступа к методу get_results вы будете вызывать ошибку.

Добавить global $wpdb; в начало вашей функции.

+0

Большое спасибо;) Это сделало трюк. У меня была эта глобальная функция в другой функции, но при копировании некоторые ее не принимали ... – Lazyexpert

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