здравствуйте. есть несколько вариаций платного доступа касательно товаров которые я не могу реализовать. у вас доступ подан виде кнопки переадресации на товаре
.
1. как сделать такую же приблизительною кнопку на товаре с переадресацией на платный доступ как у вас
к этому вопросу хотелось бы сделать такую заметку, что товары из пометкой платного доступа имеют также покупку уровня в низу, под описаниям. если можно то расскажите об данной возможности...?
2.в произвольной форме магазина у вас есть пункт *Сделать доступным для покупателей с аккаунтом:*
как именно можно сделать взаимосвязь данной вкладки и публикования товара уже в платном доступе при выборе нужного уровня доступа?
ps. покупал плагин магазина с надеждой что можно сделать такой же функционал как у вас, он мне максимально подходит. возможно я упустил что какое-нибудь дополнения или плагин. подскажите пожалуйста что же мне нужно или можно сделать?
Выводим список доступов в редакторе формы публикации
add_filter('public_form_rcl','products_wpa_fields_publicform',99,2);
function products_wpa_fields_publicform($fls,$data){
if($data->post_type!='products') return $fls;
global $wppay_accounts;
if($wppay_accounts){
$fls .= '<table>';
$fls .= '<tr>'
. '<td><label>Сделать доступным для покупателей с аккаунтом: </label></td>'
. '<td><select name="wppay-access">'
. '<option value="">Базовый</option>';
foreach((array)$wppay_accounts as $account){
$fls .= '<option value="'.$account->ID.'" '.selected($account->ID,get_post_meta($data->post_id,'wppay-access',1),false).'>'.$account->acc_name.'</option>';
}
$fls .= '</select>'
. '</td>'
. '</tr>'
. '</table>';
}
return $fls;
}
Сохраняем выбранное значение доступа
add_action('update_post_rcl','update_wpa_product_meta_rcl',10,3);
function update_wpa_product_meta_rcl($post_id,$postdata,$update){
if($postdata['post_type']!='products') return false;
if($_POST['wppay-access']) update_post_meta($post_id, 'wppay-access', $_POST['wppay-access']);
}
Выводим тарифные планы на приобретение доступа на странице товара
add_filter('cart_button_product_page','edit_salebutton_ufm',10);
add_filter('salebutton_ufm','edit_salebutton_ufm',10);
function edit_salebutton_ufm($button){
global $post,$User_Access;
if($User_Access) return $button;
$id_account = get_post_meta($post->ID,'wppay-access',1);
if(!$id_account) return $button;
return '[wpa access_id="'.$id_account.'" text="'
.'<div class='notify-product warning-notify'>'
. '<i class='fa fa-exclamation rcl-icon'></i><b>Данный товар могут скачивать только пользователи с доступом VIP!</b> '
. 'Доступ приобретается только один раз на указанный вами срок, в течении которого вы сможете скачивать файлы без ограничений на всем сайте.'
. '</div>'
. '"][/wpa]';
}
Выводим надпись VIP на кнопке товара
add_filter('rcl_cart_button','add_vip_button',10,2);
function add_vip_button($button,$prod_id){
global $User_Access;
if($User_Access) return $button;
$id_account = get_post_meta($prod_id,'wppay-access',1);
if(!$id_account) return $button;
return '<a href="/vip-account/" class="no-vip"><span class="access-vip-button">VIP</span></a>';
}
Вроде все. Есть еще стили для некоторых элементов, не буду сейчас их искать, при желании можете написать свои или стянуть с этого сайта.
Здравствуйте уважаемый Андрей CS! Подскажите пожалуйста куда располагается код:
add_filter('rcl_cart_button','add_vip_button',10,2);
function add_vip_button($button,$prod_id){
global $User_Access;
if($User_Access) return $button;
$id_account = get_post_meta($prod_id,'wppay-access',1);
if(!$id_account) return $button;
return '
';
} - для вывода надписи VIP на кнопке товара.
Заранее спасибо!