whoaloic (Créer un compte)

Toutes mes réponses sur les forums

15 sujets de 1 à 15 (sur un total de 54)
  • Auteur
    Messages
  • en réponse à : Gestion des utilisateurs/rôles sur un réseau de sites #2080931
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Aussi, j’aimerais envoyer une notification à l’utilisateur lorsque son rôle est upgradé.

     

    J’utilise ce code :

    Le problème est que l’utilisateur reçoit autant de mails qu’il y a de sites.

    function user_role_update( $user_id, $new_role ) {
    $site_url = get_bloginfo('wpurl');
    $user_info = get_userdata( $user_id );
    $to = $user_info->user_email;
    $subject = "Votre compte a été modifié sur ".$site_url."";
    $message = "Bonjour " .$user_info->display_name . "<br/> votre compte a été modifié sur ".$site_url.", vous avez désormais le rôle de ". $new_role .".";
    wp_mail($to, $subject, $message);
    }
    $blog_id = get_current_blog_id();
    if ($blog_id == 1) {
    add_action( 'set_user_role', 'user_role_update', 10, 2);
    }

    en réponse à : Gestion des utilisateurs/rôles sur un réseau de sites #2080918
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Merci pour ta réponse.
    Ce plugin semble convenir malgré le fait qu’il ne semble pas maintenu. Mais c’est étrange qu’il n’y ait pas ce genre de fonctionnalité par défaut pour un réseau de sites.

    en réponse à : wp_nav_menu link_before #1996456
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Bonjour,

    Ces classes sont appliquées au

    Ce que je voudrais c’est entourer le texte du menu par un span. Pour les menus de premier niveau, attribuer à ce span une classe « menu » et pour les sous menus une classe ‘submenu ».

    Cordialement

    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Bonjour,

    je t’invite à consulter ce plugin qui permet de cacher des items de menu : https://fr.wordpress.org/plugins/menu-items-visibility-control/

    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Bonjour,

    j’ai migré le contenu d’un site « normal » vers un sous site d’un réseau multisite.

    1/ Export de la base de données du site « normal ».

    Modification des url des images (“/uploads/” => “/uploads/sites/2/”)

    Suppression des tables wp_user et wp_usermeta

    Modification des préfixes des tables “wp_” → “wp_2_”.

    2/ Import du nouveau fichier  SQL vers la base de donnée du multisite

    3/ Migration du contenu des dossiers wp-content/themes, wp-content/plugins du site « normal » vers le multisite dans leurs dossiers respectifs

    4/ Migration du contenu du dossier wp-content/uploads d site « normal » vers le dossier wp-content/uploads/sites/2 du multisite

    5/ Enregistrer les permaliens

    en réponse à : Gestion des utilisateurs #1623765
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Mon problème est du au fonctionnement de réinitialisation de WooCommerce.

    Dans le fichier /woocommerce/includes/shortcodes/class-wc-shortcode-my-account.php il y a le code suivant

    if ( is_multisite() && ! is_user_member_of_blog( $user_data->ID, get_current_blog_id() ) ) {
    wc_add_notice( __( 'Invalid username or e-mail.', 'woocommerce' ), 'error' );
    return false;
    }

     

    Je n’utiliserai pas le système de réiniailisation de WooCommerce et utiliserai un autre système (celui de Profile Builder)

    en réponse à : Gestion des utilisateurs #1623747
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Finalement, je vois que le problème vient du formulaire de réinitialisation de mot de passe de WooCommerce qui ne trouve pas l’utilisateur créé sur un autre site du réseau multisite. Si je désactive WooCommerce et que j’uilise le sytème par défaut de WordPress ou encore si j’utilise le formulaire du pluin Profile Builder [wppb-recover-password], la demande de réinitialisation de mot de passe est bien envoyée.

    en réponse à : Gestion des utilisateurs #1623739
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Visiblement, les utilisateurs qui s’inscrivent sur le site principal ou sur un sous domaine reste connecté ou peuvent se connecter avec leur identifiant/mot de passe sur l’ensemble des sites.

    Cependant, si un utilsiateur s’est enregistré sur un site A, la réinitialisation du mot de passe à aprtir des sites B et C ne trouvent pas l’utilisateur.

    en réponse à : Gestion des utilisateurs #1623499
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    D’accord, merci pour cette précision.
    Pourtant lorsqu’un utilisateur s’inscrit sur le site principal du réseau, il reste connecté sur les autres sites du réseau.

    Existe-t-il un moyen afin de permettre aux utilisateurs de s’enregistrer via un sous domain mais de rester connecté sur l’ensemble des sites du réseau ?

     

    Cordialement,

    en réponse à : Faire un site WooCommerce avec plusieurs magasins #1607502
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Merci pour vos réponses.

    La contrainte est que les propriétaires de chaque magasin n’auront pas le temps de gérer leur catalogue. Egalement, étant donné que les références des produits (UGS chez WC) sont les mêmes, il risque d’avoir des problèmes lors des mises à jour des produits (j’utilise WooCommerce Suite Import).

    Peut-être que je devrais plus me pencher vers une solution de demande de devis sur la page de commande de WC avec la possibilité de sélectionner son destinataire (magasin) dans une liste déroulante. Il n’y aurait donc qu’un seul catalogue pour tous les magasins. Le propriétaire du magasin sélectionné répondra manuellement par mail.

    en réponse à : Faire un site WooCommerce avec plusieurs magasins #1607037
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Merci ! Je ne connaissais pas ce plugin.

    J’avais aussi vu http://wc-marketplace.com/ !

    Le problème est que je crois que je dois dupliquer tous les produits par nombre de magasin car chaque magasin applique ses propres prix !

    Ou alors faire un multi-site mais là aussi je crois que je devrais dupliquer chaque produit.

    en réponse à : Contact form 7 -> ajouter une liste de type de post #1571463
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Merci pour votre réponse.

    J’ai essayé de mettre dans le titre du post &rsquo; au lieu de l’apostrophe mais ça ne règle pas le problème…

    D’ailleurs ce ne serait pas l’idéal pour la création d’un post.
    Toujours dans l’investigation…

    en réponse à : Contact form 7 -> ajouter une liste de type de post #1571412
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Voici une solution:

    function dynamic_select_list($tag, $unused) {

    $options = (array)$tag['options'];

    foreach ($options as $option) {
    if (preg_match('%^from_db:([-0-9a-zA-Z_]+)$%', $option, $matches)) {
    $from_db = $matches[1];
    }
    }

    if(!isset($from_db)) {
    return $tag;
    }

    // get the existing WPCF7_Pipe objects
    $befores = $tag['pipes']->collect_befores();
    $afters = $tag['pipes']->collect_afters();

    // add the existing WPCF7_Pipe objects to the new pipes array
    $pipes_new = array();
    for ($i=0; $i < count($befores); $i++) {
    $pipes_new[] = $befores[$i] . '|' . $afters[$i];
    }

    // Add users to the $tag values
    if($from_db === 'magasins') {
    global $post;
    $args = array( 'post_type' => 'wpsl_stores','posts_per_page' => -1, 'meta_key' => 'wpsl_zip','orderby' => array(
    'meta_value_num' => 'ASC',
    'post_date' => 'ASC',
    ), );
    $myposts = get_posts( $args );
    if (!$myposts) {
    return $tag;
    }

    foreach ($myposts as $post) {
    $title = get_the_title();
    $zip = get_post_meta($post->ID, 'wpsl_zip', true);
    $city = get_post_meta($post->ID, 'wpsl_city', true);
    $email = get_post_meta($post->ID, 'wpsl_email', true);
    $tag['raw_values'][] = $email;
    $tag['values'][] = $title;
    $tag['labels'][] = $zip . ' '. $city .' - ' . $title;
    // add the user info for use as a new WPCF7_Pipe object
    $pipes_new[] = $title . '|' . $email;
    }
    wp_reset_postdata();
    }

    // setup all the WPCF7_Pipe objects
    $tag['pipes'] = new WPCF7_Pipes($pipes_new);

    return $tag;
    }
    add_filter('wpcf7_form_tag', 'dynamic_select_list', 10, 2);

    Ensuite mettre ce code dans le formulaire de contact :

    [select* magasin default:get id:magasin class:magasin from_db:magasins]

    L’attribut default:get permet d’accèder à l’URL de l’option pré-selectionée.

    Cependant si mon option contient une apostrophe, ça ne fonctionne pas.

     

    en réponse à : Rechercher un terme dans une taxonomie hiérarchique #1012282
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Merci Lumière de Lune.
    Le plugin marche bien avec WP 4.2 excepté le fait qu’on ne peux pas ajouter une catégorie depuis la métabox de la taxonomie.

    J’ai aussi trouvé Taxonomy Filter : https://wordpress.org/plugins/taxonomy-filter/
    Juste un petit bug repéré : dans le panneau d’admin qui liste les posts, il y a le champ de filtre qui est en dehors de la boucle des posts, donc le filtre sur le terme d’une taxonomie ne fonctionne pas.
    Ce plugin fait le job. C’est vrai que si on a beaucoup de termes dans la taxonomie, ça peut devenir très embêtant pour les auteurs.

    en réponse à : Afficher une valeur d’un champ personnalisé pour variation #999492
    whoaloic
    Participant
    Chevalier WordPress
    101 contributions

    Voici le bon code :

    ID, ‘variable_eco_participation’, true);

    $custom_data[$variation_id] = array(
    « custom_field_value » => $variable_eco_participation
    );
    endforeach;
    ?>

    <span class='eco'>dont <strong>Eco-participation : </strong> <span class="selected-variation-custom-field"><!-- Holds the value for the variation custom field --></span> €</span>


    jQuery(function($) {
    var variation_custom_fields = ,
    variations_data = JSON.parse( $(‘form.variations_form’).first().attr( ‘data-product_variations’ ) ),
    $selected_variation_custom_field = $(‘.selected-variation-custom-field’); // see DIV above

    $(‘table.variations’).on(‘change’, ‘select’, function() {
    var $select = $(this),
    attribute_name = $select.attr(‘name’),
    selected_value = $select.val(),
    custom_field_value = «  »;

    // Loop over the variations_data until we find a matching attribute value
    // We then use the variation_id to get the value from variation_custom_fields
    $.each(variations_data, function() {
    if( this.attributes[ attribute_name ] && this.attributes[ attribute_name ] === selected_value ) {
    custom_field_value = variation_custom_fields[ this.variation_id ].custom_field_value;
    return false; // break
    }
    });

    // doing this outside the loop above ensures that the DIV gets emptied out when it should
    $selected_variation_custom_field.text( custom_field_value );
    });
    });

15 sujets de 1 à 15 (sur un total de 54)