Medien & Phantastik > Multimedia - Software & Betriebsysteme
PHP-Hilfe?
schneeland (n/a):
Evtl. musst Du es a) doch mal mit get_the_title() bzw. the_title_attribute() versuchen - letzteres scheint eventuelle HTML-Tags im Titel rauszuwerfen (siehe https://developer.wordpress.org/reference/functions/get_the_title/).
--- Code: ---add_filter( 'share_on_mastodon_enabled', '__return_true' );
add_filter( 'share_on_mastodon_status', function( $status, $post ) {
$text = wp_strip_all_tags( $post->post_content );
$link = get_permalink( $post );
$title = the_title_attribute ( $post );
$text = substr($text,0, 493 - strlen($title) - strlen ($link)); //500 - 4 line breaks, 3 dots
return $post->post_title . "\n\n" . $text . "...\n\n" . $link;
}, 10, 2 );
--- Ende Code ---
aikar:
Zwischen get_the_title und $post->post_title sollte eigentlich kein Unterschied sein, wenn keine weiteren Filter im Spiel sind (Was aber natürlich je nach Plugins und Theme der Seite nicht auszuschließen ist).
the_title_attribute könnte evtl. funktionieren. Ich vermute aber eher, dass sich da noch ein weiterer Filter reinhängt, weil irgendwoher nimmt er auch noch Datum, Autor und mehrere br mit in den Mastodon-Titel und die sollten eigentlich nicht Teil des Wordpress-Post-Titels sein.
Versuch mal die Filter-Priorität zu erhöhen, z.B. von 10 auf 100.
Blechpirat:
Wir haben jetzt einen Beitrag gezogen: https://social.karsten-voigt.de/@rspblogs/109876941245970007
Das ist schon recht fein so!
Allerdings scheint bei der Verwendung von Sonderzeichen (hier Anführungszeichen unten) noch ein Fehler zu sein.
Zum Title... Da ist noch Luft drin. Denn irgendwie wird der "ursprüngliche" Titel weitergegeben - nicht der auf der Website angezeigte. Denn dort wird noch ein "$NamedesBlogs: " davorgesetzt.
Blechpirat:
deutsche Sonderzeichen scheinen sonst zu funktionieren.
1of3:
--- Zitat von: Blechpirat am 17.02.2023 | 08:48 ---Allerdings scheint bei der Verwendung von Sonderzeichen (hier Anführungszeichen unten) noch ein Fehler zu sein.
--- Ende Zitat ---
Vermutlich waren Anführungsstriche die im ursprünglichen Beitrag html-escaped. Das heißt, du müsstest html rück-escapen. Ich bin mir nicht sicher, ob php dafür eine Funktion hat.
Ich würde auch vorschlagen, noch ein
--- Code: ---. " #pnpde"
--- Ende Code ---
mit einzufügen. Müsste der Text ggf. noch um 7 weitere Zeichen gekürzt werden.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln