Toutes mes réponses sur les forums
-
AuteurMessages
-
j’ai trouvé DES fonction qui restreint les membres qui sont abonnée avec un pack subscription je voudrait que tous les membres ont cette limitation ceux qui on un role vendeur comment l’adapter ? MERCI
/**
* Restrict gallery image count for new product & edit product
*
* @return void
*/
public function restrict_gallery_image_count() {
$image_count = $this->get_restricted_image_count();
if ( $image_count == - 1 ) {
return;
}
if ( $image_count >= 0 ) { ?>
<script type="text/javascript">
;(function () {
var image_count = <?php echo json_encode( $image_count, JSON_HEX_TAG ); ?>;
var observer = new MutationObserver(function () {
if (document.querySelector('.attachments-browser ul')) {
var selected_image = document.querySelectorAll("[aria-checked='true']").length;
var added_image = document.querySelectorAll("#product_images_container .image").length;
if(document.querySelector('.media-toolbar button').innerText !== 'Set featured image' ){
var submit_button=document.querySelector('.media-toolbar button');
if ((selected_image + added_image) > image_count || selected_image < 1) {
submit_button.disabled = true;
} else {
submit_button.disabled = false;
}
}
if (added_image >= image_count) {
document.querySelector("#product_images_container .add-image").style.display = 'none';
} else {
document.querySelector("#product_images_container .add-image").style.display = '';
}
}
});
observer.observe(document.body,
{
childList: true,
subtree: true,
}
)
})();
</script>
<?php }
}
/**
* Restrict already added gallery image using woocommerce_before_single_product
*
* @return void
*/
public function restrict_added_image_display() {
global $product, $post;
$image_count = $this->get_restricted_image_count( $post->post_author );
if ( $image_count == - 1 ) {
return;
}
$product_gallery_image = $this->count_filter( $product->get_gallery_image_ids(), $image_count );
$product->set_gallery_image_ids( $product_gallery_image );
}
/**
* Restricted gallery image count for vendor subscription
*
* @return int
*/
public function get_restricted_image_count( $vendor_id = null ) {
$vendor_id = ! empty( $vendor_id ) ? $vendor_id : dokan_get_current_user_id();
$vendor = dokan()->vendor->get( $vendor_id )->subscription;
if ( $vendor && $vendor->is_gallery_image_upload_restricted() ) {
return $vendor->gallery_image_upload_count();
}
return -1;
}
/**
* Restrict gallery image when creating product
*
* @param '' $errors
* @param array $data
*
* @return string
*/
public function restrict_gallery_image_on_product_create( $errors, $data ) {
$gallery_image = ! empty( $data['product_image_gallery'] ) ? array_filter( explode( ',', wc_clean( $data['product_image_gallery'] ) ) ) : [];
$image_count = $this->get_restricted_image_count();
if ( $image_count == - 1 ) {
return;
}
if ( count( $gallery_image ) > $image_count ) {
$errors = new \WP_Error( 'not-allowed', __( sprintf( 'You are not allowed to add more than %s gallery images', $image_count ), 'dokan' ) );
return $errors;
}
}
/**
* Restrict gallery image when editing product
*
* @param $postdata
*
* @return array
*/
public function restrict_gallery_image_on_product_edit( $postdata ) {
$gallery_image = ! empty( $postdata['product_image_gallery'] ) ? array_filter( explode( ',', wc_clean( $postdata['product_image_gallery'] ) ) ) : [];
$image_count = $this->get_restricted_image_count();
if ( $image_count == - 1 ) {
return;
}
$postdata['product_image_gallery'] = implode( ',', $this->count_filter( $gallery_image, $image_count ) );
return $postdata;
}j’ai commencé ceci :
add_action( 'init', 'restrict_gallery_image_count_vendor_all' );
function restrict_gallery_image_count_vendor_all() {
// Getting user data for logged users
if( is_user_logged_in() ){
$current_user = wp_get_current_user();
$current_user_id = $current_user->ID;
$current_user_roles = $current_user->roles;
// $bilal_id = 0;
}
// Exempting of VAT non logged users, customers and the main admin ID (you)
if( ! is_user_logged_in() || in_array( 'vendor','customer', $current_user_roles ) ){
//WC()->customer->set_is_vat_exempt(true);
}
}-
Cette réponse a été modifiée le il y a 1 année et 7 mois par
kate66.
bonjour j’ai mis le code sur wordpress avec l’extension mais cela ne fonctionne pas.merci
meme en desactivant le theme avec themeforest je le meme bug c’est pour cela que je me suis permis de poster ici merci
voici le code de la page meme quand j’ai changé avec meme id cela fait pareil :
/**
* Single Product tabs
*
* This template can be overridden by copying it to yourtheme/woocommerce/single-product/tabs/tabs.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://docs.woocommerce.com/document/template-structure/
* @package WooCommerce/Templates
* @version 3.8.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Filter tabs and allow third parties to add their own.
*
* Each tab is an array containing title, callback and priority.
* @see woocommerce_default_product_tabs()
*/
$tabs = apply_filters( 'woocommerce_product_tabs', array() );
if ( ! empty( $tabs ) ) : ?>
<?php $i = 0; ?>
<?php foreach ( $tabs as $key => $tab ){ ?>
<?php $i++; ?>
<?php } ?>
<div class="woocommerce-tabs wc-tabs-wrapper" id="tabs-bottom-product">
<ul class="tabs wc-tabs wc-tabs-<?php echo esc_attr($i); ?>" role="tablist">
<?php foreach ( $tabs as $key => $tab ) : ?>
<li class="<?php echo esc_attr( $key ); ?>_tab" id="tab-title-<?php echo esc_attr( $key ); ?>" role="tab" aria-controls="tab-<?php echo esc_attr( $key ); ?>">
<a href="#tab-<?php echo esc_attr( $key ); ?>" onclick="return false;"><?php echo apply_filters( 'woocommerce_product_' . esc_attr($key) . '_tab_title', esc_html( $tab['title'] ), $key ); ?></a>
</li>
<?php endforeach; ?>
</ul>
<?php foreach ( $tabs as $key => $tab ) : ?>
<div class="woocommerce-Tabs-panel woocommerce-Tabs-panel--<?php echo esc_attr( $key ); ?> panel entry-content wc-tab" id="tab-<?php echo esc_attr( $key ); ?>" role="tabpanel" aria-labelledby="tab-title-<?php echo esc_attr( $key ); ?>">
<?php if ( isset( $tab['callback'] ) ) { call_user_func( $tab['callback'], $key, $tab ); } ?>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>Nous avons une ancienne version de WordPress et devont nous effectuer la maj du wordpress comme indique en 2 cas de l’aide ou effectuer le 1er cas.
Merci.
Le thème est the7 mais nous avons pas les codes d’achat cela ne nous empêcherons pas de tout réinstaller ? Merci.
si je modifie aussi le mot de passe de la base de donnée si cela est de l’injection cela regalèrerai pas le probleme aussi ? MERCI
ok je comprends je vais regarder cela par contre si je suis l’etape 1 mon site sera toujours accessible ;
renomme mon theme et dossier d’extension comme dans l’etape 1 cela ne risque t’il pas de perdre mon site web merci
Qu’est ce que cela change d’être en liste noir car notre site est tout de même indexé sur Google ? MERCI
merci si je renomme mon theme et dossier d’extension comme dans l’etape 1 cela ne risque t’il pas de perdre mon site web ? MERCI
que dois-je faire à ton avis cela n’a pas l’air très bon ?Merci
30 novembre 2020 à 18 h 34 min en réponse à : woocommerce subscription avec paypal directement carte bancaire #2361276Bonjour
Comment vérifier l’activation sur le compte PayPal je ne vois pas l’endroit ?
Merci
Bonjour,
j’ai testé avec un code mais celui-ci ne fonctionne pas rien ne s’affiche si je met les deux fonctions mais si j’en mit qu’une seule cela fonctionne :
function desactiver_transfertbank_role_casino( $available_payment_gateways ) {
$user_actuel = wp_get_current_user(); // pour l’utilisateur courant
/*$allowed_roles = array('groupe_intermarche','groupe_casino','groupe_intermarche');
if (array_intersect($allowed_roles, $user_actuel->roles )) {
*/
if($user_actuel->roles=='groupe_casino')
{
unset($available_payment_gateways['bank_transfer_1']);
unset($available_payment_gateways['bank_transfer_3']);
/*}*/
return $available_payment_gateways;
}
}
add_filter('woocommerce_available_payment_gateways', 'desactiver_transfertbank_role_casino', 90, 1);
function desactiver_transfertbank_role_carrefour( $available_payment_gateways ) {
$user_actuel = wp_get_current_user(); // pour l’utilisateur courant
/*si utilisateur d'un groupe carrefour*/
if($user_actuel->roles=='groupe_carrefour')
{
//Remove the stripe payment gateway
unset($available_payment_gateways['bank_transfer_2']);
unset($available_payment_gateways['bank_transfer_3']);
/*}*/
return $available_payment_gateways;
}
}
add_filter('woocommerce_available_payment_gateways', 'desactiver_transfertbank_role_carrefour', 90, 1);merci pour votre aide.
j’ai trouve apres plusieurs heures de recherche au cas ou pour quelqu’un il faut decocher mot cryptage activer dans le compte paypal pour woocommerce checkout.merci.
-
Cette réponse a été modifiée le il y a 1 année et 7 mois par
-
AuteurMessages