paginate_links na consulta personalizada no administrador – erro ‘permissions suficientes’

Criei uma página no meu administrador com esta consulta personalizada:

$rows = $wpdb->get_results("SELECT * FROM ej_feedback ORDER BY createdtime ASC"); 

Eu fiz com que paginemos com sucesso, conforme exigido, na medida em que a quantidade certa de postagens mostram na primeira página e a quantidade certa de links de paginação aparecem. Impressionante!

No entanto, quando eu clicar em um dos links de paginação para entrar na página 2, recebo um erro de administrador:

Você não tem permissions suficientes para acessar esta página

A url parece assim:

/wp-admin/admin.php?page=user-feedback/user-feedback.php/page/2/

Eu realmente não sei por que estou recebendo esse erro no administrador. É um problema mais geral com o administrador ou está relacionado ao uso de paginação na área de administração? Qualquer ajuda será muito apreciada.

O script funciona perfeitamente no frontend – eu só acho que o WordPress tem um problema com o URL gerado.

Solutions Collecting From Web of "paginate_links na consulta personalizada no administrador – erro ‘permissions suficientes’"

A última parte da URL está sendo tratada como parte do valor da page .

/wp-admin/admin.php? página = feedback do usuário / usuário-feedback.php / page / 2 /

A parte em negrito é sua página de plugin, então, quando você vai adicionar peças a esse URL, ele é considerado parte dessa URL.

Se você usar isso em vez disso, ele não deve funcionar nenhum problema.

/wp-admin/admin.php?page=user-feedback/user-feedback.php&paged=2

Nota: Você realmente pode reproduzir o problema facilmente adicionando qualquer outra coisa da mesma maneira, por exemplo.

/wp-admin/admin.php?page=user-feedback/user-feedback.php/foobar/

Se você quiser URLs muito paginados para a sua página de plugin, você terá que procurar criar reescritos adicionais para essas páginas, mas talvez seja para outra questão … (e não tenho tempo para responder – essa questão em particular era bastante fácil para detectar)