Comment puis-je créer par programme une connexion entre un type de publication personnalisé, cpt (avec son identifiant connu) à un autre sur cpt lors de la publication?
J'utilise la méthode de publication frontale de de VoodooPress pour publier un type de message appelé post-type-A . Un champ de saisie du formulaire post-type-A est le numéro d’inventaire public qui, grâce à un amour de wp_query, me donne l’identifiant de la publication post-type-B que je souhaite créer une relation avec.
Je sais que je peux utiliser this function pour créer une connexion à sens unique de post-type-A à post- tapez B en utilisant un champ personnalisé.
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);
}
}
Mais comment puis-je créer une connexion par programme en utilisant le Posts 2 Posts plugin de @ Scribu? Une relation à double sens réduirait beaucoup de problèmes et de temps de programmation. :)
Pour référence, l'extrait ci-dessous est le connect api reference du 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 );
}
Il suffit d'appeler p2p_connect( $id_of_post_type_a, $id_of_post_type_b );
dans le code de traitement du formulaire.