8ответ(ов) в теме
Алексей Тихонов
не в сети 6 лет
На сайте с 11.09.2016
Участник
Тем 57
Сообщения 167
1
12:56

здравствуйте. есть несколько вариаций платного доступа касательно товаров которые я не могу реализовать. у вас доступ подан виде кнопки переадресации на товаре

Вы не можете просматривать опубликованные ссылки

.
1. как сделать такую же приблизительною кнопку на товаре с переадресацией на платный доступ как у вас

Вы не можете просматривать опубликованные ссылки

к этому вопросу хотелось бы сделать такую заметку, что товары из пометкой платного доступа имеют также покупку уровня в низу, под описаниям. если можно то расскажите об данной возможности...?
2.в произвольной форме магазина у вас есть пункт *Сделать доступным для покупателей с аккаунтом:*

Вы не можете просматривать опубликованные ссылки

как именно можно сделать взаимосвязь данной вкладки и публикования товара уже в платном доступе при выборе нужного уровня доступа?

ps. покупал плагин магазина с надеждой что можно сделать такой же функционал как у вас, он мне максимально подходит. возможно я упустил что какое-нибудь дополнения или плагин. подскажите пожалуйста что же мне нужно или можно сделать?

1
Вова (Otshelnik-Fm)
не в сети 2 недели
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
2
13:23

1 это работа WP Pay Access

Вы не можете просматривать опубликованные ссылки

2 он же. Но возможно на этом сайте работает еще собственная разработка - это вам скажет Андрей

0
Алексей Тихонов
не в сети 6 лет
На сайте с 11.09.2016
Участник
Тем 57
Сообщения 167
3
13:45

да.. WP Pay Access у меня тоже есть, но хотелось бы как минимум сделать кнопу на товаре..

1
Алексей Тихонов
не в сети 6 лет
На сайте с 11.09.2016
Участник
Тем 57
Сообщения 167
4
17:29

тогда жду ответа..

0
Андрей CS
не в сети 6 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16967
5
17:43

Выводим список доступов в редакторе формы публикации

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>';
}

Вроде все. Есть еще стили для некоторых элементов, не буду сейчас их искать, при желании можете написать свои или стянуть с этого сайта.

1
Алексей Тихонов
не в сети 6 лет
На сайте с 11.09.2016
Участник
Тем 57
Сообщения 167
6
17:32

спасибо ... надо подумать, немного ситуация сложилась по другому

0
Krystina
не в сети 2 года
На сайте с 06.11.2016
Участник
Тем 103
Сообщения 339
7
14:02

Здравствуйте уважаемый Андрей 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 на кнопке товара.
Заранее спасибо!

0
Андрей CS
не в сети 6 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16967
8
14:09

Krystina сказал(а)

куда располагается код

как вариант - в файл функций своей темы

0
Тема закрыта. Публикация новых сообщений запрещена.