1つのカスタム投稿タイプcpt(投稿IDがわかっている)と公開中のcptの間の接続をプログラムで作成するにはどうすればよいですか?
post-type-A という投稿タイプを公開するために、 VoodooPressのフロントエンド投稿方法 を使用しています。 ポストタイプ-A フォームの1つの入力フィールドは公開インベントリ番号です。これにより、wp_queryを使用してポストタイプの投稿IDを取得できます。との関係を築きたいB 。
私は this 関数を使って post-type-A から一方向の接続を作成できることを知っていますカスタムフィールドを使用して post-type-B に。
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);
}
}
しかし、どのようにして@ Scribuの Posts 2 Posts プラグインを使用してプログラム的に接続を作成するのですか?双方向の関係は、面倒なプログラミング時間を大幅に削減します。 :)
参考までに、以下のコードはプラグインの connect api reference です...
/**
* 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 );
}
フォーム処理コードでp2p_connect( $id_of_post_type_a, $id_of_post_type_b );
を呼び出すだけです。