Новичок
Покинул форум
Сообщений всего: 1
Дата рег-ции: Апр. 2016
Помог: 0 раз(а)
|
Доброго времени суток. Столкнулся с проблемой на CMS Wordpress, а именно с плагином Woocommerce и его аддоном Woocommerce Membership, ниже вставил код документа. Задача - нужно скрыть кнопку "Add to cart" для пользователя, если он является membership, то бишь это не обычный залогиненый пользователь, а именно
член той или иной группы, в данном случае просто имеющий членство, без уточнения конкретной группы...ну и отображать кнопку, если он не является membership'ом.
Я только недавно начал знакомиться с PHP и хочу сделать код по феншую, но моих знаний не хватает чтобы это сделать правильно( Нашел этот форум, увидел очень много годного чтива и уже начал с ним ознакамливаться, но боюсь мне понадобится этак пару недель, чтобы хоть на пол шишечки узнать правильно ли я строю ту или иную функцию....в данном случае я решил скорректировать код непосредственно в шаблоне формирования simple product (мне нужно пофиксить отображения кнопки лишь для simple product), второй вариант был написать функцию и вставить куда то в function - но боюсь что тут я еще тупее)) я чем больше читаю, тем больше это осознаю))
Помогите умные люди, кто имел дело с WP и Woocommerce в частности...и подскажите в каком направлении и что мне надо почитать, чтобы дальше у меня не возникало проблем с понимание структуры построения PHP кода в WP. Очень трепетно отношусь к правильности кода, не люблю делать, а бы дыру закрыть, поэтому прошу помощи у профессионалов)
PHP:
скопировать код в буфер обмена
<?PHP /** * Simple product add to cart * * This template can be overridden by copying it to yourtheme/woocommerce/single-product/add-to-cart/simple.php. * * HOWEVER, on occasion WooCommerce will need to update template files and you (the theme developer). * will need to copy the new files to your theme to maintain compatibility. We try to do this. * as little as possible, but it does happen. When this occurs the version of the template file will. * be bumped and the readme will list any important changes. * * @see http://docs.woothemes.com/document/template-structure/ * @author WooThemes * @package WooCommerce/Templates * @version 2.1.0 */ exit; // Exit if accessed directly } global $product; if ( ! $product->is_purchasable() ) { return; } ?> <?PHP // Availability $availability = $product->get_availability(); $availability_html = empty( $availability['availability'] ) ? '' : '<p class="stock ' . esc_attr ( $availability['class'] ) . '">' . esc_html ( $availability['availability'] ) . '</p>'; echo apply_filters( 'woocommerce_stock_html', $availability_html, $availability['availability'], $product ); ?> <?PHP if ( $product->is_in_stock() ) : ?> <?PHP do_action( 'woocommerce_before_add_to_cart_form' ); ?> <form class="cart" method="post" enctype='multipart/form-data'> <?PHP do_action( 'woocommerce_before_add_to_cart_button' ); ?> <?PHP if ( ! $product->is_sold_individually() ) { woocommerce_quantity_input ( array( 'min_value' => apply_filters( 'woocommerce_quantity_input_min', 1, $product ), 'max_value' => apply_filters( 'woocommerce_quantity_input_max', $product->backorders_allowed() ? '' : $product->get_stock_quantity(), $product ), 'input_value' => ( isset( $_POST['quantity'] ) ? wc_stock_amount ( $_POST['quantity'] ) : 1 ) ) ); } ?> <input type="hidden" name="add-to-cart" value="<?PHP echo esc_attr( $product->id ); ?>" /> <button type="submit" class="single_add_to_cart_button button alt"><?PHP echo esc_html( $product->single_add_to_cart_text() ); ?></button> <?PHP do_action( 'woocommerce_after_add_to_cart_button' ); ?> </form> <?PHP do_action( 'woocommerce_after_add_to_cart_form' ); ?> <?PHP endif; ?>
Вот пару вырезок с англоизычных форумов с нужной функцией, я не знаю как правильно написать условия и как правильно построить код
команды для скрытия, точнее удаления функции "Адд ту карт":
PHP:
скопировать код в буфер обмена
function remove_loop_button(){ remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 ); remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 ); } add_action('init','remove_loop_button');
п.с.: никаких изменений в переменных не делал, все по дефолту от плагина и WP, строю сайт на теме "Enfold" > "Enfold Child" для собственного понимания изменил название на "Tale", указал на всякий случай, мб это имеет значение, но не думаю
|