Récap de la semaine n°36 – 2013

Feedly

Suite à la disparition de Google Reader j’utilise désormais Feedly pour gérer et suivre tous mes flux RSS. Cette semaine j’ai pris le temps de configurer l’extension RSS de Chrome  pour que les deux fonctionnent ensemble. C’était bien plus simple que je ne le pensais.

Fonction WordPress

Une nouvelle fonction dans WordPress que j’ai découverte cette semaine (grâce à l’hebdo de wordpress-fr.net ), qui me semble trop cool et qui va me servir j’en suis sûr :

<?php antispambot( $emailaddy, $mailto ) ?>

Ca encode les lettres de vos mails en caractère HTML pour éviter de vous faire spammer. C’est malin.

<!--?php
echo antispambot("john.doe@mysite.com");
?>

Affiche :

john.doe@mysite.com

http://codex.wordpress.org/Function_Reference/antispambot

Cette fonction est tirée de cette liste de dix fonctions cool et méconnues : TOP TEN UNKNOWN WORDPRESS FUNCTIONS

Tweets

https://twitter.com/HTeuMeuLeu/statuses/375962678319390720

Les videos qui m’ont fait rire

http://youtu.be/x7HzxA8Fe6U

Le site qui fait plaisir

Florent dady il est même responsive en quelque sorte…

Pages protégées par mot de passe, modèle de page et personnalisation

Pour un projet j’ai dû jouer un peu avec la fonction bien pratique, native dans WordPress, des pages protégées par un mot de passe.

Comment activer la protection

Lock iconCa se passe dans la partie Publier des pages et articles. C’est une option de Visibilité. Cliquez sur Modifier et vous pouvez alors choisir trois visibilités : Public, protégé par un mot de passe et privé. Si vous choisissez protégé par un mot de passe il vous est demandé de choisir un mot de passe. Une fois celui ci choisi, il ne reste plus qu’à cliquer sur Ok et mettre à jour votre article ou page.

Modèle de page

Ma page était une page un peu particulière car elle affichait une liste de produits. Les produits étant des custom post type. En fait, si je n’avais pas eu besoin de protéger cette page par un mot de passe j’aurais utilisé le template d’archive de mon custom post type. Tout ça pour dire qu’après avoir créé mon modèle de page et l’avoir assigné à ma page protégée, la protection ne marchait plus. Bizarre.
J’ai donc entrepris quelques recherches sur comment marche cette protection et comment je pourrais la faire marcher dans mon modèle de page.
Il s’avère que cette protection filtre la fonction get_the_content(). Si le mot de passe n’a pas été rentré elle change le contenu par un formulaire, sinon la fonction renvoie bien le contenu de la page.
Mon problème c’est que je n’utilise pas cette fonction car j’affiche tout autre chose dans sur cette page. Heureusement, j’ai trouvé la fonction qui me permet de faire ce que je veux post_password_required() c’est cette fonction qui fait la vérification que le mot de passe a bien été renseigné par le visiteur. Je l’utilise donc comme suit :

if( post_password_required() ){
    the_content();
} else {
  //Mon super affichage personalisé
}
Capture du formulaire par défaut pour les pages protégé par mot de passe
Formulaire par défaut pour les pages protégé par mot de passe

Filtrer le titre pour enlever le « Protégé »:

Comme toujours avec WordPress il s’agit de trouver le bon filtre, voilà celui qui marche et comment l’utiliser

function remove_private_title( $title ) {
    // Return only the title portion as defined by %s, 
    // not the additional
    // 'Private: ' as added in core
    return "%s";
}
add_filter( 'protected_title_format', 'remove_private_title' );

Modifier le formulaire

Encore une fois il s’agit de jouer avec un filtre WordPress

function custom_password_prompt($content) {
  $output = $content . 'Et oui je suis protégé et personnalisé'; 
  return $output; 
} 
add_filter('the_password_form', 'custom_password_prompt');

L’idée ici est de créer une chaine de caractère à retourner contenant le code HTML. IL ne faut pas faire d’affichage. Si vous ne voulez pas du tout utliser le contenu créé par WordPress vous devez juste créer au minimum un formulaire comme ceci pour que l’enregistrement du mot de passe fonctionne.

$output = '<form action="' . esc_url( site_url( 'wp-login.php?action=postpass', 'login_post' ) ) . '" method="post">
    <input name="post_password" type="password" />
    <input type="submit" name="Submit" value="ok" />
</form> ';

Vous pouvez y ajouter ce que vous voulez mais il faut garder les « name » des inputs et les réglages du form

Sources

WordPress tinyMCE – Ajout du bouton « next-page »

J’ai trouvé un bout de code pour ajouter simplement le bouton « next-page » dans l’éditeur visuel de WordPress. Je dois confesser que j’ai découvert cette fonction récemment. Le fait d’ajouter la balise « next-page » dans une page permet de créer une pagination au sein de celle-ci. On peut ainsi avoir le contenu de sa page sur plusieurs pages, autant que de balise ajoutée.

Continuer la lecture de « WordPress tinyMCE – Ajout du bouton « next-page » »