How to add custom fields in new topic?
Quote from Andreas on April 26, 2019, 1:30 pmHallo zusammen, ich habe einiges zum Thema Hooks gelesen und ausprobiert, komme da aber nicht weiter und brauche Hilfe.
Ich plane (also noch nicht online) ein Forum, wo bei der Registrierung die Felder Team, Straße, PLZ und Ort abgefragt werden. Den Inhalt/der Text dieser Felder soll automatisch mit/beim senden eines neuen Thema‘s eingebunden werden. Ziel ist, mit der Suche beispielsweise den Ort oder die PLZ einzugeben um alle Einträge dazu zu filtern.
Wie macht man so was? Wenn mit php, dann bitte idealerweise mit einem Beispiel.
Wichtig, mit einem shortcode geht das leider nicht, der Text wird zwar angezeigt steht aber nicht als realer Text in der Textbox!
Vorab besten Dank
Andreas
Hallo zusammen, ich habe einiges zum Thema Hooks gelesen und ausprobiert, komme da aber nicht weiter und brauche Hilfe.
Ich plane (also noch nicht online) ein Forum, wo bei der Registrierung die Felder Team, Straße, PLZ und Ort abgefragt werden. Den Inhalt/der Text dieser Felder soll automatisch mit/beim senden eines neuen Thema‘s eingebunden werden. Ziel ist, mit der Suche beispielsweise den Ort oder die PLZ einzugeben um alle Einträge dazu zu filtern.
Wie macht man so was? Wenn mit php, dann bitte idealerweise mit einem Beispiel.
Wichtig, mit einem shortcode geht das leider nicht, der Text wird zwar angezeigt steht aber nicht als realer Text in der Textbox!
Vorab besten Dank
Andreas
Quote from Andreas on April 26, 2019, 1:53 pmHi, I’ve read a lot about Hooks and tried by my self, but it does not work for me and I needs help.
I’m planning (not yet online) a forum where the fields team, street, postcode and city are queried during registration. The content / text of these fields should automatically be included with / when sending a new topic. The goal is to use the search field, for example, to filter for all location or zip code entries.
How you do that? If you use php, may I have an example please.
Important, It does not work with a shortcode, the text is displayed, but it is not a real text in the text box!
Thanks
Andreas
Hi, I’ve read a lot about Hooks and tried by my self, but it does not work for me and I needs help.
I’m planning (not yet online) a forum where the fields team, street, postcode and city are queried during registration. The content / text of these fields should automatically be included with / when sending a new topic. The goal is to use the search field, for example, to filter for all location or zip code entries.
How you do that? If you use php, may I have an example please.
Important, It does not work with a shortcode, the text is displayed, but it is not a real text in the text box!
Thanks
Andreas
Quote from Asgaros on April 27, 2019, 3:57 pmHallo @andreas
Dafür benötigst du eine ganze Menge an eigenen Modifikationen:
- Hook asgarosforum_editor_custom_content_bottom: Diesen Hook musst du erst einmal benutzen, um den Editor mit deinen zusätzlichen Eingabemasken zu erweitern.
- Hook asgarosforum_after_add_topic_submit: Dieser Hook speichert dann nach dem Anlegen eines neuen Themas die Inhalte deiner zusätzlichen Felder in der Datenbank. Das bedeutet, du musst dementsprechend die Datenbank vorher anlegen, nach dem Absenden eines Themas die übermittelten Daten über die globale $_POST-Variable auslesen, gegebenenfalls validieren und dann in der Datenbank speichern.
- Hook asgarosforum_after_post_message: Diesen Hook könntest du dann zum Beispiel verwenden, die gespeicherten Daten unterhalb eines Beitrags anzuzeigen.
Da du in dem Fall aber mit eigenen Tabellen arbeitest, lässt sich das nicht so einfach in die Suche einbauen. Das heisst, du müsstest dann noch eine eigene Suche implementieren, die über deine neue Datenbank entsprechend drüberschaut.
Du siehst, das ist mehr oder weniger alles miteinander verknüpft, deshalb ist es auch nicht möglich, dass mit einem kurzen Beispiel zu demonstrieren. Ich hoffe allerdings, dass dir diese Anhaltspunkte etwas weiterhelfen konnten.
Hallo @andreas
Dafür benötigst du eine ganze Menge an eigenen Modifikationen:
- Hook asgarosforum_editor_custom_content_bottom: Diesen Hook musst du erst einmal benutzen, um den Editor mit deinen zusätzlichen Eingabemasken zu erweitern.
- Hook asgarosforum_after_add_topic_submit: Dieser Hook speichert dann nach dem Anlegen eines neuen Themas die Inhalte deiner zusätzlichen Felder in der Datenbank. Das bedeutet, du musst dementsprechend die Datenbank vorher anlegen, nach dem Absenden eines Themas die übermittelten Daten über die globale $_POST-Variable auslesen, gegebenenfalls validieren und dann in der Datenbank speichern.
- Hook asgarosforum_after_post_message: Diesen Hook könntest du dann zum Beispiel verwenden, die gespeicherten Daten unterhalb eines Beitrags anzuzeigen.
Da du in dem Fall aber mit eigenen Tabellen arbeitest, lässt sich das nicht so einfach in die Suche einbauen. Das heisst, du müsstest dann noch eine eigene Suche implementieren, die über deine neue Datenbank entsprechend drüberschaut.
Du siehst, das ist mehr oder weniger alles miteinander verknüpft, deshalb ist es auch nicht möglich, dass mit einem kurzen Beispiel zu demonstrieren. Ich hoffe allerdings, dass dir diese Anhaltspunkte etwas weiterhelfen konnten.
Quote from Andreas on April 27, 2019, 6:18 pmHallo @asgaros,
erst einmal besten Dank für deine Antwort. Ich konnte mir schon denken, dass es recht Aufwendig werden wird.
VG
Andreas
Hallo @asgaros,
erst einmal besten Dank für deine Antwort. Ich konnte mir schon denken, dass es recht Aufwendig werden wird.
VG
Andreas
Quote from Andreas on April 27, 2019, 6:48 pmHallo @asgaros,
ich muss nochmal nachfragen. Ich möchte ja gar nicht mit dem Hook asgarosforum_editor_custom_content_bottom zusätzliche Eingabemasken/Felder hinzufügen.
Mal ein anderes Beispiel: Im WP Benutzer Profil gibt es ein Feld „Biografische Angaben“. In diesem Feld trage ich bspw. eine Adresse (Strasse, PLZ und Ort) ein. Jetzt möchte ich, den Inhalt des Feldes„Biografische Angaben“ mit Klick auf den Senden Button im Forum auslesen und dann mit einem Hook (wenn möglich) in das Textfeld??? (ich weiß nicht wie es heißt, bei mir id=“tinymce“ und bei dir id=”post-quote-container-nnnn“) automatisch eintragen (sowas wie copy and paste). Diese Adresse steht dann in dem Textfeld als realer Text und es werden keine zusätzlichen Felder etc durchsucht.
Hallo @asgaros,
ich muss nochmal nachfragen. Ich möchte ja gar nicht mit dem Hook asgarosforum_editor_custom_content_bottom zusätzliche Eingabemasken/Felder hinzufügen.
Mal ein anderes Beispiel: Im WP Benutzer Profil gibt es ein Feld „Biografische Angaben“. In diesem Feld trage ich bspw. eine Adresse (Strasse, PLZ und Ort) ein. Jetzt möchte ich, den Inhalt des Feldes„Biografische Angaben“ mit Klick auf den Senden Button im Forum auslesen und dann mit einem Hook (wenn möglich) in das Textfeld??? (ich weiß nicht wie es heißt, bei mir id=“tinymce“ und bei dir id=”post-quote-container-nnnn“) automatisch eintragen (sowas wie copy and paste). Diese Adresse steht dann in dem Textfeld als realer Text und es werden keine zusätzlichen Felder etc durchsucht.
Quote from Asgaros on April 27, 2019, 7:57 pmHallo @andreas
Hier mal ein kleines Beispiel, wie du das angehen könntest. Nach dem Speichern des Themas kannst du den Hook asgarosforum_after_add_topic_submit verwenden. Innerhalb diesem liest du die entsprechenden Daten aus dem Benutzerprofil aus (in dem Beispiel die Mail), fügst sie ans Ende des Inhalts hinzu und speicherst diesen dann in der Datenbank. Danach sollte dieser Unterhalb des Inhaltes angezeigt werden.
function add_text_to_topic($post_id, $topic_id, $subject, $content, $link, $author_id) { $user_data = get_userdata($author_id); // Variable which holds some data you want to add. $value = '<br>'.$user_data->user_email; $content = $content.$value; global $asgarosforum; $asgarosforum->db->update($asgarosforum->tables->posts, array('text' => $content), array('id' => $post_id), array('%s'), array('%d')); } add_action('asgarosforum_after_add_topic_submit', 'add_text_to_topic', 10, 6);
Hallo @andreas
Hier mal ein kleines Beispiel, wie du das angehen könntest. Nach dem Speichern des Themas kannst du den Hook asgarosforum_after_add_topic_submit verwenden. Innerhalb diesem liest du die entsprechenden Daten aus dem Benutzerprofil aus (in dem Beispiel die Mail), fügst sie ans Ende des Inhalts hinzu und speicherst diesen dann in der Datenbank. Danach sollte dieser Unterhalb des Inhaltes angezeigt werden.
function add_text_to_topic($post_id, $topic_id, $subject, $content, $link, $author_id) { $user_data = get_userdata($author_id); // Variable which holds some data you want to add. $value = '<br>'.$user_data->user_email; $content = $content.$value; global $asgarosforum; $asgarosforum->db->update($asgarosforum->tables->posts, array('text' => $content), array('id' => $post_id), array('%s'), array('%d')); } add_action('asgarosforum_after_add_topic_submit', 'add_text_to_topic', 10, 6);
Quote from Andreas on April 28, 2019, 1:05 pmHallo @asgaros,
nochmals Danke für deine Hilfe.
Ich habe den Code in die function.php eingefügt, dann ein neues Thema aufgemacht und leider passiert da mit Klick auf den Senden Button gar nichts. Nur der von mir eingegebene Text ist in dem neuen Thema sichtbar, die eMail Adresse leider nicht.
Hast du eine Idee?
Hallo @asgaros,
nochmals Danke für deine Hilfe.
Ich habe den Code in die function.php eingefügt, dann ein neues Thema aufgemacht und leider passiert da mit Klick auf den Senden Button gar nichts. Nur der von mir eingegebene Text ist in dem neuen Thema sichtbar, die eMail Adresse leider nicht.
Hast du eine Idee?
Quote from Asgaros on April 28, 2019, 1:28 pmHallo @andreas
Da war ein kleiner Fehler im Code. Ich habe ihn nochmal aktualisiert und jetzt sollte es funktionieren.
Hallo @andreas
Da war ein kleiner Fehler im Code. Ich habe ihn nochmal aktualisiert und jetzt sollte es funktionieren.