Поддержка Темы и шаблоны "WordPress > Ошибка." Как исправить? (тема twentytwelve)

  • Когда в полях комментариев вводиш неправильно свои данные, то там на странице появляется сообщение «ОШИБКА: пожалуйста, введите корректный адрес e-mail.» При этом сама страница называется «WordPress > Ошибка.» Как можно изменить название страницы и оставить просто слово «Ошибка»?

Просмотр 15 ответов — с 1 по 15 (всего 25)
  • Какой шаблон? киньте ссылку на сайт

    Как можно изменить название страницы и оставить просто слово «Ошибка»?

    Похоже, что только* так:

    $GLOBALS['l10n']['default']->entries['WordPress › Error']->translations[0] = 'Ошибка';

    Разместить** в файле functions.php (лучше Дочерней Темы) или плагине..


    *Что-то не нашел (или проглядел) подходящего фильтра.

    Прим. Это жесткий хак, необходимость определяйте сами.
    Есть, конечно, более правильный путь — переопределить колбэк на ошибку (строка 2270) https://core.trac.wordpress.org/browser/tags/3.9.2/src/wp-includes/functions.php#L2270
    но решать вам.
    **Только не забывайте сохранять файлы в кодировке UTF-8 без метки BOM..

    Ан, нет… Обманул 😀
    Есть фильтры в файле https://core.trac.wordpress.org/browser/tags/3.9.2/src/wp-includes/l10n.php (311 и 343 строки). Насчет «подойдут или нет» — не знаю.

    Модератор Юрий

    (@yube)

    Что-то не нашел (или проглядел) подходящего фильтра.

    ‘gettext’ ?

    ‘gettext’ ?

    Юрий, я не против 🙂


    Кхе-кхе.. Признаю, можно сказать каюсь, но никогда не возился с переводами 😛

    Ан, нет… Обманул 😀
    Есть фильтры в файле https://core.trac.wordpress.org/browser/tags/3.9.2/src/wp-includes/l10n.php (311 и 343 строки). Насчет «подойдут или нет» — не знаю.

    Я конечно извиняюсь, но что мне именно делать? Вставлять $GLOBALS['l10n']['default']->entries['WordPress › Error']->translations[0] = 'Ошибка';

    или работать с фильтрами. Если с фильтрами, то что именно нужно сделать и самое главное где?

    Примеры применения фильтра gettext здесь http://codex.wordpress.org/Plugin_API/Filter_Reference/gettext
    Размещать также: в плагине или в functions.php темы (лучше дочерней).

    но что мне именно делать?

    Если мой вариант работает, то используйте его. Если хотите научиться «как правильно», то фильтры 🙂

    Если мой вариант работает, то используйте его. Если хотите научиться «как правильно», то фильтры 🙂

    Вам однозначно большущие спасибо за отзывчивость. Но можете пожалуйста объяснить, почему работа с фильтрами правильно, а банальная вставка кода это не правильно?

    почему работа с фильтрами правильно,

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

    а банальная вставка кода это не правильно?

    Ну, логично же, если первый вариант правильный, значит второй нет 😀
    Не может быть двух правильных вариантов. Хоть и рабочих.

    Ну, логично же, если первый вариант правильный, значит второй нет 😀
    Не может быть двух правильных вариантов. Хоть и рабочих.

    Понятно, вообщем что-то из двух должно помочь. А эти фильтры также в functions.php вставлять?

    А эти фильтры также в functions.php вставлять?

    Да. Правильно в Дочерней теме. 🙂

    Да. Правильно в Дочерней теме. 🙂

    Вот спасибо вам! 🙂 Попробую покопаться.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    При этом сама страница называется «WordPress > Ошибка.» Как можно изменить название страницы и оставить просто слово «Ошибка»?

    Можно добавить фрагмент в functions.php активной темы:

    function change_wp_die_title_for_comments( $translation, $text, $domain ) {
    	if ( false === strpos( $_SERVER['REQUEST_URI'], 'wp-comments-post.php' ) ) {
    		return $translation;
    	}
    
    	if ( 'default' !== $domain ) {
    		return $translation;
    	}
    
    	if ( 'WordPress › Error' === $text ) {
    		$translation = 'Ошибка';
    	}
    
    	return $translation;
    }
    add_filter( 'gettext', 'change_wp_die_title_for_comments', 10, 3 );

    Есть, конечно, более правильный путь — переопределить колбэк на ошибку

    Плюс варианта с фильтром wp_die_handler в том, что можно полностью изменить шаблон (см. пример). В остальном вариант с gettext — не менее правильный 🙂

    Можно добавить фрагмент в functions.php активной темы:

    Запутали меня окончательно:) Хорошо, попробую Ваш вариант. Спасибо.

    Можно добавить фрагмент в functions.php активной темы:

    Ваш фрагмент не работает.

Просмотр 15 ответов — с 1 по 15 (всего 25)
  • Тема «"WordPress > Ошибка." Как исправить? (тема twentytwelve)» закрыта для новых ответов.