Timama

Toutes mes réponses sur les forums

15 sujets de 16 à 30 (sur un total de 233)
  • Auteur
    Messages
  • en réponse à : [Résolu] Bouton envoi Email via shortcode #2149708
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    j’ai essayé ce code

    /* Shortcode bouton */
    function boutoncode($atts, $content = null) {
        extract(shortcode_atts(array(
        'lien' => '#',
        'couleur' =>'bleu'
        ), $atts));
      
        $codecode = ' 
        <form method="post" >
        <input class="bouton '.$couleur.'"  type="submit" name="envoyer" value="Cliquez ICI pour recevoir par Email le CODE PROMO" />
        </form>';
    
        $postcode = $_POST['envoyer'];
    
        
        if ( isset($postcode) ) {   
            $emailcode =' TEST';
            //  include("send-email-contact.php"); 
         }
    
        return $codecode . $postcode . $emailcode;
         
    }
       add_shortcode('boutoncode', 'boutoncode');

    et quand je clique, j’ai la valuer de mon post qui s’afiche et aussi “TEST”..

    du coup… je vais essayer d’envoyer un Email…. et je vais voir si cela fonctionne comme cela…..

    je reviens dès que j’ai testé… (avec la solution j’espère )!!

     

    en réponse à : [Résolu] Bouton envoi Email via shortcode #2149707
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    J’ai donc inclu le Input dans <form>.

     

    /* Shortcode bouton */
    function boutoncode($atts, $content = null) {
        extract(shortcode_atts(array(
        'lien' => '#',
        'couleur' =>'bleu'
        ), $atts));
      
        $codecode = ' 
        <form method="post" >
        <input class="bouton '.$couleur.'"  type="submit" name="envoyer" value="Cliquez ICI pour recevoir par Email le CODE PROMO" />
        </form>';
    
        $postcode = $_POST['envoyer'];
    
        $emailcode ='
        if ( isset($postcode) ) {   
            echo "TEST";
            //  include("send-email-contact.php"); 
         }';
    
        return $codecode . $postcode . $emailcode;
         
    }
       add_shortcode('boutoncode', 'boutoncode');

    Effectivement, j’ai un POST maintenant.

    Mais j’ai toujours mon problème de base, c’est à dire “je souhaite cliquer sur le bouton et alors ça envoi un Email”.
    Dans le cas au dessus, j’ai utilisé
    <div>
    <div>return $codecode . $postcode . $emailcode;</div>
    </div>
    <div></div>
    <div>car en fait, je ne sais pas trop quoi mettre en return..</div>
    <div>le $codecode m’affiche bien le bouton sur lequel je dois cliquer (du coup je pense qu’il faut le laisser)…</div>
    <div>le $postcode m’affiche bien une valeur (maintenant que j’ai bien écrit mon formulaire)</div>
    <div>mais le $emailcode m’affiche le code tel quel</div>
    <div></div>
    <div><code class=”language-html” data-lang=”html”> if ( isset($postcode) ) {
    echo “TEST”;
    // include(“send-email-contact.php”);
    }</div>
    <div></div>
    <div>je ne vois pas comment activer ce bout de code…. tout en mettant le bouton déjà dans le return….</div>
    <div>c’est toujours ça que je ne vois pas … comment faire</div>
    <div></div>
    <div>je continue à chercher…..</div>
    <div></div>

    en réponse à : [Résolu] Bouton envoi Email via shortcode #2149701
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    Bonjour,

    oui c’est tout à fait vrai.. désolée car j’avais commencé avec quelquechose comme

    <a class="bouton '.$couleur.'" href="'.$lien.'" target="_blank">' . do_shortcode($content) . '</a>';

    mais comme je ne voulais pas un lien mais une action, j’ai mis un input… c’est sur que sans method=post dans form ça marche pas..
    Bonne remarque….. une fois encore j’ai essayé de trouver une solution mais je me suis embrouillée….

    Merci sebastienserre….. je modifie ça (il me semble être passée par ça quand même à un moment de ma réflexion 😉 )

    en réponse à : [Résolu] Bouton envoi Email via shortcode #2149484
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    si je fais quelquechose comme cela, je n’ai plus de bouton et le if ne fonctionne pas…. car je n’arrive pas à bien l’écrire depuis le début….

    cela renvoie le code texto

     

    function boutoncode($atts, $content = null) {
        extract(shortcode_atts(array(
        'lien' => '#',
        'couleur' =>'bleu'
        ), $atts));
      
        $codecode = ' <input class="bouton '.$couleur.'"  type="submit" name="envoyer" value="Cliquez ICI pour recevoir par Email le CODE PROMO" />';
    
        $postcode = $_POST['envoyer'];
    
        $emailcode ='
        if ( isset($postcode) ) {   
            echo "TEST";
            //  include("send-email-contact.php"); 
         }';
    
        
        return $emailcode;
         
    }
       add_shortcode('boutoncode', 'boutoncode');

    je continue….. toujours pas trouvé

    en réponse à : [Résolu] Bouton envoi Email via shortcode #2149436
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    j’ai fait une autre tentative comme ça

     

    /* Shortcode bouton */
    function boutoncode($atts, $content = null) {
        extract(shortcode_atts(array(
        'lien' => '#',
        'couleur' =>'bleu'
        ), $atts));
      
        $codecode = ' <input class="bouton '.$couleur.'"  type="submit" name="envoyer" value="Cliquez ICI pour recevoir par Email le CODE PROMO" />';
    
        $postcode = $_POST["envoyer"];
    
        if ( isset( $_POST["envoyer"] ) ) {   
           $codemail ='envoi du mail';
        }
    
        return $codecode . $postcode . $codemail;
       
    }
       add_shortcode('boutoncode', 'boutoncode');

    j’ai séparé du coup je n’ai plus l’erreur avec <?php.

    Mais quand je clique sur le bouton, je n’ai rien en valeur pour $_POST[“envoyer”]

    et je ne sais pas si je peux écrire
    <div>
    <div>return $codecode . $postcode . $codemail;</div>
    <div>car cela va tout executer même l’envoi du mail sans condition…</div>
    </div>
    <div>bon je continue…..</div>
    <div></div>
    <div>merci beaucoup  si vous avez une idée sur ce problème</div>

    en réponse à : [Résolu] Tri de custom post typ par date #2088161
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    merci. Mais je l’ai lu en fait 😉  je regarde toujours ces articles ….

    c’est pour ça que j’avais mis ‘date’ au départ… et puis j’ai du chercher ailleurs en même temps….. et je me suis embrouillée.

    bref, je n’avais pas mis “date” au bon endroit (pour orderby quoi)..

    j’ai cru que c’était une metakey…. mais bon… là après cela n’a rien à voir avec le codex difficile à lire mais plutôt à mon non-savoir faire 😉

     

    En tout cas, merci pour cet éclaircissement.

    en réponse à : [Résolu] Tri de custom post typ par date #2087612
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    Bonjour,

    Alors, un grand merci car c’est exactement ça que je cherchais !

    Je ne savais pas comment appeler cette variable de “date de publication”…. et c’est ‘post_date’…

    mais bien sûr….. forcément, je suis partie à l’ouest dans mes recherches.. normal…c’était tellement simple.

    Merci beaucoup
    Et très bonne journée

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    merci Frank pour ton retour.

     

    oui j’ai bien un <div id= »connexionerror »> mais j’ia laissé tombé car cela ne fonctionnait pas…

    peut être cela est du à l’utilisation à l’interieur d’une fonctionne utilisée par gravity form.

    Du coup je suis passée par un autre chemin.

    add_filter('gform_validation_124', 'msk_gform_user_registration_validation');
    function msk_gform_user_registration_validation($validation_result){
    	global $user;
    	
    	$form = $validation_result['form'];
    	$user_id = $user->ID;
    	$user1 = get_userdata( $user_id );
    	$user_role = array_shift($user1->roles);
    	
    	if ($user_role != 'mitglieder_partnerlieferanten'  )
    	 {
    				if ($user_role == 'mitglieder_mitglieder' ) 
    				{
    					$admission = $user1->usermitglieder_admission;
    					
    				}
    				if ($user_role == 'mitglieder_partnerorganisationen' ) 
    				{
    					$admission = $user1->userpartnerorga_admission;
    				}
    				
    				// AJOUT TEST POUR SAVOIR SI LE USER EST ADMIS (ou administrato = admis direct)
    			   if (($admission == 'ja' ) OR ($user_role == 'administrator' ))
    				{
    				}
    				else
    				{
    				/*echo '<script type="text/javascript">window.alert(" Sie sind nicht Miglieder ");</script>';*/
    				foreach ($form['fields'] as &$field) {
    				$validation_result["is_valid"] = false;
    				$field["failed_validation"] = true;
    				$field["validation_message"] = "Sie sind nicht Miglieder";
    				}
    				}
    	}
    	else
    	{
    	/*echo '<script type="text/javascript">window.alert(" Sie können nur in Lieferantenbereich anmelden! ");</script>';*/
    	foreach ($form['fields'] as &$field) {
    	$field["validation_message"] = "Sie können nur in Lieferantenbereich anmelden!";
    	}
    	}
    	$validation_result['form'] = $form;
    	return $validation_result;
    }

     

    Dans la fonction de validation de gravity form, j’ai forcé l’écriture des mesages d’erreur pour mes cas en particulier.

    Je suis passée par $form[‘fields’] pour modifier le validation_result.

    Et là, cela affiche dans mon formulaire les message que je veux dans mes cas particuliers.

    Donc en fait, je n’utilise pas de javascript pour insérer du texte au final…

    merci pour ton aide Franck !

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    merci Franck pour ta remarque…..

     

    ah oui, il y a class qui apparaît mais c’est en comentaire…j’ai  essayé pas mal de chose..avec les classe aussi..

    mes derniers essais étaient bien avec des div comme

    echo '<script type="text/javascript"> document.getElementById("connexionerror").innerHTML=" Sie können nur in Lieferantenbereich anmelden!"</script>';

    
    
    
    bon, pour le nom, meacoulpa.... je melange toujours connexion et connection.. et comme le site est en allemand, j'aurai même du ecrire
    "VerbindungFehler" .... mais bon...
    
    que veux tu dire en disant "si tu fais du JavaScript, pourquoi ne pas utiliser jQuery" ?
    merci par avance pour ton retour
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    alors, en fait j’ai abandonné mon idée d’injecté du text dans un div à l’aide de javascript.

    J’ai donc créé une autre fonction dans functions.php

     

    /* Modifie le texte de message d'erreur gravity form¨*/
    add_filter("gform_validation_message_124", "change_message", 10, 2);
    function change_message($message, $form){
    	global $user;
    	$form = $validation_result['form'];
    	$user_id = $user->ID;
    	$user1 = get_userdata( $user_id );
    	$user_role = array_shift($user1->roles);
    
    
    	if ($user_role != 'mitglieder_partnerlieferanten'  )
    	 {
    				if ($user_role == 'mitglieder_mitglieder' ) 
    				{
    					$admission = $user->usermitglieder_admission;
    					
    				}
    				if ($user_role == 'mitglieder_partnerorganisationen' ) 
    				{
    					$admission = $user->userpartnerorga_admission;
    				}
    				
    				// AJOUT TEST POUR SAVOIR SI LE USER EST ADMIS (ou administrato = admis direct)
    			   if (($admission == 'ja' ) OR ($user_role == 'administrator' ))
    				{
    				}
    				else
    				{
    				return '<div class="validation_error">Sie sind nicht Miglieder.</div>';	
    				}
    	}
    	else
    	{
    		return '<div class="validation_error">Sie können nur in Lieferantenbereich anmelden!.</div>';
    	}
    
    }

    cela modifie le texte d’eerreur par défaut de gravity form dans le cas où if ($user_role == ‘mitglieder_partnerlieferanten’  )

    mais la boucle

       if (($admission == 'ja' ) OR ($user_role == 'administrator' ))
    				{
    				}
    				else
    				{
    				return '<div class="validation_error">Sie sind nicht Miglieder.</div>';	
    				}

    ne fonctionne pas…..

    même quand admission ==Nein, ça se loggue et ne met pas de message d’erreur

     

    je continue à chercher

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    En fait, je plaçais mon test dans une fonction qui est lue 2 fois : 1 fois pour le login et 1 fois pour le mot de passe.

    Et pour chacune de ces fois, comme le login et le mot de passe n’étaient pas  connus en mêem temps, les données “user” étaient vides.

    Ce qui fait que mon is_user_logged_in() était false.

    J’ai donc placé mes test dans une fonction à part qui récupère les données finales de mon formulaire de connexion.

    Et là ça fonctionne……

     

    merci pour votre aide !

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    okay j’ai trouvé donc j’ai d’abord trier mes catégorie et j’ai inclu mon tri des CPT à l’intérieur

     

    <?php 
    //Je liste mes catégories
    $termes = get_terms("PartnerliefKategorien");
    $terms = get_terms( 'PartnerliefKategorien', array(
        'orderby'    => 'asc',
        'hide_empty' => 0
    ) );
    
    // DEBUT DE TRI PAR CATEGORIE
    foreach( $terms as $term ) {
     
     $categorie = $term->slug;
    
              
    	  		$args_partlief = array(
    			'post_type' => 'partnerlieferanten',
                'orderby'   => 'meta_value',
                'meta_key'  => 'firmennamen_partlief',
    			'order'     => 'asc',
    			'posts_per_page' =>-1,
    			'tax_query' => array(
    				array(
    					'taxonomy' => 'PartnerliefKategorien',
    					'field'    => 'slug',
    					'terms'    => $categorie,
    				),
    			),
    		);	
    				
    				
    				$the_querypartlief = new WP_Query($args_partlief);

    bien sûr je ferme les boucles

     

            while ($the_querypartlief->have_posts()) : 
    
    // AFFCHAGE DES CPT
    
    //ET JE FERME LES BOUCLES
    
    			}
    endwhile;
    wp_reset_postdata(); 
    
    } // FIN FOR EACH CATEGORIE	

     

    résolu !

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    alors , j’ai donc l’affichage de tous les custom post typ correspondant à la catégorie “fahrzuege”

     

               <?php  
    	  		$args_partlief = array(
    			'post_type' => 'partnerlieferanten',
    			'tax_query' => array(
    				array(
    					'taxonomy' => 'PartnerliefKategorien',
    					'field'    => 'slug',
    					'terms'    => 'Fahrzeuge',
    				),
    			),
    		);	
    				
    				
    				$the_querypartlief = new WP_Query($args_partlief);

     

    mais je voudrais faire un affichage de toute les catégories, classée par ordre alphabetique….humm je continue

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    ouh la… ça a fait un schmilblick…

     

    je disais la fonction gform_field_validation est parcourue 2 fois, ce qui fait que cela posait des problèmes au niveau de la récupération de données comme

    $user_role qui était rempli au premier tour mais vide au deuxième…..

    D’où extraire les conditions de tests afin de ne parcourir qu’une seule fois la fonction avec les tests.

     

    Résolu !

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    la fonction

    <code class=" code-embed-code language-php"><span class="token string">gform_field_validation</span> est parcourue 2 fois, ce qui fait que cela posait des problèmes au niveau de la récupération de données 
    comme
    <code class=" code-embed-code language-php"><span class="token variable">$user_role  qui était rempli au premier tour mais vide au deuxième.....
    D'où extraire les conditions de tests afin de ne parcourir qu'une seule fois la fonction avec les tests.
    
    resolu !
    </span>
15 sujets de 16 à 30 (sur un total de 233)