Comme un WordPress développeur j’utilise très souvent les mêmes snippets pour éviter de perdre du temps lors de la création d’un nouveau plugin. Et aujourd’hui est un grand jour juste parce que je vais partager certains d’entre eux avec vous. Les extraits ci-dessous ne sont pas liés et vous pouvez les utiliser dans vos propres plugins et thèmes personnalisés.
Encoder les e-mails et éviter les spams
Pour commencer, j’aimerais que vous vous présentiez un simple extrait de code utilisant une fonction native de WordPress appelée : antispambot(). C’est très facile à utiliser mais c’est très utile. L’objectif est de crypter les e-mails affichés sur le front-end pour éviter que les robots spammeurs ne les attrapent et vous spamment ou vous envoient des clients. Placez simplement l’e-mail en tant que paramètre de fonction et WordPress fait le travail :
echo antispambot("johndoe@mysite.com");
Modifier l’espace réservé « Entrez le titre ici »
Ensuite, lorsque vous ajoutez un nouveau message, une nouvelle page ou un nouveau type de message personnalisé, le champ de titre a un espace réservé qui dit « Entrez le titre ici ». J’aime vraiment quand le texte de l’espace réservé prend en compte le type de publication que vous ajoutez. Par exemple, s’il s’agit d’un livre, l’espace réservé doit afficher « Entrez le titre du livre ici ». Pour cela, utilisez ce code :
function change_default_title( $title ){
$screen = get_current_screen();
if ( '_your_custom_post_type_' == $screen->post_type ) {
$title = 'The new title';
}
return $title;
}
add_filter( 'enter_title_here', 'change_default_title' );
Définissez simplement le type de publication.
Vérifier si un plugin est actif
J’ai créé quelques plugins dépendant de BBpress. Comme je ne voulais pas que mes plugins se chargent si BBpress manquait, j’utilise ce code. Si simple, mais si utile !
// Include if use on the frontend, not needed in the admin
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
if (is_plugin_active('plugin-directory/plugin-file.php')) {
//plugin is activated
}
Affichage de la date en utilisant le format par défaut de WordPress
Dans presque tous les plugins ou thèmes, cela n’est pas fait correctement. Oui, je parle de la façon dont les dates sont affichées. Comme de nombreux développeurs font des thèmes ou des plugins en anglais, ils utilisent le format de date américain, alors que les Européens utilisent ces éléments, la date n’est pas correctement formatée. Ainsi, un moyen simple d’afficher toutes les dates avec le même format consiste à utiliser le magasin de formats dans vos propres options d’installation WordPress à l’aide de l’extrait ci-dessous. Ce est-à-dire:
date( get_option('date_format'), strtotime( $date ) )
Obtenir un identifiant d’utilisateur par son login
L’autre jour, on m’a demandé de créer un plugin de référencement pour WordPress. Mon client voulait que les urls soient plus ou moins formatées comme ça : http://monsite.com/referrer/remi (où, évidemment, « remi » est le référent). Pour ce faire, j’ai utilisé les règles de réécriture (voir mon post précédent), et aussi une petite fonction pour récupérer l’identifiant de son login :
$my_user = ''; // can be $_GET['user'] or query_vars
$user = get_user_by('login', $my_user );
$user_id = $user->ID;
Obtenir une URL média (par son ID)
Basique mais sympa, voici un moyen simple d’obtenir l’URL d’une pièce jointe :
wp_get_attachment_url( $id );
Ajouter automatiquement du contenu à chaque publication
Ceci est un exemple de la façon d’ajouter n’importe quel type de contenu à chaque publication de votre installation WordPress. Vous pouvez par exemple utiliser cette méthode pour ajouter du contenu au flux uniquement, sur des publications qui correspondent à certains critères etc…
function add_post_content($content) {
if(!is_feed() && !is_home()) {
$content .= '<p>copyright '.date('Y').'</p>';
}
return $content;
}
add_filter('the_content', 'add_post_content');
Faire écho à un shortcode hors de la boucle
Celui-ci est l’un des meilleurs extraits de code, mais comme on me demande presque tous les jours comment le faire, voici comment afficher le contenu d’un shortcode hors de la boucle :
echo do_shortcode('[shortcode option1="value1" option2="value2"]');
Affichage « temps humain »
Et pour finir la liste des snippets, une fonction rapide qui permet d’afficher l’heure comme le font Twitter de Facebook : « il y a 11 min », « il y a 1 heure », « hier » etc…
echo human_time_diff(get_the_time('U'), current_time('timestamp')).' ago';