Seit Dezember 2025 benutze ich das Plugin. Eigentlich toll, aber: Jedesmal wenn ich dann einen Beitrag bearbeite - fehlerhafte Links, etc. - wird ja die Timeline geflutet. Das Plugin zu deaktivieren ist ja auf Dauer auch keine Option. Hat da schon jemand Erfahrung mit Filtern als MU- Plugin gemacht? In der Function.php greifen die nämlich nicht
Verhalten des ActivityPub-Plugin
-
-
Endlich, es funktioniert doch in der functions.php
-
Was genau hast du wie gemacht? Und welches Plugin nutzt du? MU sagt mir jetzt nichts.
Wäre sicher interessant zu erfahren, wenn du Zeit zum Erklären hast.
-
Mach ich später vom Rechner aus. Eine ganz schöne Aktion.
-
Was ich wollte: Beiträge vor Installation des Plugins sollten per URL im Fediverse aufrufbar sein, aber nicht in die Fediverse-Timeline gespült werden. Beiträge nach Installation sollten bei Erstellen aktiv ins Fediverse, aber die Bearbeitung sollte nicht in die Fediverse-Timeline und schon gar nicht die Follower zuspammen.
Ich habe das mit Hilfe von Chatty, zig-Fehlversuchen jetzt über folgende Zeilen in der functions.php meines Child-Themes gelöst.
/** 03.04.2026 - Passive Sichtbarkeit AN / Aktiver Push AUS */
add_filter( 'activitypub_activity', function( $activity, $object_id, $activity_type ) {
$post = get_post( $object_id );
if ( ! $post ) return $activity;$post_date = strtotime( $post->post_date );
$cutoff = strtotime( '2026-01-01 00:00:00' );// Wenn der Post vor 2026 erstellt wurde:
if ( $post_date < $cutoff ) {
// Wir blockieren den AKTIVEN VERSAND (null),
// aber wir lassen das Objekt im Blog für die URL-Suche EXISTIEREN.
return null;
}// Für neue Posts ab 2026: Blockiere nur Edits (Updates)
if ( 'Update' === $activity_type ) {
return null;
}return $activity;
}, 10, 3 );Ein 12. September 2010 erstellter Beitrag ist im Fediverse aufrufbar, erscheint aber nicht in der Timeline und kein Follower wurde darüber benachrichtigt. Ein MU-Plugin ist ein Must-Use Plugin im Verzeichnis wp-content/mu-plugins, das ggf. erstellt werden muss. Und dann ist das "Plugin" einfach eine Textdatei die mit
<?php
/**
* Plugin Name: Name.php
*/ und dem Filter ist. Ein MU-Plugin hätte in etwa dieselben Filterzeilen enthalten. Es wird aber vor der functions.php des Child geladen, die im Gegensatz zum MU-Plugin im Backend bearbeitet werden kann. Ab jetzt sollten in meiner Fediverse-Timeline nur noch neue Beiträge in chronologischer Reihenfolge erscheinen und die alten Beiträge können in Ruhe bearbeitet werden.
-
Da scheint auch was dafür in Entwicklung zu sein.
Feature Request: Avoid sending Update activities when federated content hasn't changed · Issue #3092 · Automattic/wordpress-activitypubWhat When a published post is saved, the plugin should compare the relevant federated content (title, content, excerpt, etc.) before and after the edit. If…github.com -
Prima, aber bis dahin flute ich nicht mehr meine Timeline, wenn ich Blogbeiträge aus was für Gründen auch immer, bearbeite
-
Tja, das war wohl doch nicht die Lösung, ich beglücke gerade meine Timeline doch wieder mit alten Beiträgen ...
-
Ich bin ja hartnäckig: Scheint als MU-Plugin zu fruchten Meine Timeline wurde mit einem uptdate eines Beitrages von November letzten Jahres nicht beglückt
<?php
/**
* Plugin Name: Küchenlatein Fediverse-Schranke (MU)
* Description: 1. Vor 2026: Absolute Sendesperre. 2. Ab 2026: Nur Erstveröffentlichung, keine Updates.
*/add_action( 'plugins_loaded', function() {
// REGEL 1: Der Hauptschalter (Sperrt den Versand für alles vor 2026)
add_filter( 'activitypub_is_post_federated', function( $is_federated, $post_id ) {
$post = get_post( $post_id );
$cutoff = strtotime( '2026-01-01 00:00:00' );if ( $post && strtotime( $post->post_date ) < $cutoff ) {
return false; // Sagt dem Plugin: "Diesen Post darfst du nicht senden"
}
return $is_federated;
}, 999, 2 );// REGEL 2: Der Versand-Filter (Blockiert Updates für ALLE Posts)
add_filter( 'activitypub_activity', function( $activity, $object_id, $activity_type ) {
$post = get_post( $object_id );
$cutoff = strtotime( '2026-01-01 00:00:00' );// Fall A: Beitrag ist alt (vor 2026) -> STOPP
if ( $post && strtotime( $post->post_date ) < $cutoff ) {
return false;
}// Fall B: Beitrag ist ein UPDATE (Bearbeitung) -> STOPP
if ( in_array( $activity_type, array( 'Update', 'Edit' ) ) ) {
return false;
}return $activity;
}, 999, 3 );}, 20 );
Mach mit!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich jetzt und werde kostenlos Mitglied bei den Bloghexen!