Форум программистов, компьютерный форум, киберфорум
WordPress
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 14.01.2020
Сообщений: 4

Чтобы форма комментирования отправляла комментарий на другую страницу

14.01.2020, 11:52. Показов 1032. Ответов 4

Студворк — интернет-сервис помощи студентам
Приветствую всех!
Не могу все никак найти ответ по специфической возникшей задаче:
чтобы форма комментирования с текущей страницы отправляла комментарий не на текущую, а страницу с другим ID.

1. Т.е. к примеру, сейчас на странице с ID5 я сделал вывод комментариев со страницы с ID3 таким образом:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
$id_parent = 3;
 
?>
 
<?php
    // Получаем комментарии поста с ID $id_parent из базы данных 
    $comments = get_comments(array(
        'post_id' => $id_parent,
        'status' => 'approve', // комментарии прошедшие модерацию
    ));
    // Формируем вывод списка полученных комментариев
    wp_list_comments(array(
        'avatar_size'   =>  45,
        'style'         => 'ol',
        'callback'      => 'basepro_comments',
        'type'          => 'all',
    'reverse_top_level' => false,
    ), $comments); 
?>
2. Форма комментирования выводится таким образом:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
$comments_args = array(
    'title_reply_before' => '<h3 id="reply-title" class="comment-reply-title">',
    'title_reply_after' => '</h3>',
    'comment_notes_before' => '<p class="comment-notes">Ваш email не будет опубликован. Все поля обязательны к заполнению</p>',
    'logged_in_as' => '<p class="logged-in-as">' . sprintf( __( 'Вы вошли как: <a href="%1$s">%2$s</a> | <i class="fa fa-power-off" aria-hidden="true"></i>
<a href="%3$s" title="Выйти из аккаунта">выйти?</a>' ), admin_url( 'profile.php' ), $user_identity, wp_logout_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
    // Change the title of send button 
    'label_submit' => esc_html__( 'Отправить', 'basepro' ),
    // Change the title of the reply section
    'title_reply' => esc_html__( 'Добавить комментарий', 'basepro' ),
    // Remove "Text or HTML to be displayed after the set of comment fields".
    'comment_notes_after' => '',
    // Redefine your own textarea (the comment body).
    'class_submit' => 'submit_class',
    'fields' => array(
        'author' => '<div class="row"><div class="col-md-6"><input type="text" class="form-control" name="author" placeholder="Ваше имя" required /></div>',
        'email' => '<div class="col-md-6"><input class="form-control" placeholder="Ваш email" name="email" type="email" required></div></div> ',
    ),
    'comment_field' => '<textarea placeholder="Введите текст комментария" class="form-control" id="comment" name="comment" rows="5" aria-required="true"></textarea>',
    'id_form'           => 'commentform',
    'class_form'      => 'comment-form card-body',
    'class_submit'   => 'btn btn-success',
    'title_reply_to'    => esc_html( 'Ответить на %s' ),
    'cancel_reply_link' => esc_html__( 'Отменить', 'basepro' ),
    'format'            => 'xhtml',
 
);
 
/* Следующий кусок кода будет менять разметку формы, которую мы не можем изменить стандартным функционалом wp */
    /* Например, это может понадобиться, если надо сделать форму на бутстрапе */
      ob_start(); // включаем буферизацию вывода
      comment_form($comments_args); // показываем нашу форму
      $what_changes = array( // массив с заменой эдементов, ключ - то, что меняем. значение - то, на что меняем
              '<div id="respond" class="comment-respond">' => '<div id="respond" class="comment-respond card mb-5">', // добавляем card тег ко всей форме
              '<h3 id="reply-title" class="comment-reply-title">' => '<div class="card-header"><h3 id="reply-title" class="comment-reply-title">',
              '</h3>' => '</h3></div>',
        );
      $new_form = str_replace(array_keys($what_changes), array_values($what_changes), ob_get_contents()); // меняем элементы в форме
      ob_end_clean(); // очищаем буферизацию
      echo $new_form; // выводим новую форму
?>
Но форма комментирования постит комментарий только к текущей странице. Комментария после публикации этого даже не видно, потому что выводятся на странице только комментарии страницы ID3.

Вопрос 1: как сделать так, чтобы форма комментирования (п.2) постила комментарий в пост ID3, а не в текущий пост?
Вопрос 2: также чтобы форма комментирования (п.2) постила комментарий в пост ID3 в случае ответа на комментарий? потому что выводятся у нас комментарии от страницы с ID3, соответственно чтобы в случае нажатия кнопки ответить появляется форма ответа и она должна также отвечать на этот комментарий со страницы ID3

Фактически, нужно комментарии и форму со страницы ID3 внедрить на страницу c ID5. Вывести сами комментарии получилось, а вот форму прикрутить чтобы она отправляла комментарий на ID3 - нет.

Спасибо

Добавлено через 23 минуты
Update
На данный момент при попытке отправить сообщение с формы комментирования с текущей страницы ID5 вообще выдает ошибку что форма комментирования пуста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.01.2020, 11:52
Ответы с готовыми решениями:

Как сделать так, чтобы форма отправляла
Здравствуйте. Помогите начинающему недопрограммисту освоить немyного php. Есть форма: &lt;/head&gt; &lt;body&gt; &lt;form...

Как сделать так, чтобы при нажатии кнопки Предосмотр форма отправляла данные в 'add.asp?action=preview' ?
... Есть форма с несколькими полями. И есть две кнопки - Предосмотр и Занести. Вопрос: как сделать так, чтобы при нажатии кнопки...

Как сделать чтоб форма обратной связи не отправляла письмо если форма не заполнена
Добрый день. Подскажите пожалуйста как сделать чтоб форма обратной связи не отправляла письмо если форма не заполнена.

4
14.01.2020, 12:20

Не по теме:

Не уверен, что это вообще возможно. Зачем такой гемор?

0
0 / 0 / 0
Регистрация: 14.01.2020
Сообщений: 4
14.01.2020, 12:27  [ТС]
в теме не задается вопрос зачем, а спрашивается как
0
14.01.2020, 12:29

Не по теме:

vireanto, зная "зачем" - можно предложить альтернативное решение. Удаляюсь, удачи.

0
0 / 0 / 0
Регистрация: 14.01.2020
Сообщений: 4
14.01.2020, 12:33  [ТС]
В приницпе что-то в этом есть... Пардон
Значит есть Родительская страница и несколько у нее подстраниц (отдельно картинки, отдельно комментарии, отдельно таблица данных).
Вывод данных на подстраницах удалось реализовать, а вот комментарии вынести на отдельную подстарницу не получается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.01.2020, 12:33
Помогаю со студенческими работами здесь

Форма обратной связи с перенаправлением на другую страницу
Доброго времени суток, уважаемые форумчане! Сегодня уже обращался за помощью на этот прекрасный форум, насчет непонятного для меня куска...

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

Как сделать чтобы при отправке данных переходили на другую страницу
Есть такой код отправки данных: &lt;?php $result = mail(&quot;*******@yandex.ru&quot;,&quot;Заказ&quot;,&quot;Была получена анкета: \nИмя: {$_POST } ...

Как сделать чтобы при переходе с одной на другую страницу мастер-страницы не загружались
Здравствуйте. У меня следующий вопрос. Допустим у меня есть мастер страница и есть страница например a.aspx и b.aspx. Как сделать...

Как сделать так чтобы кнопка submit не отправляла данные на сервер
Как сделать так чтобы кнопка submit не отправляла данные на сервер, если форма не прошла валидацию на стороне клиента. if (login ==...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru