Wie ihr wisst war ich von 2008 bis 2022 absoluter Fan von Twitter – ich war da jeden Tag aktiv. Aus diesem Grund hatten alle meine Blogs ein kleines Script eingebaut wo ich einfach den Twitter Name eingeben konnte @einBeispiel und zack wurde korrekt mit dem Twitterprofil verlinkt
Jetzt bin ich seit 2022 täglich auf Mastodon unterwegs und ich habe es gehasst, dass ich jedesmal mein Mastodon mit einem a href Tag umschliessen musste – ja ich bin faul. Ich habe mich da immer wieder aufgeregt aber nie was dagegen gemacht – ja so faul war ich 😛
Heute Morgen beim durchstöbern von Häschtägs auf Mastodon habe ich einen Post eines alten Barcamp / Blogger Freundes gefunden. Und zwar hat er in seinem Blog einen Artikel geschrieben wo er ein Script vorgestellt hat, das genau das tut was mein altes Twitter Script tat. Danke Mikka du altes Schlachtross (Fediverse Links für WordPress)
Mit diesem Script kann man also auf alle Fediverse Profile verlinken und zwar sind ja alle gleich aufgebaut. Bei Twitter wars einfach so ein At und dann der Name – also zb @der_chefblogger <-- so lautete der Name von mir dort.Im Fediverse ist es so @ name @ server (natürlich ohne leerzeichen dazwischen) also @emaechler @mastodon.maechler. cloud für mein Mastodon Account oder eric@ video.maechler. cloud für mein Videoserver etc.Nun ich habe mir das Script kurz angeschaut und es ein klein wenig verändert und zwar habe ich noch ein target _blank eingebaut, so dass wenn ein User auf den Name klickt er in einem neuen Tab Fenster geöffnet wird (der User soll ja nicht von meinem Blog weggeschickt werden sondern zusätzlich Info bekommen). Und dann habe ich noch kurz im echo Bereich die Erklärung erweitert - da fehlte nämlich ein fl:
Korrekte Verwendung
Nachdem man das Script eingebaut hat, kann man einfach fl: und dann direkt anschliessend den Profilpfad zu eurem Fediverse Account eingeben und schon ist der Name von WordPress her automatisch korreket verlinkt. Und zwar sieht man nicht mehr den ganzen Pfad sondern nur noch den Name und der Rest ist verlinkt.
1 | fl:@emaechler@mastodon.maechler.cloud |
wird zu @emaechler
oder
1 | fl:eric@video.maechler.cloud |
wird zu @eric
WordPress Function V1
Also einfach diesen Code kopieren und in die function.php eures Childteam reinkopieren.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | /* mastodon */ function fediverse_linker($content) { $pattern = '/fl:@(\w+)@([\w.-]+)/'; $replacement = '<a href="https://$2/@$1" target="_blank" rel="noopener">@$1</a>'; return preg_replace($pattern, $replacement, $content); } // Add explanation above comment form function fediverse_linker_explanation() { echo '<p class="fediverse-linker-info">Du kannst auf Fediverse-Profile verlinken, indem du fl:@benutzername in deinem Kommentar eingibst.</p>'; } add_filter('the_content', 'fediverse_linker'); add_filter('comment_text', 'fediverse_linker'); add_action('comment_form_top', 'fediverse_linker_explanation'); |
WordPress Function V2
Dieser Blogbeitrag wurde vor ein paar Stunden veröffentlicht und jetzt gibts bereits ein Update zu Code. Der Mikka hat 3 Veränderungen am Code durchgeführt die ich euch natürlich nicht vorenthalten möchte.
1. Er hat zuerst mal meine target _blank Lösung übernommen.
2. Im Fediverse wird gerade ein neues Logo durchdiskutiert und zwar soll es nicht mehr das farbige Pentagram sein sondern dieses hier: ⁂ . Ich persönlich finde das einfach nur hässlich diese 3 Sterne 🙂 Aber jetzt wird jeder Link auch mit diesem Zeichen markiert.
3. Man muss kein fl: mehr eingeben sondern es erkennt automatisch ob es sich um ein Link zu einem Fediverse Profil handelt oder nicht – durch die 2 @ im Name.
Hier ist nun diese neue Funktion die ihr einbauen könnt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function fediverse_linker($content) { $pattern = '/(?:fl:)?@(\w+)@([\w.-]+\.[a-z]{2,})/i'; $replacement = '⁂ <a class="fedilink" target="_blank" href="https://$2/@$1" rel="noopener">@$1</a>'; return preg_replace($pattern, $replacement, $content); } // Add explanation above comment form function fediverse_linker_explanation() { echo '<p class="fediverse-linker-info">Du kannst auf Fediverse-Profile verlinken, indem du ⁂ @benutzername in deinem Kommentar eingibst.</p>'; } add_filter('the_content', 'fediverse_linker'); add_filter('comment_text', 'fediverse_linker'); add_action('comment_form_top', 'fediverse_linker_explanation'); |
Fazit
Ein sehr cooles Script das ihr nun dank Mikka auch haben könnt. Viel Spass
0 Kommentare