window.location.href
Есть вот такой код, найденный на просторах интернета, как поправить его чтобы он срабатывал на любой странице содержащей "checkout/order-pay/"
Заранее спасибо. $(function(){ var url = window.location.href; if (url.indexOf('checkout/order-pay/*') > -1) { $('li.payment_method_cheque').hide(); $('div#wcpgsk-dialog-validation-errors').hide(); } else { $('li.payment_method_cheque').show(); } }); |
if (~url.indexOf('checkout/order-pay/')) |
Убери звезду checkout/order-pay/* - зачем она тут нужна? И все будет работать.
|
Цитата:
|
Стопудово это он с Greasemonkey потырил прием. )))
Кстати можно сократить искомое, если взять if(window.location.pathname.indexOf('/order-pay')>-1) поскольку последний адрес указывает на action как правило, а checkout скорее всего контроллер, то есть сучность общего порядка. |
Цитата:
|
Значит у тебя нет таких путей нигде.
|
извиняюсь, потерялась часть, вероятно, существенной информации при переносе вопроса с форума на форум...
Есть шаблон payment.php и на основе него создаются страницы checkout и checkout/order-pay. Нужно чтобы на одной странице скрылся блок а и показался блок б, а на второй наоборот. К сожалению единственный способ пропустить оплату через яндекс.кассу после подтверждения заказа. |
Короче, кроме адресов у тебя там еще ажно два элемента ищутся, успешность нахождения которых ты не проверяешь, а сразу лупишь метод. Проверяй все.
var p = location.pathname; if(p.indexOf('checkout') > -1) console.log('there is'); Потом проверяй есть ли нужные элементы и на какой странице что есть. |
Цитата:
И вас не удивляет то факт, что сервер без проблем создает две страницы, но при этом не может понять, что надо показать/скрыть при этом нечто? Зачем вам вообще JS здесь и поиск в url? |
Затем что у ТС движок, в котором он не разбирается и не станет, ибо таких задач у этой категории веб-дизайнеров не бывает. Они берут готовое платье и пытаются мелкими стежками подогнать по телу. На форумах они создают 90 процентов трафика эти бедные халявщики.
|
Цитата:
|
Цитата:
Вроде эта платформа и создавалась для тех кто в создание сайтов ничего не понимает... ни к каким дизайнерам я не отношусь... 90% трафика не бедные халявщики, а те кто пытаются сделать самостоятельно, а не платить за довольно посредственные работы freelance и тп. Если вы считаете, что вам надо заплатить за это, не вопрос... называйте цену... |
Цитата:
Не удивляет, я прекрасно понимаю, что не сходу найти различия между функциями и вероятно есть возможность учитывать именно указанный фрагмент, игнорирую оставшуюся часть. К сожалению ни один плагин онлайн оплаты не предоставляет возможность отложить оплату до проверки заказа... Приходится лепить костыли. |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Прежде чем раздавать советы, познакомьтесь со законом о персональных данных, запрещающий использовать и escrow и mailchimp и тд и тп. Да и к чему этот "умный" совет, о какой сумме денег мы говорим?:lol: |
Вот оно что, ну так ты выдай юзеру соглашение на использование, он чекбокс нажал - все стало законным.
Короче, вылаживай те самые php файлы и посмотрим где там чего отключить включить на фронтире. |
Цитата:
<?php /** * Checkout Payment Section * * @author WooThemes * @package WooCommerce/Templates * @version 2.3.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; } ?> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> <script type="text/javascript"> $(function(){ var p = location.pathname; if(p.indexOf('order-pay') != -1) { $('li.payment_method_cheque').hide(); $('div#wcpgsk-dialog-validation-errors').hide(); } }); $(function(){ var url = window.location.href; if (url.indexOf('checkout') > -1) { $('li.payment_method_kassa').hide(); $('div#wcpgsk-dialog-validation-errors').hide(); } }); </script> <?php if ( ! is_ajax() ) : ?> <?php do_action( 'woocommerce_review_order_before_payment' ); ?> <?php endif; ?> <div id="payment" class="woocommerce-checkout-payment"> <?php if ( WC()->cart->needs_payment() ) : ?> <ul class="payment_methods methods"> <?php if ( ! empty( $available_gateways ) ) { foreach ( $available_gateways as $gateway ) { wc_get_template( 'checkout/payment-method.php', array( 'gateway' => $gateway ) ); } } else { if ( ! WC()->customer->get_country() ) { $no_gateways_message = __( 'Please fill in your details above to see available payment methods.', 'woocommerce' ); } else { $no_gateways_message = __( 'Sorry, it seems that there are no available payment methods for your state. Please contact us if you require assistance or wish to make alternate arrangements.', 'woocommerce' ); } echo '<p>' . apply_filters( 'woocommerce_no_available_payment_methods_message', $no_gateways_message ) . '</p>'; } ?> </ul> <?php endif; ?> <div class="form-row place-order"> <noscript><?php _e( 'Since your browser does not support JavaScript, or it is disabled, please ensure you click the <em>Update Totals</em> button before placing your order. You may be charged more than the amount stated above if you fail to do so.', 'woocommerce' ); ?><br/><input type="submit" class="button alt" name="woocommerce_checkout_update_totals" value="<?php _e( 'Update totals', 'woocommerce' ); ?>" /></noscript> <?php wp_nonce_field( 'woocommerce-process_checkout' ); ?> <?php do_action( 'woocommerce_review_order_before_submit' ); ?> <?php if ( wc_get_page_id( 'terms' ) > 0 && apply_filters( 'woocommerce_checkout_show_terms', true ) ) : ?> <p class="form-row terms"> <label for="terms" style="margin-top: 0px !important;" class="checkbox"><?php printf( __( 'I’ve read and accept the <a href="%s" target="_blank">terms & conditions</a>', 'woocommerce' ), esc_url( wc_get_page_permalink( 'terms' ) ) ); ?></label> <input type="checkbox" class="input-checkbox" style="margin-top: 6px !important;" name="terms" <?php checked( apply_filters( 'woocommerce_terms_is_checked_default', isset( $_POST['terms'] ) ), true ); ?> id="terms" /> </p> <?php endif; ?> <?php echo apply_filters( 'woocommerce_order_button_html', '<input type="submit" class="button alt" name="woocommerce_checkout_place_order" id="place_order" value="' . esc_attr( $order_button_text ) . '" data-value="' . esc_attr( $order_button_text ) . '" />' ); ?> <?php do_action( 'woocommerce_review_order_after_submit' ); ?> </div> <div class="clear"></div> </div> <?php if ( ! is_ajax() ) : ?> <?php do_action( 'woocommerce_review_order_after_payment' ); ?> <?php endif; ?> |
Понятно. Придется вернуться к нашим баранам. Твой плугин написан чудовищем в угребищном стиле для чудовищного WP, то есть бред там зашит намертво. Это не тот файл, но искать другие файлы не надо. Сделаем как положено - то есть угребищно.
Итак, тут две функции, одна скрывать какие-то элементы если в путях есть checkout, вторая скрывает еще парочку, если в путях есть order-pay, то есть на адресе с checkout/order-pay сработают обе. Теперь чего ты хочешь еще отключить? |
Или эти функции ты сам уже приписал? Короче, ну его нахрен этот вордпресс. Жуткая вонючая помойка. Как только люди к ней вообще прикасаются.
|
Часовой пояс GMT +3, время: 11:18. |