PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 1
VectorArmado Отправлено: 17 Апреля, 2016 - 16:22:09 • Тема: WP-woocomerce membership • Форум: CMS и фреймворки

Ответов: 0
Просмотров: 840
Доброго времени суток. Столкнулся с проблемой на CMS Wordpress, а именно с плагином Woocommerce и его аддоном Woocommerce Membership, ниже вставил код документа. Задача - нужно скрыть кнопку "Add to cart" для пользователя, если он является membership, то бишь это не обычный залогиненый пользователь, а именно
член той или иной группы, в данном случае просто имеющий членство, без уточнения конкретной группы...ну и отображать кнопку, если он не является membership'ом.

Я только недавно начал знакомиться с PHP и хочу сделать код по феншую, но моих знаний не хватает чтобы это сделать правильно( Нашел этот форум, увидел очень много годного чтива и уже начал с ним ознакамливаться, но боюсь мне понадобится этак пару недель, чтобы хоть на пол шишечки узнать правильно ли я строю ту или иную функцию....в данном случае я решил скорректировать код непосредственно в шаблоне формирования simple product (мне нужно пофиксить отображения кнопки лишь для simple product), второй вариант был написать функцию и вставить куда то в function - но боюсь что тут я еще тупее)) я чем больше читаю, тем больше это осознаю))

Помогите умные люди, кто имел дело с WP и Woocommerce в частности...и подскажите в каком направлении и что мне надо почитать, чтобы дальше у меня не возникало проблем с понимание структуры построения PHP кода в WP. Очень трепетно отношусь к правильности кода, не люблю делать, а бы дыру закрыть, поэтому прошу помощи у профессионалов)

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. /**
  3.  * Simple product add to cart
  4.  *
  5.  * This template can be overridden by copying it to yourtheme/woocommerce/single-product/add-to-cart/simple.php.
  6.  *
  7.  * HOWEVER, on occasion WooCommerce will need to update template files and you (the theme developer).
  8.  * will need to copy the new files to your theme to maintain compatibility. We try to do this.
  9.  * as little as possible, but it does happen. When this occurs the version of the template file will.
  10.  * be bumped and the readme will list any important changes.
  11.  *
  12.  * @see             http://docs.woothemes.com/document/template-structure/
  13.  * @author              WooThemes
  14.  * @package     WooCommerce/Templates
  15.  * @version     2.1.0
  16.  */
  17.  
  18. if ( ! defined( 'ABSPATH' ) ) {
  19.         exit; // Exit if accessed directly
  20. }
  21.  
  22. global $product;
  23.  
  24. if ( ! $product->is_purchasable() ) {
  25.         return;
  26. }
  27.  
  28. ?>
  29.  
  30. <?PHP
  31.         // Availability
  32.         $availability      = $product->get_availability();
  33.         $availability_html = empty( $availability['availability'] ) ? '' : '<p class="stock ' . esc_attr( $availability['class'] ) . '">' . esc_html( $availability['availability'] ) . '</p>';
  34.  
  35.         echo apply_filters( 'woocommerce_stock_html', $availability_html, $availability['availability'], $product );
  36. ?>
  37.  
  38. <?PHP if ( $product->is_in_stock() ) : ?>
  39.  
  40.         <?PHP do_action( 'woocommerce_before_add_to_cart_form' ); ?>
  41.  
  42.  
  43. <form class="cart" method="post" enctype='multipart/form-data'>
  44.                 <?PHP do_action( 'woocommerce_before_add_to_cart_button' ); ?>
  45.  
  46.                 <?PHP
  47.                         if ( ! $product->is_sold_individually() ) {
  48.                                 woocommerce_quantity_input( array(
  49.                                         'min_value'   => apply_filters( 'woocommerce_quantity_input_min', 1, $product ),
  50.                                         'max_value'   => apply_filters( 'woocommerce_quantity_input_max', $product->backorders_allowed() ? '' : $product->get_stock_quantity(), $product ),
  51.                                         'input_value' => ( isset( $_POST['quantity'] ) ? wc_stock_amount( $_POST['quantity'] ) : 1 )
  52.                                 ) );
  53.                         }
  54.                 ?>
  55.  
  56.                 <input type="hidden" name="add-to-cart" value="<?PHP echo esc_attr( $product->id ); ?>" />
  57.  
  58.                 <button type="submit" class="single_add_to_cart_button button alt"><?PHP echo esc_html( $product->single_add_to_cart_text() ); ?></button>
  59.  
  60.                 <?PHP do_action( 'woocommerce_after_add_to_cart_button' ); ?>
  61.  
  62.         </form>
  63.  
  64.         <?PHP do_action( 'woocommerce_after_add_to_cart_form' ); ?>
  65.  
  66. <?PHP endif; ?>


Вот пару вырезок с англоизычных форумов с нужной функцией, я не знаю как правильно написать условия и как правильно построить код

команды для скрытия, точнее удаления функции "Адд ту карт":

PHP:
скопировать код в буфер обмена
  1. function remove_loop_button(){
  2. remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
  3. remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
  4. }
  5. add_action('init','remove_loop_button');


п.с.: никаких изменений в переменных не делал, все по дефолту от плагина и WP, строю сайт на теме "Enfold" > "Enfold Child" для собственного понимания изменил название на "Tale", указал на всякий случай, мб это имеет значение, но не думаю

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB