it-swarm.com.de

Wie erstelle ich programmatisch eine Verbindung mit [Plugin: Posts 2 Posts] auf cpt publish?

Wie kann ich programmgesteuert eine Verbindung zwischen einem benutzerdefinierten Beitragstyp (cpt) (mit bekannter Beitrags-ID) und einem anderen Beitragstyp (cpt on publish) herstellen?

Ich verwende die VoodooPress-Front-End-Posting-Methode , um einen Post-Typ namens post-type-A zu veröffentlichen. Ein Eingabefeld in der Form nach Typ A ist die öffentliche Inventarnummer, die mir durch eine gewisse Liebe zu wp_query die Beitrags-ID des nach Typ B mit denen ich eine Beziehung aufbauen möchte.

Ich weiß, dass ich diese Funktion verwenden kann, um eine Einwegverbindung von nach Typ A zu nach Typ A herzustellen. Typ B mit einem benutzerdefinierten Feld.

add_action('publish_page', 'add_custom_field_automatically');
add_action('publish_post', 'add_custom_field_automatically');
function add_custom_field_automatically($post_ID) {
    global $wpdb;
    if(!wp_is_post_revision($post_ID)) {
        add_post_meta($post_ID, 'field-name', 'custom value', true);
    }
}

Aber wie erstelle ich programmgesteuert eine Verbindung mit @ Scribus Posts 2 Posts plugin? Eine wechselseitige Beziehung würde viel Aufwand und Programmierzeit reduzieren. :)

Als Referenz ist das folgende Snippet die connect-API-Referenz für das Plugin ...

/**
 * Connect a post to another one
 *
 * @param int $post_a The first end of the connection
 * @param int $post_b The second end of the connection
 * @param bool $bydirectional Wether the connection should be bydirectional
 */
function p2p_connect( $post_a, $post_b, $bydirectional = false ) {
        add_post_meta( $post_a, P2P_META_KEY, $post_b );

        if ( $bydirectional )
                add_post_meta( $post_b, P2P_META_KEY, $post_a );
}
3
torinagrippa

Rufen Sie einfach p2p_connect( $id_of_post_type_a, $id_of_post_type_b ); im Formularbehandlungscode auf.

6
scribu