Linblack

Рейтинг
163
Регистрация
01.02.2011

с айфоном ничего связанного не находит. но таких файлов много. их методом тыка удалять чтоли? они раскиданы где угодно

Sitealert:
Ну вставьте ссылку в шаблон, и поставьте условие залогиненного юзера. Нафига для этого плагин? 😕

ссылка будет вести на страницу вне дизайна сайта, с логотипом вп.

и это максимально стремно

Gerga:
насколько точно? :)

---------- Добавлено 28.08.2019 в 18:31 ----------

Что-то не то с самим плагином... поэтому у вас предложения от SeVlad тоже не срабатывают. Например, если сделаете так

function filter_load_textdomain_mofile($mofile, $domain) {
echo $domain . PHP_EOL;
}

add_filter('load_textdomain_mofile', 'filter_load_textdomain_mofile', 10, 2);


вы увидите, какие плагины нормально локализированы. Нужно покопаться в woo-floating-cart или написать в тех. поддержку.

выдало список без этого плагина.

я сделал чтобы он по ссылке скачивался (перевод). там проблема в хтацесс была,

но проблема не исчезла

Gerga:
Linblack, а файл перевода доступен по адресу: /wp-content/languages/custom/woo-floating-cart-ru_RU.mo ?

пишет что данной страницы нет. но путь правильный и файл там точно лежит

---------- Добавлено 28.08.2019 в 18:14 ----------

"add_filter('load_textdomain_mofile', 'filter_load_textdomain_mofile', 10, 2); "

эту строку тоже дописал. хотя пробовал и без нее

Gerga:

/**
* Функция смены .mo файла
* применяется к фильтру load_textdomain_mofile
*
* https://developer.wordpress.org/reference/hooks/load_textdomain_mofile/
*/
function filter_load_textdomain_mofile($mofile, $domain) {
if ('woo-floating-cart' == $domain) {
$mofile = WP_LANG_DIR . '/custom/woo-floating-cart-ru_RU.mo';
}

return $mofile;
}

не работает к сожалению.

пробовал вписывать - woo-floating-cart-lite (так папка называется)

тоже не работает. английский висеть продолжает

Gerga:

if (stripos($_SERVER['HTTP_USER_AGENT'], 'iphone')) {

}

а можно чуть подробнее? куда это писать или где это удалить?

я просто уже сдаюсь. возвращаясь к предыдущей теме, есть например страница регистрации тут mystite.ru/wp-login.php?action=register

и вроде от регистрации именно через нее - конфликта с wp нет.

ее можно как то в тело страницы вывести? и скрыть, когда пользователь залогинен.

около 40 плагинов перепробовал, ничего не помогает. такая простая фигня и невозможно никак реализовать простым инструментом

upd подойдет плагин, который просто выведет туда строчки с почтой и паролем.

либо выведет форму входа\регистрации на отдельную страницу и при входе - перекинет в аккаунт автоматом.

сколько плагинов не перерыл - либо не перекидывают автоматом в аккаунт, либо кучу лишних элементов имеют + не на русском.

---------- Добавлено 28.08.2019 в 17:13 ----------

пробовал Profile Builder, который вроде подходит.

но получается какой то конфликт с woocommerce.

т.е. как будто регистрируется какой то отдельный профиль. а при заказе и оформлении - поверх регистрируется отдельный

---------- Добавлено 28.08.2019 в 17:15 ----------

закройте тему пожалуйста, вопрос не так сформулирован

SeVlad:
Gerga, способ имеет право но жизнь, но я уточню: переводы плагов по умолчанию находятся в /wp-content/languages/plugins/textdomain. Т.е. если у ТС своё плаг с уникальным textdomain, то там ничего не перепишется и никакие custom не нужны.

Linblack,
Если речь об изменении нескольких строк плага из оф репо, то можно использовать https://ru.wordpress.org/plugins/say-what/ или https://wordpress.org/plugins/gettext-override-translations/
Или более радикальный способ с пом Loco Translate: https://ru.wordpress.org/support/reply/237536/ (как по мне он и проще)

Gettext override translations - не работает.

Loco Translate - не находит нужных для перевода фраз в поиске.

Say What тоже не помог, хотя может тут сделал лажу:

Оригинал строки - Cart

Текстовый домен (textdomain) - Cart

Контекст - Корзина

Строка замены - Корзина

переводимый плагин XT Woo Floating Cart

---------- Добавлено 28.08.2019 в 16:16 ----------

Gerga:
Теперь я могу с уверенностью сказать, что папка "/wp-content/languages/plugins" не сохранит файлы перевода.

WP, при автоматическом обновлении перевода плагина, перезапишет пользовательские файлы перевода.

В ходе этого выяснения, я нашел фильтр load_textdomain_mofile, если плагин loco-translate не подходит, то через этот фильтр тоже можно указать .mo файл.

Пример:

/**
* Функция смены .mo файла
* применяется к фильтру load_textdomain_mofile
*
* https://developer.wordpress.org/reference/hooks/load_textdomain_mofile/
*/
function filter_load_textdomain_mofile($mofile, $domain) {
if ('woocommerce' == $domain) {
$mofile = WP_LANG_DIR . '/custom/woocommerce-ru_RU.mo';
}

return $mofile;
}

add_filter('load_textdomain_mofile', 'filter_load_textdomain_mofile', 10, 2);


Код можно добавить в functions.php вашей темы или создайте плагин, чтобы перевод не зависил от текущей темы.

Новое расположение .mo файла: "/wp-content/languages/custom/woocommerce-ru_RU.mo"

а как строка if должна выглядеть в случае с моим плагином? (XT Woo Floating Cart)

Gerga:
эта папка может обновляться без полного обновления плагина.


можно указать другую папку для перевода функциями load_plugin_textdomain / load_theme_textdomain / load_textdomain

https://wp-kama.ru/function/load_plugin_textdomain

https://wp-kama.ru/function/load_theme_textdomain

https://wp-kama.ru/function/load_textdomain

---------- Добавлено 24.08.2019 в 16:14 ----------

Ну а вообще, плагин https://wordpress.org/plugins/loco-translate/ хорош для перевода

плагин тексдомейн читаю - #1.2

т.е. мне куда этот код писать? тут в корне плагина 2 файла - индекс пхп и плагиннеймп пхп.

и я так понимаю - я прописываю код из 1.2 в один из этих пхп файлов и кидаю в корень файлы po mo?

при этом "__FILE__ " меняю на полное имя перевода. и нужно указать только mo?

если все так - то при обновлении плагина - эта система не может снова слететь? если файл пхп из корня папки - будет изменен?

Всего: 328