Como usar get_results () no widget front-end?

Estou tentando get_results () no front-end do meu widget, esse é o meu código atual:

public function widget( $args, $instance ) { echo $args['before_widget']; if($children = $wpdb->get_results( "SELECT ID FROM $wpdb->posts" )) echo "working"; echo $args['after_widget']; } 

No entanto, estou recebendo erro “Erro fatal: Ligue para uma function de membro get_results () em um não-object”.

Eu preciso acessar o database para criar um menu com a página crianças. O que eu estou fazendo de errado?

Solutions Collecting From Web of "Como usar get_results () no widget front-end?"

Parece que você não pode acessar isso. Por favor, tente adicionar global $wpdb; para sua function.

ATUALIZAR

Para referência, no WordPress Codex você encontrará:

O WordPress fornece uma variável global, $ wpdb, que é uma instanciação da class já configurada para conversar com o database do WordPress. Use sempre a variável $ wpdb global. (Lembre-se de globalizar $ wpdb antes de usá-lo em qualquer function personalizada.)

adicione global $wpdb desde que você o está usando em function, que tem escopo local.