1 seul produit pour page d'accueil (pb Shortcodes)

Forums Forums WPshop Shortcodes 1 seul produit pour page d'accueil (pb Shortcodes)

Mots-clés : , ,

Ce sujet a 13 réponses, 2 participants et a été mis à jour par  raypon, il y a 3 ans et 6 mois.

14 sujets de 1 à 14 (sur un total de 14)
Auteur Messages
Auteur Messages
2 mars 2014 at 17 h 42 min #15134

raypon
Participant

Bonjour,

Je rencontre un soucis sans trouver la solution.
Je veux un produit en page d’accueil d’un site, donc j’ai créé une page statique avec le shortcode produit [wpshop_product pid= »ID_DU_PRODUIT »] donc sans définir [type= »list|grid »]
Le lien de la page fonctionne parfaitement je tombe bien sur la page du produit uniquement.

Mais quand je définis cette page statique en page d’accueil du site dans les Réglages/Lecture de worpress, je tombe sur la page qui est définit par le shortcode [wpshop_product pid= »ID_DU_PRODUIT » type= »grid »] alors que je voudrais tomber sur la page du produit directement.

Visuellement

locahost/site/ donne sur [wpshop_product pid= »ID_DU_PRODUIT » type= »grid »] au lieu de [wpshop_product pid= »ID_DU_PRODUIT »]

locahost/site/?wpshop_product=nomduproduit donne bien sur [wpshop_product pid= »ID_DU_PRODUIT »]

Peut-on contourner çà ?

Si vous avez un moyen de mettre un produit (la fiche produit simple) en page d’accueil je suis preneur.

  • Ce sujet a été modifié le il y a 3 ans et 6 mois par  raypon.
2 mars 2014 at 23 h 06 min #15136

raypon
Participant

Bon alors j’ai dû bugguer à un moment (la fatigue sans doute),

Une page statique avec le [wpshop_product pid= »ID_DU_PRODUIT »] donne bien sur [wpshop_product pid= »ID_DU_PRODUIT » type= »grid »] et non sur la page que je voudrais c’est à dire localhost/site/?wpshop_product=nomduproduit

Peut être est ce dû au fichier wp-content\plugins\wpshop\wpshop.php qui définit le shortcode product et productS de la même façon.

add_shortcode(‘wpshop_products’, array(‘wpshop_products’, ‘wpshop_products_func’)); // Products list
add_shortcode(‘wpshop_product’, array(‘wpshop_products’, ‘wpshop_products_func’)); // Products list

Mais là je sais pas trouver la solution.

3 mars 2014 at 10 h 57 min #15141

Alexandre
Admin bbPress

Bonjour,

Il n’existe pas de shortcode permettant d’afficher une fiche produit comme cela

Vous pouvez utiliser le principe des page modéle de wordpress

Dans la partie correspondante au contenu (représenté par le div ayant l’id « content ») de votre fichier vous pouvez insérer en indiquant l’identifiant du produit que vous désirez afficher


< ?php echo wpshop_products::product_complete_sheet_output( get_the_content(), ICI_L_ID_DE_VOTRE_PRODUIT); ?>

Cdlt,
Alexandre

3 mars 2014 at 11 h 19 min #15144

raypon
Participant

Merci de votre réponse !

En revanche, je ne sais pas quoi mettre en ID de produit si je mets le numéro comme dans le short code çà ne fonctionne pas…

<? php echo wpshop_products::product_complete_sheet_output( get_the_content(), ’45’); ?>

3 mars 2014 at 11 h 29 min #15145

Alexandre
Admin bbPress

Essayez sans les ‘ juste 45

attention également à l’espace entre le < ? et php

Cdlt,
Alexandre

  • Cette réponse a été modifiée le il y a 3 ans et 6 mois par  Alexandre.
3 mars 2014 at 11 h 35 min #15146

raypon
Participant

Comme ceci çà ne fonctionne pas

<?php
/*
Template Name: Page-accueil
*/
?>

<?php get_header(); ?>

