Может я не првильно объяснил... Имеется в виду, что например пользователь выбрал PayPal , при заказе у него будет отображатся вариант оплаты только PayPal , потом он например поменял на Карту , на следующий раз , при заказе , у него будет способо оплаты только Картой и тд.
add_action( 'wp_ajax_hello', 'f_hello' );
add_action( 'wp_ajax_nopriv_hello', 'f_hello' );
function f_hello() {
check_ajax_referer( 'wpp-string', 'security' );
$n = 1;
$sum = 0;
$error = [];
while ( $n <= 2 ) :
if ( ! empty( absint( $_POST['param1'] ) ) ) {
$sum += absint( $_POST[ 'param' . $n ] );
} else {
$error[] = sprintf( __( 'Param %d is Empty!', 'txt' ), $n );
}
$n ++;
endwhile;
if ( empty( $error ) ) {
wp_send_json_success( array( 'result' => $sum ) );
} else {
wp_send_json_error( array( 'result' => $error ) );
}
}
add_action( 'wp_enqueue_scripts', 'wpp_assets' );
function wpp_assets() {
wp_enqueue_script( 'ajax', get_template_directory_uri() . '/assets/js/script.js', array( 'jquery' ), '1.0.0', true );
wp_localize_script( 'ajax', 'WppAjax', array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
'security' => wp_create_nonce( 'wpp-string' )
) );
}
jQuery(function ($) {
$(document).on('click', '#btn', function (e) {
e.preventDefault();
var $param1 = 10,
$param2 = 20,
$data = {
action: 'hello',
security: WppAjax.security,
param1: $param1,
param2: $param2
};
$.post(WppAjax.ajax_url, $data, function ($response) {
if ($response.success) {
alert($response.data.result);
} else {
// бла бла бла обработка ощшибок
}
});
});
})
add_filter( 'body_class', 'wpp_my_tax_slug_class' );
function wpp_my_tax_slug_class( $classes ) {
global $post;
$terms = get_the_terms( $post->ID, 'my_tax' );
if ( !empty($terms) ) {
foreach ($terms as $term) {
$classes[] = 'my_tax-' . $term->slug;
}
}
return $classes;
}
$extremes = wpp_get_extremes_price_in_product_cat( 55 ); // 55 - id категории товара
printf('минимальная цена %s, максимальная цена %s',$extremes->min_price ,$extremes->max_price );
'tax_query' => array(
array(
'taxonomy' => 'team_category',
'field' => 'id',
'terms' => array($category->term_id)
)
)
То есть по факту 2 различных интерфейса корзин, с разными полями для заполнения.
. Соответственно проверяете текущую роль пользователя и в соответствии с ней модифицируете поля через 'woocommerce_checkout_fields'
function dropzone_loader_callback() {
$newupload = 0;
if ( ! empty( $_FILES ) ) {
$files = $_FILES;
foreach ( $files as $file ) {
$newfile = array(
'name' => $file[ 'name' ],
'type' => $file[ 'type' ],
'tmp_name' => $file[ 'tmp_name' ],
'error' => $file[ 'error' ],
'size' => $file[ 'size' ]
);
$_FILES = array( 'upload' => $newfile );
foreach ( $_FILES as $file => $array ) {
$newupload = media_handle_upload( $file, 0 );
}
}
}
echo $newupload;
die();
}
И да, я тут внимательно прямо прочитал, и разобрался в ваших мыслях.
У вас прямо концептуальная ошибка, у покупателя нет доступа к списку юзеров, он физически не может там ничего выбрать
а вообще навязать ему только один метод оплаты проще пареной репы
вот после этого https://github.com/woocommerce/woocommerce/blob/ma...
Добавить