web-dev-qa-db-fra.com

Ajouter une chaîne de requête à l'URL du plugin

Je crée un plugin qui réside dans http: //localhost/test/wp-admin/options-general.php? Page = my-plugin

J'essaie d'ajouter une chaîne de requête à cette page afin qu'elle puisse être utilisée dans mon plugin, telle que http: //localhost/test/wp-admin/options-general.php? Page = my-plugin? MyVar = cool

Le problème est que cela invite wordpress à afficher le message "Vous ne disposez pas des autorisations suffisantes pour accéder à cette page". page.

Comment puis-je ajouter une chaîne de requête à l'URL de mon plugin? Est-ce documenté quelque part?

merci pour l'aide.

2
mike

Si vous ne savez pas si la chaîne de requête a été lancée ou non, vous pouvez utiliser add_query_arg qu’il sait comment traiter cette question et ajoute les marques "?" ou "&" (quelle que soit la marque). est nécessaire) à la chaîne de requête.

Mettre à jour

À la demande générale, j'ajoute quelques exemples tirés du codex:

Utilisation de get_permalink:

Puisque get_permalink () renvoie une URL complète, vous pouvez l'utiliser pour ajouter des variables à la page d'un article.

//  This would output whatever the URL to post ID 9 is, with 'hello=there' appended with either ? or &, depending on what's needed
echo add_query_arg( 'hello', 'there', get_permalink(9) );

plus général:

En supposant que nous sommes à l'URL WordPress "http://blog.example.com/client/?s=Word"...

//  This would output '/client/?s=Word&foo=bar'
echo add_query_arg( 'foo', 'bar' );

//  This would output '/client/?s=Word&foo=bar&baz=tiny'
$arr_params = array ( 'foo' => 'bar', 'baz' => 'tiny' );
echo add_query_arg( $arr_params );

Ou pour une utilisation avec n'importe quel lien que vous avez, vous pouvez passer le lien uri:

//say your link is: http://wordpress.stackexchange.com/questions/14827/
//then use:

echo add_query_arg( 'hello', 'world','http://wordpress.stackexchange.com/questions/14827/');

pour obtenir http://wordpress.stackexchange.com/questions/14827/?hello=world

Exemple d'URL de page de plug-in avec des arguments de requête supplémentaires:

$query_args = array( 'page' => 'your-plugin-page', 'foo' => 'bar' );
echo add_query_arg( $query_args, admin_url( '/options-general.php' ) )

// outputs
// http://example.com/wp-admin/options-general.php?page=your-plugin-page&foo=bar
8
Bainternet