Skip to content

Instantly share code, notes, and snippets.

🥑
WordPress'in & React'in

Pierre Saikali psaikali

🥑
WordPress'in & React'in
Block or report user

Report or block psaikali

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@psaikali
psaikali / part2_wc_fields1.php
Last active Apr 30, 2017
Ajouter un onglet "Parrainage" et des champs de commission aux produits WooCommerce
View part2_wc_fields1.php
<?php
/**
* On ajoute un onglet "Parrainage" dans le back-office d'un produit WooCommerce
*/
function msk_add_commission_product_tab($tabs) {
$tabs = array_insert_after('general', $tabs, 'commission', array(
'label' => __('Parrainage', 'mosaika'),
'target' => 'commission_product_data',
'class' => array()
@psaikali
psaikali / part31_form_shortcode.php
Last active May 1, 2017
Créer un formulaire de proposition de produit WooCommerce
View part31_form_shortcode.php
<?php
/**
* Shortcode pour afficher le formulaire pour proposer un produit
*/
add_shortcode('msk_formulaire_proposer_produit', 'msk_shortcode_product_submission');
function msk_shortcode_product_submission($atts) {
// On ajoute un champ caché pour savoir si c'est un utilisateur lambda ou l'admin qui remplit le formulaire
$is_admin_hidden_field = (is_user_logged_in() && current_user_can('manage_options')) ? 'on' : 'off';
@psaikali
psaikali / part4_commission_gain.php
Last active May 8, 2017
Attribuer une récompense à un parrain après un achat WooCommerce
View part4_commission_gain.php
<?php
function msk_save_commissions_gains_from_order_items($order_id, $old_status, $new_status) {
global $wpdb;
$commissions_table_name = $wpdb->prefix . 'commissions';
// On récupère la commande concernée et les valeurs importantes
$order = wc_get_order($order_id);
$order_items = $order->get_items();
$order_customer_id = $order->get_customer_id();
$type = 'gain';
@psaikali
psaikali / part5_commission_use1.php
Created May 28, 2017
Permettre à un client WooCommerce d’utiliser sa cagnotte de points (parrain) comme réduction sur son panier
View part5_commission_use1.php
<?php
function msk_display_use_points_checkbox() {
// On récupère le nombre de points de l'utilisateur
$user_points = msk_get_customer_commission_balance(get_current_user_id())['balance'];
// Si l'acheteur a des points...
if ($user_points > 0) {
if (isset($_POST['post_data'])) {
parse_str($_POST['post_data'], $form_data);
@psaikali
psaikali / part11_sql_table.php
Created Apr 30, 2017
Créer une table SQL WordPress personnalisée pour stocker les données de commission
View part11_sql_table.php
<?php
/**
* Si inexistante, on créée la table SQL "commissions" après l'activation du thème
*/
global $wpdb;
$charset_collate = $wpdb->get_charset_collate();
$commissions_table_name = $wpdb->prefix . 'commissions';
@psaikali
psaikali / wc.description_code_promo.php
Created Sep 20, 2017
Afficher la description d'un code promo sur la page de commande WooCommerce
View wc.description_code_promo.php
<?php
/**
* Afficher la description d'un code promo
* Illustré sur http://media.mosaika.fr/mcbj
*/
function msk_display_coupon_description($value, $coupon) {
$new_value = sprintf('%1$s <small class="coupon-description">%2$s</small>', $value, $coupon->get_description());
return $new_value;
}
@psaikali
psaikali / wc.suppression_tags_produits.php
Created Sep 20, 2017
Supprimer les "Etiquettes produits" (tags) de WooCommerce
View wc.suppression_tags_produits.php
<?php
/**
* Faire disparaitre les étiquettes produits (tags) des produits WooCommerce
* Exemple : http://media.mosaika.fr/mcuZ
*/
function msk_unregister_post_tag() {
register_taxonomy('product_tag', array());
}
add_action('init', 'msk_unregister_post_tag');
@psaikali
psaikali / wc.ajout_champ_code_barre_produit.php
Created Sep 20, 2017
Ajouter un champ "Code-barre" aux produits WooCommerce
View wc.ajout_champ_code_barre_produit.php
<?php
/**
* Ajouter un champ "Code-barre" aux produits WooCommerce
* Ce nouveau champ s'affichera, ici, dans l'onglet "Inventaire" dans le back-office d'un produit WooCommerce
*/
function msk_add_barcode_product_fields() { ?>
<div class="options_group">
<?php
@psaikali
psaikali / wc.remplacer_virugle_par_point_prix_woocommerce.php
Created Sep 20, 2017
Remplacer la virgule "," des prix WooCommerce par un point "."
View wc.remplacer_virugle_par_point_prix_woocommerce.php
<?php
/**
* Séparation des décimales des prix WooCommerce : remplacer la virgule par un point
*/
function msk_wc_price_args($args) {
$args['decimal_separator'] = ',';
return $args;
}
add_filter('wc_price_args', 'msk_wc_price_args');
@psaikali
psaikali / wc.ajouter_onglet_page_produit_woocommerce.php
Last active Sep 20, 2017
Ajouter un onglet sur la page d'un produit WooCommerce
View wc.ajouter_onglet_page_produit_woocommerce.php
<?php
/**
* Ajouter un onglet 'Nouvel onglet' dans les onglets WooCommerce sur la page produit
* Tutoriel complet : https://mosaika.fr/woocommerce-ajouter-onglet-page-produit/
*/
function msk_woocommerce_new_tab($tabs) {
global $product;
$tabs['nouvel_onglet'] = array(
You can’t perform that action at this time.