发布时更改自定义POST_TYPE

时间:2015-03-10 作者:emti

我想在发布“prototyp”(单击“prototyp”的发布按钮)时,将post\\u类型从“prototyp”更改为“gutschein”。

有没有一种方法可以通过函数自动实现这一点?

编辑编号2:Don´t know why, but it still doesn´t seem to work (for me):

function on_post_publish( $ID, $post ) {

    if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE ) {
        return;
    }

    if ( ! current_user_can( \'edit_post\', $post_id ) ) {
        return;
    }
if ( get_post_type( $post_id ) == \'prototyp\' ) {
    set_post_type( $post_id, \'gutschein\' );
    }
}
add_action(  \'publish_prototyp\',  \'on_post_publish\', 10, 2 );

1 个回复
SO网友:bueltge

它提供了一个钩子来初始化您的函数以满足需求。钩子{status}_{post_type} 是你的右钩拳。如果触发了此挂钩,则可以启动自定义函数来更改帖子类型。对于自定义帖子类型“prototyp”,请使用publish_prototyp.

另请参见关于挂钩的法典,以及从旧状态到新状态的挂钩http://codex.wordpress.org/Post_Status_Transitions

用于更改职位类型的功能set_post_type 您的正确选择。有关更多信息,请参见codex页面。http://codex.wordpress.org/Function_Reference/set_post_type

结束

相关推荐