Benutzer/innen/namen neu verlinken

  • Standardmäßig verlinken die Benutzer/innen/namen überall, wo sie vorkommen (z.B. dort und dort), zur Mitglieds-Seite des/r jeweiligen Benutzers/in - also für Fan 1 z.B. dorthin:

    http://1a-spielwiese.de/mitglieder/fan1/

    Das ist prinzipiell auch sinnvoll, da BuddyPress auch mit WordPress-SingleSite läuft, und es in diesem Fall gar keine sinnvolle Alternative zur genannten Verlinkung gibt.

    Ich verwende nun aber BuddyPress zusammen mit WordPress MultiSite, sodass alle meine user eigene Subdomain-Blogs haben. Deshalb würde ich gerne

    zum einen zu deren Subdomains-Blogs - also im Falle von Fan1 zu:

    http://fan1.1a-spielwiese.de/

    verlinken (und entsprechend automatisch für alle anderen user)

    (und außerdem die Mitglieds-Seiten - statt zu Seiten des Root-Blogs - vielmehr zu Seiten des jeweiligen Subdomain-Blogs machen - also im Falle von Fan 1:

    http://fan1.1a-spielwiese.de/profil [und dort die fraglichen Inhalte zur Verfügung haben]-

    und wiederum automatisch entsprechend für alle anderen user). -

    Meine Anfragen im englischen BuddyPress-Support-Forum brachten hinsichtlich beider Anliegen leider noch keine Erfolge:

    zu Anliegen 1:

    https://buddypress.org/support/topic/…g-member-pages/

    zu Anliegen 2:

    https://buddypress.org/support/topic/relocate-member-pages/

    und als mögliche Lösungsansätze:

    https://buddypress.org/support/topic/…-page-settings/

    und

    https://buddypress.org/support/topic/…-pagetemplates/

    Haben welche Ideen zu dem einen oder anderen oder beiden Anliegen?

    Einmal editiert, zuletzt von 1a-Spielwiese (11. Oktober 2014 um 11:11)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • :-) Du willst Dir wirklich keinen Admin leisten, der das mal alles umsetzt.

    90% von dem was Du willst kann man einfach umsetzen: https://codex.buddypress.org/themes/bp-custom-php/

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Zitat

    90% von dem was Du willst kann man einfach umsetzen: https://codex.buddypress.org/themes/bp-custom-php/

    Da steht, wie ich Links aus Profilen entfernen kann. Ich will aber statt dessen im Activity-Stream, der Mitglieder-Liste usw. - statt hin zu den Mitglieder-Seiten/Profilen - vielmehr hin zu den Subdomain-Blogs verlinken. - Wie das geht, ist dort nicht erklärt.

    Und "costum slugs" hilft mir auch nichts, weil ich damit zwar die Adressen des Activity-Streams und der Mitglieder-Liste ändern kann; aber auf die dort beschriebene Weise habe ich keinen Zugriff auf die Seiten der einzelnen Mitglieder (das sind ja keine "pages" im Sinne von WordPress; jedenfalls werden sie als solche im AdminPanel nicht angezeigt).

    -----

    Für die Änderung der Verlinkungen müsste ich wissen, in welchen Zeilen welcher Dateien die bisherigen Verlinkungen definiert sind und was ich dort statt dessen schreiben muss, um auf die jeweils passende Subdomain zu verweisen - also

    für user x-1 auf x-1.1a-spielwiese.de

    für user x-2 auf x-2.1a-spielwiese.de -

    und für den noch unbekannten user x-3500 auf x-3500.spielwiese.de.

    -----

    Und das andere Problem verlangt, an den fraglichen Stellen erkennbar zu machen, dass auf der Profil-Seite der x-1-Subdomain die Inhalte bzgl. user x-1 angezeigt werden sollen, die normalerweise/bisher auf seiner/ihrer individuellen Mitglieder-Seite im Root-Blog angezeigt werden.

    Das wiederum setzt voraus zu wissen, wie dieses 'Erkennbar machen' funktioniert und wo (in welche Zeilen welcher Dateien) dieses 'Erkennbar machen' hinzuschreiben ist. -

    Wenn das zu 90 % "einfach" umzusetzen ist, dann bekomme ich das (vermutlich incl. der restlichen 10 %) auch alleine hin. - Wenn dagegen erst eine komplizierte Lösung entwickelt werden müsste, für die auch Leute, die sich wirklich auskennen, mehrere Stunden benötigen - dann wird mir das vermutlich schnell zu teuer für die Feinheiten, um die es letztlich geht.

    Außerdem würde ich gerne das Prinzip verstehen, nach dem solche Änderungen funktionieren, damit ich das Prinzip künftig auch in anderen Konstellationen anwenden kann.

  • Mein Link ist der Einstiegspunkt zu verschiedenen Anpassungsmöglichkeiten. Gerade das BuddyPress Supportforum ist voller nützlicher Hilfestellungen, alles ist dort zu finden.

    Für das was Du tun willst hat BuddyPress Filter. Wenn jeder User genau eine Seite besitzt, dort also der Admin ist, würde ich vermutlich folgenden Ansatz wählen (nicht getestet):

    Mit der Domain kann man spielen, kommt immer auf die Konfiguration an. Bei einer Hauptdomain ohne www könnte man auch über folgende Varianten nachdenken

    Code
    $domain = $user_nicename . bp_get_root_domain() ;
    $domain = $user_login . bp_get_root_domain() ;
    $domain = get_user_meta( $user_id, 'nickname', true ) . bp_get_root_domain();

    usw. Da ist viel Raum für Kreativität.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Danke. :) - Das werde ich nach dem Schlafen ausprobieren. - Allerdings schon jetzt:

    Zitat

    Wenn jeder User genau eine Seite besitzt, dort also der Admin ist,

    Ja, genau eine Seite. Aber:

    Meine user sollen nicht Admins ihrer Blogs sein, da ich ein einheitliches Design der Subdomain-Blogs sicherstellen möchte, und da die meisten meiner user die Fülle des AdminPanels für Admins nur verwirren würde. -

    Stattdessen sollen die Inhaber/innen meiner Blogs nur "Teams" oder "Fans" sein, was eine leichte Aufwertung der WP user role "author" ("Autor"), aber (in meinem Fall) weniger als eine user role "editor" ("Redakteur") ist.

    Einmal editiert, zuletzt von 1a-Spielwiese (12. Oktober 2014 um 00:30)


  • Meine user sollen nicht Admins ihrer Blogs sein

    Dann geht der source_domain Ansatz nicht und Du musst die Domain gemäß meiner anderen Beispiele basteln.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Vielen Dank. - Ich habe die drei Alternative-Varianten jetzt ausprobiert - also ich habe in meine bp_custom.php eingefügt:

    Und danach

    Code
    $domain = $user_nicename . bp_get_root_domain() ;

    zunächst durch:

    Code
    $domain = $user_login . bp_get_root_domain() ;



    und dann durch:

    Code
    $domain = get_user_meta( $user_id, 'nickname', true ) . bp_get_root_domain();

    ersetzt.

    Resultat für Variante 1:

    Auf der Activity- (bei mir: Neuigkeiten-)Seite wird nun

    • für "Fan Eins ist der Gruppe ..." / "Kampfsportlerinnen Neuwied ist der Gruppe" sowie "Fan Eins und Kampfsportlerinnen Neuwied sind nun Freund/inn/e/n" etc. für jeden Namen zur Startseite der ganzen Domain (also: http://1a-spielwiese.de) verlinkt


    • für "hahaha’s profile was updated", "Balletttaenzerinnen Kreuzberg 36’s profile was" etc. zu http://1a-spielwiese.deprofile/ (ohne Slash hinter dem ".de").

    Auf der Member- (bei mir: Mitglieder-)Seite wird nun



    • für hahaha (*) auf: hahahahttp://1a-spielwiese.de


    und

    verwiesen.


    Resultat für Variante 2:

    Für die Neuigkeiten-Seite: ziemlich ähnlich, wenn nicht sogar ganz genauso (ich habe nicht jeden Link überprüft).

    Für die Mitglieder-Seite aber deutlich besser:

    für fan1: fan1http://1a-spielwiese.de

    für kampfsportlerinnenneuwied: kampfsportlerinnenneuwiedhttp://1a-spielwiese.de

    für balletttaenzerinnenkrbg36: kampfsportlerinnenneuwiedhttp://1a-spielwiese.de


    Resultat für Variante 3:

    Für die Neuigkeiten-Seite wieder genauso oder so ähnlich, wie für die ersten beiden Varianten.

    Für die Mitglieder-Seite (anscheinend) wieder so, wie bei Variante 1.


    (*) Eigentlich hätte der user name zur Subdomain 3h ebenfalls 3h sein soll; das ging aber nicht, da WordPress für user names mindestens drei Zeichen verlangt. - Das werde ich bei künftigen Subdomain-Adressen berücksichtigen.


  • Mit der Domain kann man spielen, kommt immer auf die Konfiguration an. Bei einer Hauptdomain ohne www könnte man auch über folgende Varianten nachdenken [...]. Da ist viel Raum für Kreativität.



    Dafür müsste ich die Funktion, die Du geschrieben hast, wirklich verstehen:

    Code
    mensmaximus_domain_to_subdomain

    ist einfach nur der Name der Funktion, oder? Da könnte jeweils auch "Blumenkohl" oder sonst irgend etwas stehen - solange nur an beiden Stellen das Gleiche steht, oder?

    Und ansonsten besagt die letzte Zeile Deines Codes, dass beim Ausführen der Funktion

    Code
    bp_core_get_user_domain

    der von Dir geschriebene Filter mit dem Namen

    Code
    mensmaximus_domain_to_subdomain

    angewendet werden soll. Richtig?

    Und die Zeile, die ich jetzt in drei Varianten ausprobiert habe, definiert welcher Link angezeigt werden soll. Richtig?

    Aber was bewirkt den unerwünschten Effekt, dass der - für ein und denselben user! - angezeigte Link auf Neuigkeiten-Seite anders ist als auf der Mitglieder-Seite?

    Und die beiden

    Code
    if

    -Zeilen definieren Bedingungen: Im ersten Fall kommt das gerade Erörterte zur Anwendung; und im zweiten Fall wird die Domain-URL (also http://1a-spielwiese.de) ausgegeben. Richtig gelesen?

    Und zu den anderen Zeilen habe ich im Moment gar keine Lese-/Versteh-Idee. -

    ---------

    Und wie sieht denn der Original-BuddyPress-Code aus, der definiert, dass und wann zu den individuellen Mitglieder-Seiten im Domain-Blog verlinkt wird?

    Ich glaube, wenn ich den Original-Code mit Deinem Code vergleichen würde, dann würde ich am ehesten verstehen, wie's strukturell funktioniert.

    Einmal editiert, zuletzt von 1a-Spielwiese (12. Oktober 2014 um 11:15)

  • Dafür müsste ich die Funktion, die Du geschrieben hast, wirklich verstehen:

    Dann wirst Du PHP lernen, den WordPress und BuddyPress Codex lesen sowie viel Sourcecode in WP und BP durchsuchen müssen.

    Aber was bewirkt den unerwünschten Effekt, dass der für ein und denselben user angezeigte Link auf Neuigkeiten-Seite anders ist als auf der Mitglieder-Seite?

    Ich habe Dir nur eine Idee geliefert, kein fertiges Konzept. Es werden mehrere Funktionen und Anpassungen notwendig sein. Vieles muss man einfach testen. bp_core_get_user_domain ist ein tiefer Ansatz und je nach gewünschtem Ergebnis zu radikal. Dann muss man speziellere Hooks verwenden. Eine Möglichkeit wäre nur den Userlink zu verändern, dafür gibt es den Filter bp_core_get_userlink(). Und wenn Deine Benutzernamen nicht immer mit der Subdomain übereinstimmen könnte man ein Custom Field im Profil anlegen, in das man die Blogadresse des User schreibt. Dieses Feld könnte man dann in der Funktion zur Anpassung der Userlinks auslesen und in den Link einbauen.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Und wenn Deine Benutzernamen nicht immer mit der Subdomain übereinstimmen

    Nee, dafür benötige ich keine Lösung. 1a-spielwiese ist tatsächlich nur eine Spielwiese. Ich kann meinem fiktiven user hahaha also von meinem Provider noch eine Subdomain hahaha geben und die Subdomain 3h löschen lassen - oder einfach den Fehler auf der Spielwiese stehen lassen, wenn's denn ansonsten funktioniert.

    Allein schon wegen der Memorierbarkeit sollen user names und Subdomains identisch sein. Und alle users sollen nur einen Blog haben.

    WordPress und BuddyPress Codex lesen

    Puh, das ist nun etwas, was mich wirklich abschreckt - weil ich, wenn es nicht verstehe, nie verstehe, ob ich es deshalb nicht verstehe, weil meine Englisch-Kenntnisse oder meine Technik-Kenntnisse nicht ausreichen - und ich dann keine Strategie habe, meine Wissenslücken zielgerichtet zu schließen.

  • könnte man ein Custom Field im Profil anlegen, in das man die Blogadresse des User schreibt. Dieses Feld könnte man dann in der Funktion zur Anpassung der Userlinks auslesen und in den Link einbauen.

    Unabhängig von der Frage user names / Subdomains hätte ich gegen ein solches Profilfeld nichts einzuwenden. Ich hatte ich eh schon überlegt, es einzuführen (und dafür den Menü-Tab "Seiten" aus dem BuddyPress-Menüs rauszuschmeißen).

    Die einzige Hürde ist, dass ich das Feld für meine user uneditierbar machen wollen würde - das klappte aber für andere Felder bisher nicht:

    https://buddypress.org/support/topic/…-to-uneditable/

  • Puh, das ist nun etwas, was mich wirklich abschreckt - weil ich, wenn es nicht verstehe, nie verstehe, ob ich es deshalb nicht verstehe, weil meine Englisch-Kenntnisse oder meine Technik-Kenntnisse nicht ausreichen - und ich dann keine Strategie habe, meine Wissenslücken zielgerichtet zu schließen.

    Da beißt sich dann die Katze in den Schwanz. Du willst/kannst Dich in die Materie nicht einarbeiten und gleichzeitig willst/kannst Du Dir externe Hilfe nicht leisten. Du möchtest also, dass Dir das jemand kostenlos umsetzt. Anhand der Menge an Antworten die Du auf die Frage bekommen hast (hier und im BP Forum) kannst Du abschätzen wie hoch die Wahrscheinlichkeit dafür ist.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Da sind wir wieder bei dem Punkt, ob denn mein 'Wunsch' nun einfach oder nur mit viel Aufwand zu erfüllen ist.

    Wenn er einfach zu erfüllen ist, müsste sich die Lösung ja auch einfach erklären und für mich umsetzen lassen.

    Und wenn die Lösung nur realisierbar ist, indem das halbe BuddyPress-Plugin umgeschrieben wird - dann könnte das ja zumindest mal jemand klar antworten. - Und dann würde ich sagen, dass mir mein Wunsch nicht so ein Herzensanliegen ist, dass ich ihn unbedingt realisiert haben möchte. -

    Und damit, wie es eigentlich überhaupt kommt, dass Leute so etwas wie WordPress schreiben und in einer Gesellschaft, in der ansonsten das allermeiste Geld kostet, kostenlos zur Verfügung stellen - und unter welchen Bedingungen sie bereit sind, auch noch extra Wünsche von users zu erfüllen -, habe ich mich noch nicht ernsthaft beschäftigt.

  • Da sind wir wieder bei dem Punkt, ob denn mein 'Wunsch' nun einfach oder nur mit viel Aufwand zu erfüllen ist.

    Geh mal von 4-5 Stunden aus. Das beinhaltet die Prüfung der Vorgaben (z.B. wie kann ein User sein Profil aufrufen, wenn der Link nicht mehr aus ein Profil sonder eine Blogadresse geht), die Programmierung als einfaches Plugin (keine Klasse die BuddyPress erweitert) ohne Dokumentation und das Unittesting. Abhängig vom Stundenlohn des Entwicklers (ab $8 in Indien bis €120 in Deutschland) kannst Du also mit 30 bis 600 € rechnen.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Gut, Danke. Dann bin ich im Bilde.

    Dann lasse ich das - da ich für 8 Euro niemanden zum Arbeiten veranlassen möchte - für meine Spielwiese erst einmal sein. -

    Und diejenigen, die meine Spielwiese begutachten werden und (mit mir zusammen) entscheiden müssen, ob daraus mal etwas 'Richtiges' werden soll, sollen sich erst einmal überlegen, ob sie denn ihrerseits das von mir für sinnvoll gehaltene Feature überhaupt für nötig oder zumindest nützlich halten.

    PS.:

    Um das mal hier auszuplaudern - das Ganze ging von einer Idee von einigen Leuten (mich eingeschlossen) aus, was wir gerne hätten. Ich habe aufgrund meiner Erfahrungen mit wordPress.com und anderen Blog-Communities, die auf WordPress basieren, die Idee beigesteuert, dass sich das, was wir gerne hätten mit WordPress relativ einfach und kostengünstig realisieren lassen könnte.
    Und da die anderen noch weniger Ahnung haben als ich und wir kein Geld für ungelegte Eier ausgeben wollen, blieb es an mir hängen, mal auszuprobieren, wie dicht denn die Wirklichkeit an den Wunsch herankommen kann und welche neuen Wünsche bei dem Arbeiten an der Wunsch-Erfüllung noch entstehen.
    Und eigentlich läuft es ganz gut, auch wenn's zeitaufwendiger ist als gedacht - aber das ist die Wunscherfüllung ja meistens. -

    Und als eventuelle künftige Blog-Netzwerk-Betreiber/innen wollen wir an unseren künftigen hoffentlich-Benutzer/innen kein Geld verdienen, weshalb es kostengünstig sein soll.

    Einmal editiert, zuletzt von 1a-Spielwiese (12. Oktober 2014 um 12:42)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!