#php #wordpress #woocommerce #script
Вопрос:
У меня есть этот php-скрипт, который обновляет названия моих продуктов:
add_filter( 'the_title', 'change_product_title', 10, 2 );
function change_product_title( $title, $id ) {
$Find = 'Mens Watch';
$ReplaceWith = 'Herreur';
//REMOVE DESIRED STRING FROM PRODUCT TITLE
$title = str_replace($Find, $ReplaceWith, $title);
return $title;
}
И он обновляет название в каждом названии продукта. Но как я могу сделать так, чтобы каждое слово, в котором есть $find = ?? Его заменят? А также, как я могу добавить больше слов в скрипт, чтобы они также были заменены на моем сайте?
Спасибо!
Ответ №1:
add_filter( 'gettext', 'wp_custom_translate_text', 10, 3 );
function wp_custom_translate_text($translated_text, $untranslated_text, $domain) {
$find = array("sample", "book");
$replace = array("test");
$translated_text = str_replace($find, $replace, $translated_text);
return $translated_text;
}
Комментарии:
1. Спасибо! Можно ли его изменить, чтобы не только название продукта обновлялось новым словом? Поэтому каждое слово на моем сайте заменяется. И я хочу обновить, скажем, «цвет» на «фарв» или «очки» на «стекло», это возможно? Поэтому я могу обновить несколько слов, используя отдельные слова.
2. попробуйте изменить фрагмент
3. Нет, это не работает. Похоже, что отсутствует открывающее » { » , но где оно должно быть размещено? Еще раз спасибо вам за вашу помощь!
4. По-прежнему ничего, он не обновляет текст на моем сайте.