WordPress dispose de fonctions très utiles que vous pouvez utiliser partout dans vos plugins personnalisés. En voici quelques unes qui pourront sans doute vous servir.
add_shortcode()
La fonction add_shortcode()
permet de créer des shortcodes personnalisés que vous pouvez insérer dans les articles, pages ou widgets de WordPress. Le shortcode exécute une fonction PHP que vous définissez.
Note importante : les données renvoyées par la fonction appelée se font par un return et non un echo. Ci dessous un exemple de ce type de sortie lorsque vous avez besoin d’envoyer du code HTML.
function my_custom_shortcode() {
return "Bonjour, ceci est un shortcode personnalisé!";
}
add_shortcode('salutation', 'my_custom_shortcode');
//pour afficher ce message, insérez [salutation] à l'endroit souhaité
Pour une sortie plus complexe que ce simple message de salutations, par exemple un formulaire, vous utiliserez le tampon de sortie :
add_shortcode() avec paramètres
Vous pouvez aussi passer des paramètres aux shortcodes. Par exemple, voici un shortcode qui accepte des arguments personnalisés :
function bouton_perso_shortcode($atts) {
$atts = shortcode_atts(array(
'text' => 'Clique ici',
'url' => '#'
), $atts);
return '' . esc_html($atts['text']) . '';
}
add_shortcode('bouton_perso', 'bouton_perso_shortcode');
//que vous pourrez insérer comme ceci dans votre contenu :
[bouton_perso text="En savoir plus" url="https://exemple.com"]
//ce qui affichera En savoir plus avec un lien vers https://exemple.com
do_shortcode()
La fonction do_shortcode()
permet d’exécuter un shortcode directement depuis un fichier PHP, sans avoir besoin de l’insérer via l’éditeur. Par exemple si nous voulions afficher le shortcode ci-dessus n’importe où sur le site sans passer par un éditeur de page Gutenberg ou Elementor, il suffirait d’écrire :
echo do_shortcode('[bouton_perso text="En savoir plus" url="https://exemple.com"]');
get_permalink()
Retourne l’URL permanente (permalink) d’un post ou d’une page.
$url = get_permalink(123); // Remplacez 123 par l'ID du post
get_current_user_id()
Retourne l’ID de l’utilisateur actuellement connecté.
$current_user_id = get_current_user_id();
home_url()
Retourne l’URL de la page d’accueil du site.
$home_url = home_url();
wp_enqueue_script() et wp_enqueue_style()
Ces fonctions permettent de charger des fichiers CSS et JS dans le thème ou les plugins.
function my_enqueue_scripts() {
wp_enqueue_style('my-style', get_stylesheet_uri());
wp_enqueue_script('my-script', get_template_directory_uri() . '/js/script.js', array(), null, true);
}
add_action('wp_enqueue_scripts', 'my_enqueue_scripts');
the_content()
Affiche le contenu d’un post ou d’une page.
if (have_posts()) {
while (have_posts()) {
the_post();
the_content();
}
}
get_the_author()
Retourne le nom de l’auteur d’un article.
$author = get_the_author();
is_user_logged_in() et wp_redirect()
Vérifie si un utilisateur est connecté. Dans le cas contraire, on le redirige vers la page de connexion.
if (is_user_logged_in()) {
echo 'Bienvenue!';
}else{
$login_url = wp_login_url( get_permalink() );
wp_redirect( $login_url );
exit;
}
wp_insert_post()
Insère un nouveau post ou met à jour un post existant.
$new_post = array(
'post_title' => 'Mon nouveau post',
'post_content' => 'Contenu du post',
'post_status' => 'publish',
'post_type' => 'post'
);
wp_insert_post($new_post);
get_the_ID()
Récupère l’ID du post ou de la page en cours.
$post_id = get_the_ID();
wp_list_categories()
Affiche une liste des catégories.
wp_list_categories();
wp_login_url() et wp_logout_url()
Récupère les URLs pour se connecter ou se déconnecter.
$login_url = wp_login_url();
$logout_url = wp_logout_url();
wp_die()
Arrête l’exécution et affiche un message d’erreur, utile pour les tests.
wp_die('Erreur fatale !');