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, время: 02:21. |