Измените текст кнопки публикации на Сохранить.

Вопрос или проблема

Я пытаюсь изменить текст кнопки публикации на “Сохранить”

function change_publish_button( $translation, $text ) {

    if ( $text == 'Publish' )
        return 'Save';

    return $translation;
}

add_filter( 'gettext', 'change_publish_button', 10, 2 );

Я пытаюсь выполнить указанный код, но он не изменяет текст кнопки публикации. Можете ли вы сказать, что не так с этим кодом, или предложить новый метод? Заранее спасибо

Обновление
Я хочу изменить кнопку публикации, показанную на рисунке ниже.
введите описание изображения здесь

Поместите следующий код в файл вашей темы functions.php и попробуйте

function change_publish_button( $translation, $text ) {

    if ( $text == 'Publish...' )     // Ваш текст кнопки
        $text="Save";

    return $text;
}

add_filter( 'gettext', 'change_publish_button', 10, 2 );

Этот код сработал для меня

введите описание изображения здесь

Надеюсь, это вам поможет!

Попробуйте это:

function translate_publish( $translated_text, $untranslated_text, $domain ) {
    if( stripos( $untranslated_text, 'Publish' ) !== FALSE ) {
        $translated_text = str_ireplace( 'Publish', 'Save', $untranslated_text ) ;
    }
    return $translated_text;
}
if(is_admin()){
    add_filter( 'gettext', 'translate_publish', 99, 3 );
}

Ответ или решение

Для изменения текста кнопки "Опубликовать" на "Сохранить" в интерфейсе WordPress можно использовать фильтры, которые позволяют модифицировать переводы строк непосредственно в коде. Рассмотрим детально, как это сделать и какие исправления необходимы, если ваш первоначальный код не сработал.

Проблема и решение

На данный момент вы реализовали функцию, которая должна изменять текст кнопки. Однако, важно учитывать, что текст кнопки "Опубликовать" может быть представлен различными строками в зависимости от контекста. Например, он может быть в форме "Опубликовать" или "Опубликовать…" (с многоточием).

Исправленный код

Вот скорректированный вариант функции на PHP, который учитывает разные варианты текста кнопки. Обязательно добавьте этот код в файл functions.php вашей темы:

function change_publish_button( $translation, $text ) {
    // Проверка текста на совпадение с одним из возможных вариантов.
    if ( trim($text) === 'Опубликовать' || trim($text) === 'Опубликовать...' ) {
        return 'Сохранить'; // Возвращаем новый текст кнопки.
    }
    return $translation; // Возвращаем исходный текст, если изменения не требуются.
}

// Применяем фильтр для текста в админке.
add_filter( 'gettext', 'change_publish_button', 10, 2 );

Пояснения к коду

  1. Функция change_publish_button: Эта функция принимает два параметра — $translation (переведённый текст) и $text (исходный текст). Если исходный текст кнопки совпадает с "Опубликовать" или "Опубликовать…", то функция возвращает "Сохранить".

  2. Фильтр gettext: Этот фильтр позволяет изменять тексты на сайте. Конструкция add_filter добавляет нашу функцию в поток обработки текста, с приоритетом 10.

  3. Использование trim(): Эта функция удаляет лишние пробелы по краям строки, что помогает избежать ошибок при сравнении строк.

Причины, почему код может не работать

  • Неверный файл: Убедитесь, что вы добавили код именно в файл functions.php текущей активной темы.
  • Текст может отличаться: Если ваше окружение или кастомизация изменили текст кнопки, попробуйте использовать функцию stripos, чтобы сделать сравнение нечувствительным к регистру.
  • Кэш: Если на сайте используется кэширование, оно может мешать вашему коду. Попробуйте очистить кэш после внесения изменений.

Заключение

Изменение текста кнопки "Опубликовать" на "Сохранить" в WordPress — это задача, которую можно решить с помощью пользовательского кода. Убедитесь, что вы использовали актуальные тексты и корректно применили функцию фильтрации. Если вы столкнётесь с дальнейшими проблемами, проверьте наличие активных плагинов, которые могут влиять на работу фильтров или текстов в админ-панели.

Оцените материал
Добавить комментарий

Капча загружается...