2ответ(ов) в теме
Андрей CS
не в сети 3 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 17006
1
20:56

//добавляем в форму публикации выбор созданных аккаунтов доступа
add_filter('rcl_public_form_fields','add_wppay_access_field_in_form',10,2);
function add_wppay_access_field_in_form($fields,$form){
    global $wppay_accounts;
    
    if($form->post_type!='products' || !$wppay_accounts) return $fields;
    
    $access = array(0 => 'Базовый доступ');
    foreach($wppay_accounts as $account){
        $access[$account->ID] = $account->acc_name;
    }
    
    $fields[] = array(
        'type' => 'select',
        'value_in_key' => false,
        'notice' => 'укажите уровень доступа к своей публикации',
        'slug' => 'wppay-access',
        'title' => __('Доступы к выбору','wp-recall'),
        'values' => $access
    );

    return $fields;
    
}

//проверяем возможность добавлять товар в корзину
add_filter('rcl_add_to_cart_data','check_product_add_to_cart_data');
function check_product_add_to_cart_data($data){
    global $user_ID;
    
    $User_Access = get_active_access($user_ID);
    
    if($User_Access) return $data;

    $id_account = get_post_meta($data['product_id'],'wppay-access',1);
    if(!$id_account) return $data;
    
    return false;
}

//выводим блоки тарифных планов на приобретение доступа
add_filter('the_content','edit_salebutton_ufm',15);
function edit_salebutton_ufm($content){
    global $post,$User_Access;
    
    if($User_Access) return $content;

    $id_account = get_post_meta($post->ID,'wppay-access',1);
    if(!$id_account) return $content;

        $content .= do_shortcode('');

    return $content;
}

//выводим кнопку ВИП взамен кнопки "В корзину"
add_action('rcl_cart_button_form_bottom','add_custom_vip_button');
function add_custom_vip_button($data){
    
    if(!isset($data->output['vip']) || !$data->output['vip']) return false;
    
    echo '<span class="cart-button">'
            . '<a href="/vip-account/" class="vip-access-button recall-button"><i class="fa fa-diamond" aria-hidden="true"></i>VIP</a>'
        . '</span>';
    
}

//отключаем вывод элементов формы добавления в корзину и ставим метку vip
add_filter('rcl_cart_button_form_args','delete_cart_args',10,2);
function delete_cart_args($args,$prod_id){
    global $User_Access;
    
    if($User_Access) return $args;

    $id_account = get_post_meta($prod_id,'wppay-access',1);
    if(!$id_account) return $args;

    $args['variations'] = false;
    $args['quantity'] = false;
    $args['cart_button'] = false;
    $args['vip'] = true;
    
    return $args;
}

0

Fatal error: Uncaught Error: Call to undefined function ads_get_box() in /var/www/www-root/data/www/codeseller.ru/wp-content/themes/codeseller/includes/adv.php:15 Stack trace: #0 /var/www/www-root/data/www/codeseller.ru/wp-includes/class-wp-hook.php(310): add_adv_content_after_first_forum_post('pfm-single-post...', '/var/www/www-ro...') #1 /var/www/www-root/data/www/codeseller.ru/wp-includes/class-wp-hook.php(334): WP_Hook->apply_filters('', Array) #2 /var/www/www-root/data/www/codeseller.ru/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #3 /var/www/www-root/data/www/codeseller.ru/wp-content/plugins/wp-recall/functions/files.php(57): do_action('rcl_include_tem...', 'pfm-single-post...', '/var/www/www-ro...') #4 /var/www/www-root/data/www/codeseller.ru/wp-content/plugins/wp-recall/add-on/prime-forum/functions-templates.php(117): rcl_include_template('pfm-single-post...', '/var/www/www-ro...') #5 /var/www/www-root/data/www/codeseller.ru/wp-content/plugins/wp-recall/add-on/prime-forum/themes/prime-first/templates/pfm in /var/www/www-root/data/www/codeseller.ru/wp-content/themes/codeseller/includes/adv.php on line 15