Kopieren von Post-Meta zu Remote-Seiten

Dieser Code-Ausschnitt zeigt, wie man die Post-Meta auf eine oder mehrere Remote-Seiten kopiert. In diesem Beispiel wird der Wert des Post-Meta yoast_wpseo_title ermittelt und anschließend auf den verknüpften Seiten aktualisiert.

add_action('multilingualpress.metabox_after_relate_posts', function($context, $request) {

    // get post meta value from source site
    $yoastWpseoTitleValue = (string)$request->bodyValue(
        'yoast_wpseo_title',
        INPUT_POST,
        FILTER_SANITIZE_SPECIAL_CHARS
    );

    // switch to remote sites and save post meta
    $remoteSiteId = $context->remoteSiteId();
    $remotePostId = $context->remotePostId();
    switch_to_blog($remoteSiteId);
    update_post_meta($remotePostId, '_yoast_wpseo_title', $yoastWpseoTitleValue);
    restore_current_blog();
}, 10, 2);

Das Beispiel oben zeigt einen Fall, in dem ein Plugin ein Custom Field registriert hat. Aber es ist auch möglich, Custom Fields, die von WordPress über das Custom Fields UI im Post-Editor generiert wurden, zu verbinden. Als Beispiel: Wir haben ein neues Custom Field my-field auf Seite 1 erstellt und wollen nun den Wert desselben Custom Fields auf Seite 2 synchronisieren. Sobald wir ein Custom Field mit demselben Namen auf Seite 2 erstellt haben, können wir die multilingualpress.metabox_after_relate_posts Action wie folgt nutzen:

add_action('multilingualpress.metabox_after_relate_posts', function ($context, $request) {
    // switch to source site
    switch_to_blog($context->sourceSiteId());

    // grab post meta value
    $value = get_post_meta($context->sourcePostId(), 'my-field', true);

    // switch to remote site
    restore_current_blog();

    // update post meta
    update_post_meta($context->remotePostId(), 'my-field', $value);
}, 10, 2);
Inpsyde
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst, und hilft unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.