denism300
Ответы в темах
-
с правами на таксу все нормально, т.к. термы, созданные через админку, открываются для редактирования, а созданные программно — нет
Методом научного тыка было выявлено, что если в файле wp-admin/term.php в коде, начиная с 38 строки,
if ( ! in_array( $taxonomy, get_taxonomies( array( 'show_ui' => true ) ) ) || ! current_user_can( 'edit_term', $tag->term_id )) { wp_die( '<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' . '<p>' . __( 'Sorry, you are not allowed to edit this item.' ) . '</p>', 403 ); }
убрать
|| ! current_user_can( 'edit_term', $tag->term_id )
то в терм зайти можно. Соответственно, проблема в правах доступа к создаваемому программно терму. Как их можно так же программно поправить?Постоянные ссылки обновлял, если что.
никто не сталкивался с таким?
Форум: WooCommerce
Тема: Редактирование цен в корзинеНасколько я знаю, нет функционала, чтобы один купон мог давать разную скидку на разные товары.
Т.е. либо определенная скидка в %, либо определенная скидка в деньгах, либо скидка на всю корзину.
Если, к примеру, есть товары:
Товар 1 — 1000р и я хочу сделать скидку на него 100р (10%)
Товар 2 — 3000р и я хочу сделать на него скидку 1500р (50%)
то мне надо делать 2 купона. Так?А если таких товаров много, то надо делать много купонов.
Форум: WooCommerce
Тема: Редактирование цен в корзинепро купоны я в курсе.
но если товаров несколько и на каждый надо сделать разную скидку?
делать купон на каждый товар — конечно, вариант, но если товаров много, то для покупателя не удобно вводить множество купонов.Форум: Плагины
Тема: Проверка перед активацией плагинаспасибо, то, что надо.
чуть-чуть погорячился 🙂
в общем, на основе ссылки сделал так:register_activation_hook(__FILE__, 'woo_attr_export_check'); function woo_attr_export_check() { include_once(ABSPATH . 'wp-admin/includes/plugin.php'); if (!is_plugin_active('woocommerce/woocommerce.php')) { add_action( 'admin_notices', function () { echo '<div class="notice notice-error is-dismissible"><p>Плагин <a href="https://ru.wordpress.org/plugins/woocommerce/" rel="nofollow">WooCommerce</a> должен быть установлен и активен</p></div>'; } ); if (is_plugin_active('woocommerce-attr-to-brand/woo-attr-to-brand.php')) { deactivate_plugins('woocommerce-attr-to-brand/woo-attr-to-brand.php', true); if (isset($_GET['activate'])) { unset($_GET['activate']); } } } }
и не работает. Точнее, плагин не деактивируется если Woo не установлен.
- Ответ изменён 4 года, 6 месяцев назад пользователем denism300.
Форум: Проблемы и решения
Тема: Доступ к плагинамРазрешить — это значит дать право пользоваться плагином. Без права удаления/установки.
К примеру, я хочу сделать роль для сеошника/таргетолога. Ему нужно иметь права для работы с определенными плагинами. Остальные плагины должны быть недоступны для данной роли.Неужели никто не знает?
Форум: WooCommerce
Тема: Реализация контрагентовШтатный функционал позволяет завести другой адрес для доставки, если он отличается от платежного адреса.
Да, но только один. Тут же смысл в том, чтобы была возможность добавлять неограниченное количество контрагентов.
Чтобы завести несколько адресов доставки, используйте плагины
Multiple Shipping Address
Shipping Multiple AddressesОк, спасибо, посмотрю
Форум: WooCommerce
Тема: Подойдет ли WP для интернет магазинагде можна увидеть похожие темы, главное чтобы такого же плана был каталог товаров
такую тему как там можно самому с нуля сделать при наличии некоторых навыков.
насколько он будет долго грузится если выводить около 200 едений товара на одной странице.
зависит от мощностей хостинга и от того, как будет оптимизирован сайт.
Форум: WooCommerce
Тема: Изменить поля адреса в аккаунтекакая нелепая попытка съехать…
зачем тогда советовали плагин, если не читали вопрос?[ удалено ]
В данном примере уберем поле address_2 добавим поле Отчество и поменяем порядок вывода полей в аккаунте.
form-edit-account.php<label for="account_second_name"><?php esc_html_e('Отчество'); ?></label> <input type="text" class="woocommerce-Input woocommerce-Input--text form-control" name="account_second_name" id="account_second_name" autocomplete="additional-name" value="<?php echo esc_attr(get_user_meta($user->id, 'account_second_name', true)); ?>" />
function.php
Сохраним поле Отчествоadd_action('woocommerce_save_account_details', 'save_additional_fields_account_func', 10, 1); function save_additional_fields_account_func($user_id) { $second_name = !empty($_POST['account_second_name']) ? $_POST['account_second_name'] : ''; update_user_meta($user_id, 'account_second_name', $second_name); }
пересоберем поля:
add_filter('woocommerce_my_account_my_address_formatted_address', 'my_account_address_formatted_addresses', 20, 3); function my_account_address_formatted_addresses($address, $customer_id, $address_type) { $address = array( 'first_name' => ucwords(get_user_meta($customer_id, $address_type . '_first_name', true)), 'last_name' => ucwords(get_user_meta($customer_id, $address_type . '_last_name', true)), 'second_name' => ucwords(get_user_meta($customer_id, 'account_second_name', true)), //поле Отчество 'phone' => get_user_meta($customer_id, $address_type . '_phone', true), 'address_1' => ucwords(get_user_meta($customer_id, $address_type . '_address_1', true)), //'address_2' => ucwords(get_user_meta($customer_id, $address_type . '_address_2', true)), //убираем address_2 'city' => get_user_meta($customer_id, $address_type . '_city', true), 'state' => get_user_meta($customer_id, $address_type . '_state', true), 'postcode' => get_user_meta($customer_id, $address_type . '_postcode', true), 'country' => get_user_meta($customer_id, $address_type . '_country', true) ); return $address; }
Изменим вывод:
add_filter('woocommerce_formatted_address_replacements', function ($replacements, $args) { // говорим, что теперь {name} состоит из фамилии, имени и отчества $replacements['{name}'] = $args['last_name']. ' ' . $args['first_name']. ' ' . $args['second_name']; return $replacements; }, 10, 2); add_filter('woocommerce_localisation_address_formats', 'new_address_formats'); function new_address_formats($formats) { //меняем порядок, добавляем метки. $formats['RU'] = " <strong>Покупатель:</strong> {name}\n <strong>Компания:</strong> {company}\n <strong>Почтовый индекс:</strong> {postcode}\n <strong>Страна:</strong> {country}\n <strong>Город:</strong> {city}\n <strong>Область:</strong> {state}\n <strong>Адрес:</strong> {address_1}\n "; return $formats; }
как-то так.
P.S. Уважаемая администрация, просьба рассмотреть возможность автору темы устанавливать запрет просматривать и комментировать темы для определенных пользователей.
- Ответ изменён 4 года, 8 месяцев назад пользователем Yui.
Форум: WooCommerce
Тема: Изменить поля адреса в аккаунтевы на вопрос не ответили.
где в saphali lite условная логика исходя из моих нужд?
«ниасилили» найти, да?Форум: WooCommerce
Тема: Изменить поля адреса в аккаунтеФорум: WooCommerce
Тема: Изменить поля адреса в аккаунтену так может, подскажете, где она там? ткнете, так сказать, носом?
Форум: WooCommerce
Тема: Изменить поля адреса в аккаунтечто-то я не нашел в saphali lite условной логики.