是的,可以连接到save_post
一个职位类型的操作,并执行wp_insert_post
在其他post类型中。
备注:
只有在创建新帖子时才会生成元框涉及的职位类型有portfolio
和gallery
. 图元框显示在portfolio
并且只包含一个textarea字段,用于自动生成的gallery
发布自动生成的帖子的标题与原始帖子的标题相同调整合适的帖子类型根据需要添加字段调整立柱阵列$add_cpt_clone
根据需要使用$p_id
向自动生成的帖子中添加标签(或自定义分类法)。请参阅此Answer 了解如何
add_action( \'add_meta_boxes\', \'add_custom_box_wpse_76945\' );
add_action( \'save_post\', \'save_postdata_wpse_76945\', 10, 2 );
/**
* Meta box for PORTFOLIO post type
*/
function add_custom_box_wpse_76945()
{
// Show ONLY when creating a NEW POST
global $pagenow;
if( \'post-new.php\' != $pagenow )
return;
// Add meta box to PORTFOLIO
add_meta_box(
\'sectionid_wpse_76945\',
__( \'Create Post in another CPT\' ),
\'inner_custom_box_wpse_76945\',
\'portfolio\'
);
}
/**
* Meta box content
*/
function inner_custom_box_wpse_76945( $post )
{
// Use nonce for verification
wp_nonce_field( plugin_basename( __FILE__ ), \'noncename_wpse_76945\' );
// Field for data entry
echo \'<h4>THE_CONTENT</h4>\';
echo \'<textarea id="the_content_wpse_76945" name="the_content_wpse_76945" cols="90" rows="5"></textarea>\';
}
/**
* Creates a new post in GALLERY post type
*/
function save_postdata_wpse_76945( $post_id, $post_object )
{
// Auto save?
if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE )
return;
// Correct post_type
if ( \'portfolio\' != $post_object->post_type )
return;
// Security
if (
!isset($_POST[\'noncename_wpse_76945\'])
|| !wp_verify_nonce( $_POST[\'noncename_wpse_76945\'], plugin_basename( __FILE__ ) )
)
return;
// Prepare contents
$add_cpt_clone = array(
\'post_title\' => $post_object->post_title,
\'post_content\' => $_POST[\'the_content_wpse_76945\'],
\'post_status\' => \'publish\',
\'post_type\' => \'gallery\'
);
// Insert the post into the database
$p_id = wp_insert_post( $add_cpt_clone );
// Use $p_id to insert new terms
}