Toutes mes réponses sur les forums
-
AuteurMessages
-
5 février 2018 à 17 h 28 min en réponse à : Gestion des utilisateurs/rôles sur un réseau de sites #2080931
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);
}5 février 2018 à 16 h 58 min en réponse à : Gestion des utilisateurs/rôles sur un réseau de sites #2080918Merci 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.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
12 juillet 2017 à 8 h 41 min en réponse à : [Résolu] Afficher menu personnalisé en top bar sur toutes les pages #1646982Bonjour,
je t’invite à consulter ce plugin qui permet de cacher des items de menu : https://fr.wordpress.org/plugins/menu-items-visibility-control/
1 mars 2017 à 15 h 55 min en réponse à : Migration site vers réseau de multisite – images ne s(affichent pas #1624006Bonjour,
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
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)
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.
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.
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,
5 décembre 2016 à 9 h 26 min en réponse à : Faire un site WooCommerce avec plusieurs magasins #1607502Merci 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.
1 décembre 2016 à 9 h 19 min en réponse à : Faire un site WooCommerce avec plusieurs magasins #1607037Merci ! 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.
4 octobre 2016 à 16 h 04 min en réponse à : Contact form 7 -> ajouter une liste de type de post #1571463Merci pour votre réponse.
J’ai essayé de mettre dans le titre du post ’ 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…4 octobre 2016 à 12 h 30 min en réponse à : Contact form 7 -> ajouter une liste de type de post #1571412Voici 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.
8 juillet 2015 à 13 h 33 min en réponse à : Rechercher un terme dans une taxonomie hiérarchique #1012282Merci 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.2 juillet 2015 à 9 h 35 min en réponse à : Afficher une valeur d’un champ personnalisé pour variation #999492Voici 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 );
});
}); -
AuteurMessages