Ajouter zone de texte sous les produits- page boutique et page catégorie (Créer un compte)

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

    WordPress 5.8.1

    Wocommerce 5.7.1

    Theme flatsome

    Hébergeur OVH

    Bonjour,

    J essaye de rajouter une zone de texte sous la liste des produits sur la page boutique ainsi que sur les pages catégories.

    Tout d abord, je suis passé par l ux builder du theme flatsome. Le problème bien sûr c’est que le bloc texte apparaît sur toute les pages. J ai besoin qu il soit personnalisé sur chaque page.

    J ai aussi essayé avec le plugin elementor, la version gratuite semble fonctionner de la même façon.

    Il semblerait qu il soit nécessaire de modifier directement des fichiers du thème. J ai d abord essayé avec archives-product-php sans succès.

    Ça doit être un peu plus compliqué à réaliser.

    Merci de vos aides.

    Laurent

    #2387138
    ferman
    Participant
    Maître WordPress
    4534 contributions

    Bonjour,

    Zone de texte: c’est un  texte rédigé par vous, variable selon la page boutique ou catégorie et pas modifiable par le visiteur ?

    #2387238
    Laurentgr
    Participant
    Initié WordPress
    3 contributions

    Bonjour,

    Merci de votre retour.

    Oui c est tout à fait ça. Une zone de texte concernant le sujet de la catégorie pour optimisation seo.

    Laurent

     

     

    #2387248
    ferman
    Participant
    Maître WordPress
    4534 contributions

    Si vous n’utilisez pas woocommerce blocks et pas de constructeur de pages:

    Vous créez une page quelconque qui ne sera pas visible pour les visiteurs et vous créez pour cette page autant de champs personnalisés que de catégories + la boutique. Par exemple, si  vous avez deux catégories vous créez 3 champs personnalisés. Ensuite vous utilisez une fonction permettant d’afficher le contenu de ces champs sur les  pages catégories et boutique en utilisant un hook woocommerce approprié.   Dans “echo get_post_meta( 1000, ‘nom du champ-1’, true );” 1000 est l’id de la page , nom du champ : vous l’avez donné en le créant. Le contenu est stocké dans la base de données (table wp_postmeta). La fonction ci-dessous est pour deux catégories. Sur le même modèle, vous en rajoutez autant que vous voulez à la suite.

    function aftershop(){?>	
    	
    		<div class="customfields"><?php 
    	
    			if (!is_shop()){
    				if(is_product_category ("nom de la categorie-1")){
    					echo  get_post_meta( 1000, 'nom du champ-1', true );} 				
    				elseif (is_product_category ("nom de la categorie-2")){
    					echo  get_post_meta( 1000, 'nom du champ-2', true );}
    				}				
    			if (is_shop()){
    					echo get_post_meta( 1000, 'nom du champ-3', true );
    					}				
    			else {return;
    			} ?>	 
    		</div><?php	
    		
    }
    add_filter('woocommerce_after_shop_loop','aftershop');

    Ce code est à 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.

    Il est possible d’obtenir le même résultat sans passer par les champs personnalisés mais c’est beaucoup moins pratique si vous voulez modifier vos zones de texte ou en ajouter de nouvelles.

4 sujets de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.