Rock4Temps (Créer un compte)

Toutes mes réponses sur les forums

15 sujets de 886 à 900 (sur un total de 1,141)
  • Auteur
    Messages
  • en réponse à : [Résolu] WP-Members – activation compte abonné #2369361
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    Bonjour,

    apparemment l’URL de votre page profil membre est : http://www.fhu-pacemm.fr/update-my-settings/

    il faut donc en fin du code PHP remplacer:

    '<a href="'.site_url().'/profil-membres/'.'">Profil Membres</a>';

    par:

    '<a href="'.site_url().'/update-my-settings/'.'">Mon Compte</a>';

    bonne journée

    en réponse à : Publier vers Facebook #2369353
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    Bonjour,

    j’ai eu l’occasion de parler de ce sujet sur ce post:
    https://wpfr.net/support/sujet/relayer-les-articles-de-mon-site-wp-sur-facebook/#post-2364716

    cordialement

    en réponse à : The Event Calendar – Montrer les inscrits #2369325
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    j’ai oublié d’indiquer dans la liste des participants le nombre de réservation ou
    achat de billet par participant.
    Voici le code php:

    /*--------------- Afficher le nom des participants & nbr de réservation par participant aprés le ticket RSVP -------*/

    function afficher_liste_participant() {

    $participant = array();
    $nom_participant = array();
    $nbr_reservation = array();
    $index=0;
    $nbr_participant = 0;

    echo '<h3>'.'Liste des participants'.'</h3>';

    // ID de l'évènement
    $event_id = get_the_ID();

    //la classe wpdb est toujours instanciée au chargement de l’application
    //et stockée dans une variable globale appelée $wpdb
    global $wpdb;

    // permet d'afficher les erreurs
    $wpdb->show_errors();


    /* ----- ---On récupère les Noms des participants
    (un participant pouvant acheter plus d'un billet) --------*/

    // les méta clés reliant le nom des participants à un événement dans la table postmeta sont:
    // _tribe_rsvp_event pour un billet gratuit ou événement virtuel
    // _tribe_tpp_event dans le cas d'achat de billet
    // le champ meta_value de la table postmeta contient l'ID de l'évènement
    // le post_id de la table postmeta est en relation avec l'id de la table posts
    // ou sont enregitrés les noms des participants dans le champ post_title
    // une valeur de post_title: edaa02c9a886c62668832b9ceaf3cd60 | DUPONT | 1
    $requete="SELECT DISTINCT {$wpdb->prefix}posts.post_title
    FROM {$wpdb->prefix}posts,{$wpdb->prefix}postmeta
    WHERE ({$wpdb->prefix}postmeta.post_id= {$wpdb->prefix}posts.id)
    AND ({$wpdb->prefix}postmeta.meta_key = '_tribe_rsvp_event' OR {$wpdb->prefix}postmeta.meta_key = '_tribe_tpp_event')
    AND ({$wpdb->prefix}postmeta.meta_value = $event_id )
    ORDER BY {$wpdb->prefix}posts.post_title DESC
    ";

    $result = $wpdb->get_results($requete);

    // on récupère le nombre d'enregistrement, c'est a dire le nombre de billet achetés
    // mais pas le nombre de participant car plusieurs achats possible de billet par une même personne
    $nbr_enregistrement = $wpdb->num_rows;


    if ($nbr_enregistrement > 0) {

    // on récupère les lignes brutes des participants au format:
    // soit Mr DUPONT ayant réservé pour 2 participants
    // 1ère participant de Dupont: edaa02c9a886c62668832b9ceaf3cd60 | DUPONT | 1
    // 2ème participant de Dupont: edaa02c9a886c62668832b9ceaf3cd60 | DUPONT | 2
    foreach ($result as $row) {
    $index++;
    $participant[$index] = $row->post_title;
    //echo $participant[$index].'<br>';
    }



    for ($nbr=1;$nbr<=$nbr_enregistrement;$nbr++) {

    // On scinde la chaine de caractère en 3 segments et on récupère
    // le nom et le nombre de participant
    $tab = explode('|',$participant[$nbr],3);
    $participant[$nbr]= $tab[1];
    $nbr_reservation[$nbr]= TRIM($tab[2]);


    // on élimine les noms en doublon (plusieurs achat possible de billet par une même personne)
    // la requête de la base de données ayant été trié dans l'ordre décroissant
    // le 1er nom trouvé dans la table pour une personne qui a acheté plusieurs billets
    // aura pour le champ 'nbr_reservation' le nbr total de réservation
    // array_search Renvoie la clé numérique d'une valeur en l'occurence le nom s'il se trouve dans
    //la colonne 'nom' du tableau $nom_participant et FALSE dans le cas contraire
    if(array_search($participant[$nbr], array_column($nom_participant, 'nom')) == false) {
    $nbr_participant++;
    $nom_participant[$nbr_participant]['nom'] = $participant[$nbr];
    $nom_participant[$nbr_participant]['nbr_reservation'] = $nbr_reservation[$nbr];
    }



    }


    // tri du tableau dans l'ordre croissant selon la colonne 'nom'
    // le tableau est "re-indexé" à partir de 0
    // option: SORT NATURAL pour tenir compte des participants
    // qui renseigne aussi leur prénom ;
    // option: SORT_FLAG_CASE pour ne pas tenir compte de la casse
    array_multisort(array_column($nom_participant, 'nom'), SORT_ASC, SORT_NATURAL | SORT_FLAG_CASE, $nom_participant);
    //print_r($nom_participant);

    $index_liste=0;

    // On Affiche la liste des participants dans un tableau de 4 colonnes
    $nbr_col = 4;

    // nbr de ligne du tableau arrondi à l'entier supérieur
    $nbr_ligne_tab = ceil($nbr_participant/$nbr_col);


    // Affichage de la table des participants
    echo '<table class="table-participant">';
    echo'<tbody>';

    for ($index_ligne=1;$index_ligne<=$nbr_ligne_tab;$index_ligne++) {

    echo '<tr>';

    for ($index_colonne=1;$index_colonne<=$nbr_col ;$index_colonne++) {

    echo '<td>'
    .$nom_participant[$index_liste]['nom']
    .' ('.$nom_participant[$index_liste]['nbr_reservation'].')'
    .'</td>';

    $index_liste++ ;

    // l'affichage de la table est terminée si la condition est vrai
    if ($index_liste > $nbr_participant - 1){
    $index_colonne = $nbr_col + 1;
    }

    }

    echo '</tr>';
    }

    echo'</tbody>';
    echo '</table>';


    }

    }

    add_action( 'tribe_template_after_include:tickets/v2/rsvp', 'afficher_liste_participant',10,3 );

    Le résultat final voir photo ci-jointe
    Si cela peut servir a quelqu’un alors tant mieux!

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    en réponse à : Recherche de plugins mêlant Réservations et Abonnements #2369219
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    Bonjour

    Pour un abonnement mensuel , c’est donc un paiement récurrent.
    j’ai eu l’occasion de parler de ce sujet ici: Abonnement
    un exemple d’abonnement sur mon site: Rock 4 Temps

    Pour la réservation de salle de réunion selon créneaux horaires
    avec calendrier de disponibilités je vois bien cette extension: Booking Calendar
    il vous faudra la version premium pour avoir accès aux créneaux horaire.

    Cordialement

     

    en réponse à : Bloc réutilisables Kadence block #2369158
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    Bonjour,

    On clique sur convertir en blocs normaux(voir photo ci- jointe:  exemple d’un bloc conseil réalisé avec la boite info de kadence block)

    parfois  ça ne marche pas alors faire la procédure suivante :

    1) Je clique sur Modifier (le bouton bascule à Enregistrer)
    2) convertir en bloc normaux
    3) Enregistrer
    4) A nouveau je clique sur convertir en blocs normaux

    On peut maintenant modifier le bloc sans que cela ne modifie le bloc réutilisable.

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    en réponse à : The Event Calendar – Montrer les inscrits #2369154
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    Pour info

    photos ci-jointes qui montrent une  personnalisation possible
    respectivement pour la vue liste et le widget liste évènement

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    en réponse à : The Event Calendar – Montrer les inscrits #2369149
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    Bonjour,

    Je termine par le code permettant d’insérer un tableau
    après le ticket RSVP(voir photo ci-jointe) qui contient
    la liste des participants.

    j’ai effectué seulement pour une personne deux achats de billets.
    il y a donc 16 participants, mais 17 billets achetés.
    On notera que dans le ticket RSVP est affiché 17 participants.
    17 réservations est le terme plus approprié.

    voici le code PHP:

    /*--------------- Afficher le nom des participants aprés le ticket RSVP -------*/

    function afficher_liste_participant() {

    $participant = array();
    $nom_participant = array();
    $index=0;
    $nbr_participant = 0;

    echo '<h3>'.'Liste des participants'.'</h3>';

    // ID de l'évènement
    $event_id = get_the_ID();

    //la classe wpdb est toujours instanciée au chargement de l’application
    //et stockée dans une variable globale appelée $wpdb
    global $wpdb;

    // permet d'afficher les erreurs
    $wpdb->show_errors();


    /* ----- ---On récupère les Noms distinct des participants
    (un participant pouvant acheter plus d'un billet) --------*/

    // les méta clés reliant le nom des participants à un événement dans la table postmeta sont:
    // _tribe_rsvp_event pour un billet gratuit ou événement virtuel
    // _tribe_tpp_event dans le cas d'achat de billet
    // le champ meta_value de la table postmeta contient l'ID de l'évènement
    // le post_id de la table postmeta est en relation avec l'id de la table posts
    // ou sont enregitrés les noms des participants dans le champ post_title
    // une valeur de post_title: edaa02c9a886c62668832b9ceaf3cd60 | DUPONT | 1
    $requete="SELECT DISTINCT {$wpdb->prefix}posts.post_title
    FROM {$wpdb->prefix}posts,{$wpdb->prefix}postmeta
    WHERE ({$wpdb->prefix}postmeta.post_id= {$wpdb->prefix}posts.id)
    AND ({$wpdb->prefix}postmeta.meta_key = '_tribe_rsvp_event' OR {$wpdb->prefix}postmeta.meta_key = '_tribe_tpp_event')
    AND ({$wpdb->prefix}postmeta.meta_value = $event_id )
    ORDER BY {$wpdb->prefix}posts.post_title ASC
    ";

    $result = $wpdb->get_results($requete);

    // on récupère le nombre d'enregistrement, c'est a dire le nombre de billet achetés
    // mais pas le nombre de participant car plusieurs achats possible de billet par une même personne
    $nbr_enregistrement = $wpdb->num_rows;


    if ($nbr_enregistrement > 0) {

    // on récupère la ligne brute des participants au format: edaa02c9a886c62668832b9ceaf3cd60 | DUPONT | 1
    foreach ($result as $row) {
    $index++;
    $participant[$index] = $row->post_title;
    }

    // On scinde la chaine de caractère en 3 segments et on récupère le nom du participant
    for ($nbr=1;$nbr<=$nbr_enregistrement;$nbr++) {

    $tab = explode('|',$participant[$nbr],3);
    $participant[$nbr]= $tab[1];

    }


    // on élimine les noms en doublon (plusieurs achat possible de billet par une même personne)
    for ($nbr=1;$nbr<=$nbr_enregistrement;$nbr++) {

    if (!in_array($participant[$nbr],$nom_participant)){

    $nbr_participant++;
    $nom_participant[$nbr_participant] = $participant[$nbr];

    }

    }


    // tri du tableau dans l'ordre croissant,le tableau est "re-indexé" à partir de 0
    // option: SORT NATURAL pour tenir compte des participants
    // qui renseigne aussi leur prénom ;
    // option: SORT_FLAG_CASE pour ne pas tenir compte de la casse
    sort($nom_participant,SORT_NATURAL | SORT_FLAG_CASE);
    $index_liste=0;

    // On Affiche la liste des participants dans un tableau de 4 colonnes
    $nbr_col = 4;

    // nbr de ligne du tableau arrondi à l'entier supérieur
    $nbr_ligne_tab = ceil($nbr_participant/$nbr_col);


    // Affichage de la table des participants
    echo '<table class="table-participant">';
    echo'<tbody>';

    for ($index_ligne=1;$index_ligne<=$nbr_ligne_tab;$index_ligne++) {

    echo '<tr>';

    for ($index_colonne=1;$index_colonne<=$nbr_col ;$index_colonne++) {

    echo '<td>'.$nom_participant[$index_liste].'</td>';
    $index_liste++ ;

    // l'affichage de la table est terminée si la condition est vrai
    if ($index_liste > $nbr_participant - 1){
    $index_colonne = $nbr_col + 1;
    }

    }

    echo '</tr>';
    }

    echo'</tbody>';
    echo '</table>';


    }

    }

    add_action( 'tribe_template_after_include:tickets/v2/rsvp', 'afficher_liste_participant',10,3 );

    Le code CSS pour le tableau des participants:

    /* marge ticket RSVP par rapport a la table des participants  */
    .tribe-common.event-tickets{margin-bottom:30px;}

    /* affichage dans une table des participants à l'évènement */
    .table-participant td {
    border: 1px solid #e4e4e4;
    padding: 5px;
    vertical-align:middle;
    text-align: center;
    }

    /* couleur de fond pour les lignes paire de la table */
    .table-participant tbody > tr:nth-child(2n) td {
    background: #EFF8FE;
    }

    bonne journée

     

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    en réponse à : Bloc réutilisables Kadence block #2369026
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    C’est normal il faut avant modification convertir le bloc réutilasable en bloc normal.

    Le bloc réutilsable propose cela dans son menu.

    en réponse à : The Event Calendar – Montrer les inscrits #2368874
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    Merci Ferman, mais pour les cours de danse c’est un évènement fictif histoire de ma rappeler la vie d’avant.

    Misére!

    en réponse à : The Event Calendar – Montrer les inscrits #2368846
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    Une dernière précision, voir image jointe de l’affichage
    du bloc RSVP et celui  de la liste des participants sur la page de l’évènement.

    Pour la liste des participant seule la photos est affiché a deux conditions:
    –  Le participant à donné son accord via un sélecteur avant la soumission du formulaire
    de réservation
    – Avoir un gravatar.
    donc peu d’intérêt pour ce bloc !

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    en réponse à : The Event Calendar – Montrer les inscrits #2368782
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    Bonjour,

    j’ai regardé la doc de  l’extension The Events Calendar  puis d’ Event tickets.
    j’ai installé ces deux extensions en version free.
    Pas simple au niveau du code.
    n’ayant pas de compte Pay Pal j’ai juste configuré un RSVP  avec Event tickets pour un billet gratuit.

    Je souhaiterais que sur cette page, pour l’événement du 1er Mars, soit indiqué :
    – Soit qu’il y a déjà des réservations,
    – Soit le nombre de place restante

    Pour votre problème j’ai réussi à afficher le nbr de billet restant & le nbr de participant
    dans le calendrier pour la vue Mois(voir photo ci-jointe), pour la vue Liste l’extension Event Tickets affiche
    par défaut le nbr de billet restant.
    Afficher les noms des participants dans une grille de calendrier, il n’ y a pas suffisamment de place.

    Voici le code PHP pour cet affichage dans le calendrier en vue Mois

    /*--------------- Afficher le nbr de billet restant & nbr participant en vue Mois -------*/

    function nbr_billet_restant_nbr_participant() {

    // ID de l'évènement
    $event_id = get_the_ID() ;

    //la classe wpdb est toujours instanciée au chargement de l’application
    //et stockée dans une variable globale appelée $wpdb
    global $wpdb;

    // permet d'afficher les erreurs
    $wpdb->show_errors();

    // les méta clés reliant un ticket à un événement sont:
    // _tribe_rsvp_for_event pour un billet gratuit ou événement virtuel
    // _tribe_tpp_for_event dans le cas d'achat de billet
    // on récupère l'ID du ticket en correspondance avec l'ID de l'événment
    $requete = "SELECT post_id
    FROM {$wpdb->prefix}postmeta
    WHERE (meta_value = $event_id
    AND
    (meta_key = '_tribe_rsvp_for_event' OR meta_key = '_tribe_tpp_for_event')
    )";

    $ticket_id = $wpdb->get_var($requete);


    // on sort si on n'a pas crée de billet pour l'événement en cours
    if ( empty( $ticket_id ) ) {
    return;
    }

    // Nombre de billet restant
    $requete = "SELECT meta_value
    FROM {$wpdb->prefix}postmeta
    WHERE (post_id = $ticket_id AND meta_key = '_stock')";
    $nbr_billet = $wpdb->get_var($requete);

    // Nombre de participant
    $requete = "SELECT meta_value
    FROM {$wpdb->prefix}postmeta
    WHERE (post_id = $ticket_id AND meta_key = 'total_sales')";
    $nbr_participant = $wpdb->get_var($requete);


    // autre classe possible: tribe-common-b2 pour une police de 14px
    echo'<span class="tribe-common-h8">billets restants: ' . $nbr_billet . '</span>';
    echo'<span class="tribe-common-h8">nbr participant: ' . $nbr_participant . '</span>';

    }

    add_action( 'tribe_template_after_include:events/v2/month/calendar-body/day/calendar-events/calendar-event/title', 'nbr_billet_restant_nbr_participant',10,3 );

    J’ai tenu compte des billets  pour un achat avec  Paypal mais je n’ai pas pu tester.

    Vous pouvez ajouter ce code avec l’extension Code Snippets

     

    bonne journée

     

     

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    en réponse à : [Résolu] WP-Members – activation compte abonné #2368088
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    Bonjour,

    Pour le PB de menu Espace Membre paramétré pour n’être accessible qu’aux utilisateurs connectés,
    je ne peux vous répondre, car je n’ai pas cette configuration sur mon site.

    Au niveau du widget WP Members, le code qui permet de personnaliser les infos pour le membre
    connecté , c’est du langage PHP, il faut donc installer l’extension code snippets
    et renseigner le code PHP que je vous ai indiqué  via cette extension.

    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    J’ai réussi a faire tout ceci avec des extensions free mais cela n’est pas simple.

    Mon site: ROCK 4 TEMPS

    Ce sont les paiements récurrents qui posent problème.

    J’ ai d’abord cŕée un CPT pour toutes les viďéos.

    Extension de membre: WPMember avec création d’une adhésion aux vidéos

    Passerelle de paiement stripe a partir de laquelle j’ai cŕée un produit d’ abonnement et récupérer le code intégration pour un bouton

    Possible intégration bouton avec une extension de mémoire: stripe checkout

    Player video: Modern vidéos player  sur envato

    en réponse à : Blog : les pages s’affichent pas les articles #2366847
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    Bonjour,

    Flobogo j’avais bien lu votre message,
    pour moi le problème vient de la configuration du thème.

    En effet si  les  options de réglages des entrées du blog  a partir du  menu
    Apparence/Personnaliser/blog/entrée du blog  sont mal configuré,
    on se retrouve avec le problème que vous avez souligné:

    la “page de catégorie” n’affiche rien

    il faut  renseigner correctement comme photos ci-jointe
    la position des éléments visible sinon la page de catégorie
    ne s’affiche pas, indépendamment des articles qui resteront visibles.

    C’est pourquoi j’ai expliqué pas a pas la configuration du
    thème, mais effectivement les permaliens pouvez aussi  être la source du problème.

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    en réponse à : Certaines nouvelles pages ne se référence pas dans google #2366809
    Rock4Temps
    Participant
    Maître WordPress
    1150 contributions

    C’est OK

15 sujets de 886 à 900 (sur un total de 1,141)