Code ausführen, wenn die “Kopiere Inhalt des Quell-Posts” Option aktiviert ist
In diesem Tutorial werden wir zeigen, wie man einen Code-Ausschnitt ausführt, wenn die Option Kopiere Inhalt des Quell-Posts in der Übersetzungs-Metabox ausgewählt ist.
Inhaltsverzeichnis
Die Übersetzungs-Metabox
In einer Metabox für Übersetzungen können einige Einstellungen zu Post-Übersetzungen vorgenommen werden, die auf einer anderen Sprachunterseite verfügbar sind. Wenn du einen Post editierst, kannst du die Übersetzungs-Metabox gleich unter dem Content finden. Es wird eine Metabox für jede Sprachseite geben, die über MultilingualPress verbunden ist.
In jeder Metabox ist es möglich, schnell einige Optionen einzustellen, die den Post-Inhalt und die Einstellung auf der verbundenen Sprachunterseite betreffen. Auf diese Weise können alle benötigten Optionen direkt auf einer Seite konfiguriert werden.
Die Option “Kopiere Inhalt des Quell-Posts” ermöglicht es dir, den gesamten Content eines Posts in den verbundenen Übersetzungs-Post zu kopieren.
Weitere Informationen gibt es hier: https://multilingualpress.de/doku/erste-schritte-mit-multilingualpress-3/
Code filtern und Snippet ausführen
Wenn du Code nur dann ausführen musst, wenn diese Option aktiviert ist, kannst du den multilingualpress.sync_post_meta_keys-Filter verwenden.
Im Folgenden zeigen wir ein Beispiel einer solchen Implementierung.
add_filter('multilingualpress.sync_post_meta_keys', function($keysToSync, $context, $request) { $multilingualpress = $request->bodyValue( 'multilingualpress', INPUT_POST, FILTER_DEFAULT, FILTER_FORCE_ARRAY ); $remoteSiteId = $context->remoteSiteId(); $translation = $multilingualpress["site-{$remoteSiteId}"] ?? ''; if(!empty($translation) && $translation['remote-content-copy'] === '1') { // Copy source content checked in metabox } return $keysToSync; }, 10, 3);
Hier sehen wir, wie du durch die Verwendung des Filter-Hooks multilingualpress.sync_post_meta_keys die Metaboxen aus dem Kontext ziehen und durchlaufen kannst.
Während dem Durchlaufen kannst du den Status des verbundenen Array-Schlüssels remote-content-copy überprüfen. Dieser Wert wird entsprechend zur Kopiere Inhalt des Quell-Posts-Option festgelegt.
Ersetze zum Schluss den Kommentar “Copy source content checked in metabox” mit deinem Code-Snippet. Dieses wird durchlaufen, wenn der Status 1 ist.