[Résolu] Comment modifier du texte non modifiable? ;:) (Créer un compte)

  • WordPress :5.8
  • Statut : résolu
  • Ce sujet contient 19 réponses, 2 participants et a été mis à jour pour la dernière fois par aspro, le il y a 18 secondes.
15 sujets de 1 à 15 (sur un total de 20)
  • Auteur
    Messages
  • #2386575
    aspro
    Participant
    Initié WordPress
    31 contributions

    Bonjour, je cherche le moyen (sans plugin idéalement!) de modifier du texte qui n’est pas prévu d’être modifié, en l’occurrence : « afficher tous les 2 résultats » du lien https://www.royaume-exquise.fr/cat-selection/chihuahua/chihuahua-chiots-a-vendre/ qui est le texte classique des catégories de WP.

    J’ai encadré en rouge mon besoin (en pj.).

    Sauriez-vous vers quoi je dois m’orienter?

    merci !!

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2386615
    ferman
    Participant
    Maître WordPress
    4531 contributions

    Bonjour,

    ça peut se faire avec un peu de  jQuery (donc sans plugin). Vous voulez remplacer quoi par quoi?

    #2386714
    aspro
    Participant
    Initié WordPress
    31 contributions

    @ferman :

    Bonjour et merci de votre message  !

    Typiquement dans la capture d’écran : “afficher tous les 2 résultats” par “voici les 2 trésors que nous avons trouvés”.

    merci !

    • Cette réponse a été modifiée le il y a 1 semaine par aspro.
    #2386748
    ferman
    Participant
    Maître WordPress
    4531 contributions

    Bonjour,

    Typiquement dans la capture d’écran : “afficher tous les 2 résultats” par “voici les 2 trésors que nous avons trouvés”.

    Pour le moment votre site est un peu “en désordre”. On verra  ça quand il aura retrouvé un aspect normal. Ce genre de travail (jQuery), comme les CSS, se fait une fois que le site est finalisé. Chaque modification après coup rend les codes js et css inutiles.

    • Cette réponse a été modifiée le il y a 1 semaine par ferman.
    #2386751
    aspro
    Participant
    Initié WordPress
    31 contributions

    Pour le moment votre site est un peu “en désordre”. On verra ça quand il aura retrouvé un aspect normal. Ce genre de travail (jQuery), comme les CSS, se fait une fois que le site est finalisé. Chaque modification après coup rend les codes js et css inutiles..

    Je suis en train ce matin de monter les versions de WP, on part de la 5.1.11 donc un peu de loin.

    Je vous signale dès que c’est ok !

    merci

    #2386915
    aspro
    Participant
    Initié WordPress
    31 contributions

    Bonsoir, ça y est, le site est stabilisé !

    Je suis preneur de votre expertise pour savoir comment modifier ce texte 😉

    merci!

    #2386916
    ferman
    Participant
    Maître WordPress
    4531 contributions

    Bon j’espère que mon “expertise” suffira parce que  je ne comprends pas la manière dont la page est construite: pas d’id de page, pas de catégorie, je ne reconnais rien. “motopress”? Qu’est ce que c’est que ça?  J’espère qu’il y a un vrai footer autrement ça ne marchera pas.

    Je vous donne la fonction qui sera à mettre de préférence dans le fichier “functions.php” d’un thème enfant. Si vous n’en avez pas c’est facile à créer avec l’extension “Child theme configurator“. Si vous ne voulez pas en créer vous pouvez utiliser l’extension “my custom functions“. C’est simple mais lisez les FAQ et surtout ça: “Q. What to do if this plugin crashed the website?” qui vous dit comment rétablir la situation en cas de problème (pas grave et facilement réparable  par FTP). Il vaut mieux éviter de mettre des codes dans functions.php du thème parent: ce sera effacé lors de la prochaine mise à jour du thème. Bien sûr on peut remettre le code après mais c’est un peu pénible, surtout si vous envisagez de mettre d’autres codes dans l’avenir.“

    function remplacernotice(){?>	
    <script>
    	$=jQuery;
        var a ='.woocommerce-result-count';
        $(a).text($(a).text().replace('','Voici les'));
        $(a).text($(a).text().replace('résultats affichés','trésors que nous avons trouvés'));
    	</script>
    <?php }
    add_filter('wp_footer','remplacernotice');

     

     

    #2386925
    aspro
    Participant
    Initié WordPress
    31 contributions

    Tout d’abord merci de votre réponse !

    Je n’avais en effet pas de functions.php mais je l’ai créé au notepad et mis dans le theme enfant qui était déjà créé.

    J’ai par contre une erreur sur le code, je pense un problème de fermeture de ?> ou de }, sur la ligne 8.
    J’ai tenté des modifs mais ça n’a pas fonctionné ;-/ Pourtant le code me semble clair : vous fermez le php après le début de la fonction puis le réouvrez à la fin du script..

    J’ai loupé quelque chose?

    Sinon, aucune idée de ce qu’est motorpress, je ne vois pas l’intérêt. Il y a aussi le plugin classic editor, je pense que ça fait très redondant..

    #2386934
    ferman
    Participant
    Maître WordPress
    4531 contributions

    Non, je ne vois pas d’erreur. Par acquit de conscience j’ai retesté le code sur mon site et ça fonctionne. Peut-être un problème avant le code code? au début de functions.php? Quel est le texte du message d’erreur?

    Par contre, le changement s’appliquera à toutes les pages où il y a des produits et une notice woocommerce. Si on peut à la rigueur admettre (pas moi) que les chihuahuas sont des trésors on ne peut pas en dire autant d’un sac de promenade ou d’un harnais.

    • Cette réponse a été modifiée le il y a 4 jours et 18 heures par ferman.
    • Cette réponse a été modifiée le il y a 4 jours et 18 heures par ferman.
    #2386938
    aspro
    Participant
    Initié WordPress
    31 contributions

    Hum.. Non mais je vais peut-être m’acheter un cerveau, ça pourrait être bien…

    J’ai du mal taper le <?php du début et du coup j’avais un message d’erreur..

    Alors, allez savoir, fatigue, alcool (trop ou pas assez…), cycle de la lune ;/
    Bref, un grand merci, ça fonctionne !

    #2386939
    ferman
    Participant
    Maître WordPress
    4531 contributions

    Bon, c’est bien et malgré “motopress”.

    #2386940
    aspro
    Participant
    Initié WordPress
    31 contributions

    Juste une dernière question, je comprends bien le début du script, mais à quoi sert la dernière ligne :

    add_filter(‘wp_footer’,’remplacernotice’);

    Merci !

    #2386941
    aspro
    Participant
    Initié WordPress
    31 contributions

    Idéalement je vais essayer de le virer car moins il y a d’extension, mieux je me porte !

    #2387020
    aspro
    Participant
    Initié WordPress
    31 contributions

    Rebonjour!

    Sur la modif du texte via le jquery, tout fonctionne bien, encore merci.

    Mais j’ai une interrogation car je me suis dit que j’allais aller plus loin en tenant d’autres modifs.
    Par exemple sur : https://www.mtgshop.fr/product-category/nouveaute/, j’ai modifié le texte de la même manière avec :

    <script>
    	$=jQuery;
        var a ='.woocommerce-result-count';
            $(a).text($(a).text().replace('résultats','produits formidables'));
    	
    
    	</script>
    <?php }
    add_filter('wp_footer','remplacernotice');

    Et ça fonctionne.

    Mais lorsque je veux modifier la mention tout en bas sur “votre panier est vide”, j’ai tenté un :

    <script>
    	$=jQuery;
        var a ='.woocommerce-result-count';
            $(a).text($(a).text().replace('résultats','produits formidables'));
    	
    	var b ='.woocommerce-mini-cart__empty-message';
        	$(b).text($(b).text().replace('Votre panier est vide','Votre panier est vide, changez vite ça !!'));
    	
    	
    	</script>
    <?php }
    add_filter('wp_footer','remplacernotice');

    En ayant ciblé “woocommerce-mini-cart__empty-message”.

    Mais là, ça ne passe pas…
    J’ai bien changé de variable en prenant var b et copié/collé la syntaxe.

    Mais je sèche ;-/

    Pouvez-vous me dire ce que j’ai loupé ?

    merci !

     

    #2387027
    ferman
    Participant
    Maître WordPress
    4531 contributions

    Effectivement, dans le dernier cas , le texte n’est pas remplacé mais ajouté; je ne vois pas trop pourquoi (les subtilités de jQuery) mais on ne va pas se casser la tête. Vous avez plusieurs solutions.

    1. vous remplacez (text) par (html) dans le code actuel. (c’est un peu lourd pour un simple remplacement de texte)
    2. vous mettez le code ci-dessous, plus simple qui ajoute un morceau au texte déjà existant. Inconvénient: la virgule est remplacée par un point.
      var b ='.woocommerce-mini-cart__empty-message';
              $(b).append('Changez vite ça !!');

    3. Comme il s’agit d’un texte invariable vous pouvez utiliser les CSS
      .woocommerce-mini-cart__empty-message{font-size:0px;}
      .woocommerce-mini-cart__empty-message:after{content:"Votre panier est vide, changez vite ça !!";
      font-size:16px;}
      
      
      
      .woocommerce-mini-cart__empty-message:after{content:"Changez vite ça !!";}

      soit les  lignes 1 à 3, soit, plus simple, la ligne 7 (inconvénient:vous perdez la virgule)

    Personnellement je choisirais une des méthodes CSS.

    • Cette réponse a été modifiée le il y a 2 jours et 22 heures par ferman.
    • Cette réponse a été modifiée le il y a 2 jours et 21 heures par ferman.
15 sujets de 1 à 15 (sur un total de 20)
  • Vous devez être connecté pour répondre à ce sujet.