Поддержка Проблемы и решения Форма комментариев: маленькая задача — большая проблема

  • Решено fedorov

    (@fedorov)


    Доброго времени.

    Встала небольшая задачка. В поле ввода коммента заменить текст «имя» на «введи свое имя», в поле «Email» написать что-то другое. Да и заменить «оставить комментарий» на «оставить мысль».
    Так что вы думаете? Легче бейсик освоить, чем изменить это.

    В моей любимой темеmodernize естественно это не сделаешь. В файле function.php не нашел.
    Предполагаю, что подобное заменяется в файле comment-template.php Но там можно сломать мозговой копчик

    Люди добрые, подскажите, что конкретно и где надо поменять? Всего-то пару СЛОВ ЗАМЕНИТЬ!

Просмотр 13 ответов — с 1 по 13 (всего 13)
  • Модератор Yui

    (@fierevere)

    ゆい

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    В файле function.php не нашел.

    Можно добавить туда подобный фрагмент:

    
    function change_comment_form_defaults( $args ) {
    	$args['fields']['author'] = str_replace(
    		__( 'Name' ),
    		'Введи своё имя',
    		$args['fields']['author']
    	);
    
    	$args['fields']['email'] = str_replace(
    		__( 'Email' ),
    		'Что-то другое',
    		$args['fields']['email']
    	);
    
    	$args['comment_field'] = str_replace(
    		_x( 'Comment', 'noun' ),
    		'Аве мне!',
    		$args['comment_field']
    	);
    
    	$args['comment_notes_before'] = sprintf(
    		'<p class="comment-notes">%s</p>',
    		'Прежде чем оставить свой коммент, сдайте анализ серого вещества на наличие серого вещества'
    	);
    
    	$args['title_reply'] = 'Оставить мысль';
    
    	$args['label_submit'] = 'Послать 5 конфеток';
    
    	return $args;
    }
    add_filter( 'comment_form_defaults', 'change_comment_form_defaults' );
    

    Yui, только не плагины, с моим то хостингом :))))))) Кстати у меня новый хостинг на 50 000 запросов в день. Супер! Правда ФТП никогда не попадаешь.

    @sergeybiryukov Вы мне начинаете очень нравится Сережа. Вы — единственный на этом форуме человек дела скрипта, т.е. дела. Нет, я серьезно. Хочется с вами углубить знакомство не для корысти ради, а творчества для 🙂
    Огромное вам спасибо. Я просто в шоке. Все работает

    Не могли бы вы немного доработать свой скрип. Я же не знал, что мне вот так вот выложат готовый скрип, 🙂 и я конечно не все поля для изменения обозначил. Осталось еще

    Строка «комментарий» над полем комментарий соответственно заменить на «ода Сергею Бирюкову» и кнопочка «отправить комментарий» на «послать Сергею Бирюкову 5 конфеток»

    Вот на фотке выложил скрин

    только не плагины,

    Если вы думаете, что плагины состоят не из кода, то Вы глубоко заблуждаетесь.

    А вот способ легче https://ru.wordpress.org/support/reply/237536/ Для сайта легче.

    Или вот др плагин для перевода отдельных фраз https://wordpress.org/plugins/gettext-override-translations/

    SeVlad хм… я не нашел легкости в плагине локо-перевод, тем более моя тема же автоматически переведена. Да и вообще этот плагин у меня не работал

    Извините, что встреваю, читал правила и все такое, но у меня вопрос непосредственно по коду, приведенному в этой теме. До сих пор пользовался таким (нашел в инете):

    function wph_change_submit_label($defaults) {
        $defaults['label_submit'] = 'Отправить';
        return $defaults;
    }
    add_filter('comment_form_defaults', 'wph_change_submit_label');

    @sergeybiryukov, вопрос к Вам: какой код, так сказать, «правильнее»? Или без разницы?

    я не нашел легкости в плагине локо-перевод, тем более моя тема же автоматически переведена.

    Если разберётесь КАК переводится ВП и всё в нём, то всё станет на свои места. Вы увидите файлы лангпака, их месторасположение/названия, научитесь отличать лангпак темы от лангпака ядра.

    Мой спаситель замолчал.
    Без него я ночь не спал.
    Отзовитесь, помогите!
    Немного кодик допишите 🙂

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    я конечно не все поля для изменения обозначил. Осталось еще

    Дополнил фрагмент.

    какой код, так сказать, «правильнее»? Или без разницы?

    Правильнее тот, который решает задачу 🙂

    Не вижу особой разницы, кроме той, что в полях author и email передаётся HTML-разметка, поэтому для замены слов «Имя» и «E-mail» удобнее воспользоваться str_replace(), чем повторять всю разметку.

    В полях title_reply и label_submit передаётся только текст, поэтому str_replace() не требуется.

    DS

    (@dosolnce)

    Правильнее тот, который решает задачу…

    Понял. Большое спасибо!

    Автор fedorov

    (@fedorov)

    @sergeybiryukov

    О великий раджа! Выколи мне глаз, вашему скромному холопу. Я забыл, что там осталась последняя строчка, которую не касалась ваша кодерская гаррипотеровская рука.

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Ее бы тоже заменить на… «Прежде чем оставить своей коммент, сдайте анализ серого вещества на наличие серого вещества».

    Спасибо!

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Автор fedorov

    (@fedorov)

    Sergey Biryukov, вот спасибо! Теперь я в силу этических причин более не смею вас беспокоить, ну в смысле до скорых встреч 🙂

Просмотр 13 ответов — с 1 по 13 (всего 13)
  • Тема «Форма комментариев: маленькая задача — большая проблема» закрыта для новых ответов.