Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

target-Setzung von Links aus TinyMCE Editor #1199

Closed
xwolfde opened this issue Aug 16, 2022 · 4 comments
Closed

target-Setzung von Links aus TinyMCE Editor #1199

xwolfde opened this issue Aug 16, 2022 · 4 comments

Comments

@xwolfde
Copy link
Member

xwolfde commented Aug 16, 2022

Miut Hilfe des TinyMCE Editors ist es (leider wieder?) möglich, zu definieren, dass der LInkziel in einem neuen Fenster geöffnet wird. Überdies auch noch nicht mit einem Namen für das Target, sondern über "_self", so dass jeder Klick ein neues Fenster eröffnet.

Dies sollte so nicht sein und das Theme sollte so etwas nicht unterstützen, da dies ein Eingriff in die UX des Users darstellt und auch einen Bruch der Barrierefreiheit.

Daher prüfen, ob man mit einem Filter den Link nachträglich, nach der Bearbeitung eines Editors, wieder sanitizen kann.

@xwolfde
Copy link
Member Author

xwolfde commented May 12, 2023

Info zur Umsetzung:

via CSS ist die Darstellung der Option zum Link-Target im WP Editor bereits unsichtbar.
vgl: src/sass/backend/_ui.scss

Trotzdem gibt es Altfälle, wo Leute das target bereits gesetzt hatten.

xwolfde added a commit that referenced this issue May 12, 2023
…ion.php in die dafür zugehörige function)

unset für medium size bilder wieder rausngenommen
via css link target settung in wp classic editor unsichtbar gemacht: #1199
@FitoreGashi
Copy link
Collaborator

Wie ich sehe, ist die Option nicht mehr möglich und ausgeblendet, aber für alte Links mit dem Ziel _blank können wir einen Filter hinzufügen, der sie ersetzt, wie zum Beispiel:

function fau_change_link_targets($content) {
$pattern = '/<a(.*?)href='"'">/i';
$replacement = '<a$1href="$2"$3 target="_self">';
$content = preg_replace($pattern, $replacement, $content);
return $content;
}
add_filter('the_content', 'fau_change_link_targets');

Ist es das, wonach Sie suchen? @xwolfde @lukasniebler

@xwolfde
Copy link
Member Author

xwolfde commented May 25, 2023

Fast... Bitte gar kein target-Attribut setzen Also auch kein _self im replacement. Jedes unnötige gesparte Byte ist gut ;)

@FitoreGashi
Copy link
Collaborator

Sie haben Recht, wir können es so effizienter machen
function fau_change_link_targets($content) { $pattern = '/<a(.*?)href=[\'"](.*?)[\'"](.*?)(target=[\'"](.*?)[\'"])?(.*?)>/i'; $replacement = '<a$1href="$2"$3$6>'; $content = preg_replace($pattern, $replacement, $content); return $content; } add_filter('the_content', 'fau_change_link_targets');

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants