Adapter la longueur de l’extrait WordPress à la largeur de l’écran

Publié par Jean-Michel le

Je fais un thème WP, mais j’ai un petit problème. Je veux que la longueur de l’extrait (en caractères) soit adaptative à la largeur de l’écran.

  • si la largeur de l’écran est plus grande que 1000px, 20 caractères
  • entre 1000 et 700 ça doit être 5
  • entre 700 et 640px, 20 caractères
  • entre 640 et 480, 5 caractères
  • en dessous de 480px, 20 caractères.
Lire également:  Wordpress : Slider Revolution, réduisant la marge gauche/le rembourrage sur mobile

J’espère que cela a du sens. 🙂

J’ai essayé de créer quelque chose dans mon functions.php. J’ai utilisé des méthodes telles que:

function new_excerpt_length($length) {

    if ((screen.width > 1024))
    {
        return 5;
    }
    else
    {
        return 15;
    }
}
add_filter('excerpt_length', 'new_excerpt_length');

Mais cela n’a pas fonctionné, il affiche le même nombre. Css n’est pas une solution, doit être fait en JS, dans le fichier functions.php (pas de jQuery)

Lire également:  Wordpress : Créer un thème pour les téléphones portables et les tablettes uniquement ?

Solution n°1 trouvée

Désolé d’éclater votre bulle ici, mais il n’y a aucun moyen pour php de savoir à quelle taille d’écran l’information est servie. La détection de la taille de l’écran se fait uniquement côté client/navigateur.

Le plus proche que vous allez obtenir ici lié à WordPress est avec wp_is_mobile()lequel peut détecter les appareils mobiles, mais encore une fois, wp_is_moble()c’est plus qu’une blague en tant que fonction appropriée.

Lire également:  Balises de modèle conditionnelles pour le thème WordPress

Votre seule solution ici serait de regarder jquery pour tronquer le texte de sortie en fonction de la taille du navigateur.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *