здравствуйте. есть несколько вариаций платного доступа касательно товаров которые я не могу реализовать. у вас доступ подан виде кнопки переадресации на товаре
.
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 на кнопке товара.
Заранее спасибо!