J'ai ce shortcode
[broo_user_badges username=""]
et je dois mettre le nom d'utilisateur entre "" Mais, le nom d'utilisateur est dans l'URL:/author/peter. Ainsi, lorsque la page domain.com/author/peter a été chargée, ce shortcode devrait être généré sur cette page:
[broo_user_badges username="peter"]
J'ai trouvé ça
add_shortcode('name', 'get_name');
function get_name() {
return $_GET['name'];
}
ici Comment obtenir les paramètres d'URL en shortcode? mais je ne comprends pas comment utiliser cela sur mon cas (structure/author/peter url).
Edit: plugin https://wordpress.org/plugins/badgearoo/
Cela devrait fonctionner:
function get_name() {
$url = "http://domain.com/author/peter";
if (preg_match("/author/", $url )) {
$lastSlash = strrpos( $url, "/");
return substr( $url, $lastSlash, strlen($url));
}
}
Cela retournera tout après la dernière barre oblique.
Deux façons d'obtenir le nom de l'auteur à partir de l'URL
- Utiliser get_query_var ()
// http://example.com/author/peter
$author_name = get_query_var('author_name'); // peter
- Utiliser get_queried_object ()
// http://example.com/author/peter
$author_info = get_queried_object();
$author_name = $author_info->user_login; // peter
// print_r($author_info); // to see more information about Author
Pour plus d'informations, lisez Informations personnalisées sur l'auteur