Da WordPress halt @ username Sachen verhunzt. Hier ist das PHP Script zum Downloaden.
Dank ⁂ @emaechler wäre der Bug im Explanation Text gefixed. Dann habe ich aber ⁂ @carstingaxion noch einmal überdacht, und ich denke, er hat recht: Man braucht das fl: gar nicht. Das Pattern @ username @ server.tld
(ohne Lehrzeichen) ist ausreichend spezifisch, denke ich.
Also ist hier Version 1.1:
<?php
/*
Plugin Name: Fediverse Linker
Description: Converts a Fediverse username into a link.
Version: 1.1
Changes: Changed the prefix to ⁂ (U+2642) and added a target="_blank" to the links, do not require fl: anymore.
Author: Mikka Luster
*/
function fediverse_linker($content) {
$pattern = '/(?:fl:)?@(\w+)@([\w.-]+\.[a-z]{2,})/i';
$replacement = '⁂ <a class="fedilink" target="_blank" href="https://$2/@$1">@$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');
Zur Rückwärtskompatibilität ist das fl: immer noch möglich, aber nicht mehr nötig.
Außerdem habe ich ein _target=blank (danke ⁂ @emaechler) in den Link reingenommen, und das Fediverse-Icon (⁂) vor Links angestellt, damit man auch weiß, was dann passiert. Man könnte das auch mit der class=
„fedilink
“ im CSS mit einem before:
oder after:
stylen, dann nimm das Zeichen einfach raus und mach das so.
Sorry, Eric, musst Du Dein Blogpost anpassen 😛