Здравствуйте!, Не получается сделать вывод на кнопке товара как здесь на сайте, нашёл тему на форуме.
Применил код который там описан, но не всё работает, помогите разобраться.
/*Выводим список доступов в редакторе формы публикации*/ 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 ''; } /*Выводим надпись 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) я так понимаю что нужно ещё что то менять под свои доступы? если да подскажите где именно?
2) В поле выводятся все тарифы которые есть, как оставить те какие надо?
3) для физических товаров нужно в админке переключать настройки. можно эту настройку вывести в форму? чтоб пользователь сам выбирал, какой товар он хочет опубликовать..
Немного разобрался, оказывается если у пользователя нет вообще никаких доступных аккаунтов, кнопка VIP на товаре отображается .
Но у меня кроме VIP есть ещё другие аккаунты.
В данном случае получается так: (К примеру у меня есть два тарифа VIP и PREMIUM оба активированы, если действие VIP закончилось а PREMIUM всё еще доступен, кнопка не будет отображаться)
как подкорректировать код чтоб другие аккаунты не мешали выводу кнопки?
Если вам нужны доработки на ваш сайт, а текущий заявленный функционал не покрывает ваши потребности и вам нужно расширить его - создаем задание на бирже
- кто заинтересуется и свободен, откликнется.
Увы времени разработчика не хватает обрабатывать ваши задачи по не заявленному функционалу. Сейчас он занят.
p.s. работу в связке с этим дополнением и плагином я не знаю - поэтому порекомендовать и помочь больше ничем не смогу.
Расширение это понятно, что на биржу. Но для начала мне нужно сделать хотя бы как здесь на сайте чтоб работало, а он не работает как надо.
Кнопка VIP выводится, да я добился этого, но при этом цена пропала
при переходе к описанию также нет ни кнопки ни цены
P.s
(Версии плагинов и дополнений последние)
Здесь как работает - многое кастомное и писалось под этот сайт, и тут даже версия реколл не та, что вы пользуетесь а новая экспериментальная, которая еще не вышла. И поддерживается все это разработчиком этого сайта. Как вы хотите добиться того же самого - если это не входит в базовый функционал товара? - тоже не понятно. Кастомные решения которые вы нашли - кто даст гарантию что они рабочие? И поддерживать их в актуальном состоянии -тоже нет гарантии.
Ждите тогда ответа автора дополнения. А то уже флуд пошел.
Разобрался как закрыть кнопкой VIP чтобы не конфликтовал с другими аккаунтами
/*Выводим надпись VIP на кнопке товара*/
add_filter('rcl_cart_button','add_vip_button',10,2);
function add_vip_button($button,$prod_id){
global $User_Access;
if ( isset($User_Access[ID аккаунта которым хотим закрыть]) ) return $button;
$id_account = get_post_meta($prod_id,'wppay-access',1);
if(!$id_account) return $button;
return '
';
}
вот с выводом цены не получается.http://joxi.ru/82QWLnLUjpJWPr
помогите, что нужно добавить в код чтоб отображалась цена?
Спасибо за подсказку, теперь это всё нужно указать в одной функции, перепробовал кучу вариантов, не выходит почему то
вот один из них. что не так делаю?
/*Выводим надпись VIP на кнопке товара*/ add_filter('rcl_cart_button','add_vip_button',10,2); function add_vip_button($button,$prod_id){ global $User_Access; if ( isset($User_Access[7]) ) return $button; $id_account = get_post_meta($prod_id,'wppay-access',1); if(!$id_account) return $button; $price = get_posts_meta($prod_id,'price-products',1); $price =(!$price) ? 0 : $price; return $price; return '<a href="/vip-account/" class="vip-access-button recall-button"><i class="fa fa-diamond" aria-hidden="true"></i>VIP</a>'; }
Цену вывел, только она без знака валюты
наверно это не самый правильный вариант, помогите скорректировать код
какой атрибут использовать чтоб цена выводилась вместе со знаком?
/*Выводим надпись VIP на кнопке товара*/
add_filter('rcl_cart_button','add_vip_button',10,2);
function add_vip_button($button,$prod_id){
global $User_Access;
if ( isset($User_Access[7]) ) return $button;
$id_account = get_post_meta($prod_id,'wppay-access',1);
if(!$id_account) return $button;
$price = get_post_meta($prod_id,'price-products',1);
$price = apply_filters('rcl_get_number_price',$price,$prod_id);
$price = (!$price) ? "Бесплатно!" : $price;
echo $price;
return'<a href="/vip-account/" class="vip-access-button recall-button"><i class="fa fa-diamond" aria-hidden="true"></i>VIP</a>';
}
Otshelnik-Fm сказал(а)
Вот же
Вы не можете просматривать опубликованные ссылкиставьте любой значок
И поглядывайте вы через вебинспектор браузера - как выводится в html странице - многое сразу прояснится
это я знаю как поставить, только вот что получается с этого
если ставлю иконку, то возле слова "Бесплатно" она тоже выводится.
/*Выводим надпись VIP на кнопке товара*/
add_filter('rcl_cart_button','add_vip_button',10,2);
add_filter('null_price','rcl_get_null_price_content',10);
function add_vip_button($button,$prod_id){
global $User_Access;
if ( isset($User_Access[7]) ) return $button;
$id_account = get_post_meta($prod_id,'wppay-access',1);
if(!$id_account) return $button;
$price = get_post_meta($prod_id,'price-products',1);
$price = apply_filters('rcl_get_number_price',$price,$prod_id);
$price = (!$price) ? '<span class="price-prod no-price" itemprop="price" content="0">'.__('Free','wp-recall').'!</span>' : $price;
echo $price; echo ' <i class="fa fa-usd"></i>';
return'<a href="/vip-account/" class="vip-access-button recall-button"><i class="fa fa-diamond" aria-hidden="true"></i>VIP</a>';
}
здесь надо именно целиком атрибут выцепить который отвечает за всё вместе и вставить вместо этого: $price; echo ' <i class="fa fa-usd"></i>';
А именно если товар бесплатный то и слово "Бесплатно" должно быть без знака валюты как это происходит при обычном не закрытом товаре.
Я не буду вас учить работе с php - но ретурн и эхо - это изврат.
Делайте проверку - нет цены или ноль - не выводите значок.
Если вам нужны доработки на ваш сайт, а текущий заявленный функционал не покрывает ваши потребности и вам нужно расширить его - создаем задание на бирже
Вы не можете просматривать опубликованные ссылки- кто заинтересуется и свободен, откликнется.