<div id="left" class="eleven columns" >
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<div class="post" id="post-<?php the_ID(); ?>">
<div class="title">
<h2>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></h2>
</div>

<div class="entry">
<? php echo wpshop_products::product_complete_sheet_output( get_the_content(), 45); ?>
<div class="clear"></div>
</div>
</div>

<?php endwhile; endif; ?>
</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

3 mars 2014 at 11 h 46 min #15147

Alexandre
Admin bbPress

Essayez ce code, qui fonctionne pour moi

< ?php /* Template Name: Page-accueil */ get_header(); ?>

< ?php echo wpshop_products::product_complete_sheet_output( get_the_content(), 45); ?>


< ?php get_sidebar( 'content' ); get_sidebar(); get_footer();

3 mars 2014 at 11 h 48 min #15148

Alexandre
Admin bbPress

Je vous met le fichier en pièce jointe directement

  • Cette réponse a été modifiée le il y a 3 ans et 6 mois par  Alexandre.
fichiers attachés:
You must be logged in to view attached files.
3 mars 2014 at 11 h 55 min #15151

raypon
Participant

Vous allez rire….ou pas….

<? php echo wpshop_products::product_complete_sheet_output( get_the_content(), 45); ?>

Mon erreur est en gras…. un espace entre <? et php…. hum…. Je vais me coucher, moi…

Merci beaucoup de votre aide !!! C’est réglé !

  • Cette réponse a été modifiée le il y a 3 ans et 6 mois par  raypon.
3 mars 2014 at 12 h 01 min #15153

Alexandre
Admin bbPress

ou pas vous…. vous l’avez dit

Bon d’accord j’ai sourit quand même!! 🙂

Bon allez comme c’est lundi je vous pardonne de ne pas avoir lu mon message vous prévenant de faire attention… (Bon j’ai du tricher un peu quand même 😀 )

Alexandre

3 mars 2014 at 12 h 04 min #15155

raypon
Participant

(entre mon dernier message et celui-ci je n’ai pas toucher à autre chose)

Ah mince j’ai plus la description…. Je m’arrache les cheveux…

Il ne prend pas en compte dans fichier main_element.tpl.php le <p itemprop= »description »>{WPSHOP_PRODUCT_INITIAL_CONTENT}</p>

Et puis j’ai la vignette de l’image à la une qui s’ajoute à la liste des vignette des autres vues (résultat j’ai 7 vignettes au lieu de 6).

Il doit y avoir des définitions de mise en forme qui m’échappent et je ne sais pas les contourner ou les supprimer.(comme la suppression de la vignette de l’image à la une sur la fiche produit).

Si vous avez une solution je suis preneur sinon je pense que je vais abandonner et trouver une solution plus radicale.

  • Cette réponse a été modifiée le il y a 3 ans et 6 mois par  raypon.
fichiers attachés:
You must be logged in to view attached files.
3 mars 2014 at 12 h 14 min #15156

Alexandre
Admin bbPress

Ah oui en effet c’est un peu de ma faute cette fois 🙂

il vous faut remplacer get_the_content() par get_post_field(‘post_content’, 45)

Cdlt,
Alexandre

3 mars 2014 at 13 h 29 min #15160

raypon
Participant

oh ! j’étais en train d’éditer mon post.
mais je dois être vraiment fatigué car je sais ce que je fais d’habitude, mais en remplaçant get_the_content() par get_post_field(‘post_content’, 45) :

<?php echo wpshop_products::product_complete_sheet_output( get_the_content(), 45); ?>

devient


<?php echo wpshop_products::product_complete_sheet_output( get_post_field(‘post_content’, 45), 45); ?>

n’est ce pas ? car j’obtiens le même résultat moi…(j’ai mis un bricolage de capture à cause d’une clause confidentialité sur le produit.

3 mars 2014 at 14 h 02 min #15161

raypon
Participant

C’est bon j’ai trouvé l’erreur !!!!!

Ce sont les '' qui sont transformés sur le forum !

  • Cette réponse a été modifiée le il y a 3 ans et 6 mois par  raypon.
14 sujets de 1 à 14 (sur un total de 14)