如何以编程方式设置分类

时间:2011-12-10 作者:JasonDavis

这是我的情况。我计划发布一个我正在处理的主题,它有一个自定义的帖子类型,名为Code 它有一个定制的分类法叫做Languages 现在,我还使用了一个带有可用语言下拉列表的自定义元框,我需要以某种方式使他们在选择下拉框中选择的值不仅保存为元值(它已经保存了),而且还需要将该值作为该帖子的分类法

因此,如果他们发表文章并在meta\\u框中选择语言“PHP”,那么当他们发表文章时,就会选择“PHP”分类法。我计划隐藏分类法UI并自动填充所有可能的分类法术语

1) 如何使metabox值除了保存meta\\u值之外,还保存为该帖子的分类法?

更新

好的,我找到了一个可能的解决方案,wp_set_object_terms( 123, \'PHP\', \'tag\' ); 将在post ID 123中添加PHP标记分类法。

所以我只需要知道在发布帖子时如何获取帖子ID,这是否可能,因为该帖子还没有在DB中发布在新帖子上?有什么想法吗

1 个回复
最合适的回答,由SO网友:Michal Mau 整理而成

你应该将你的行动与save_post 钩它在创建帖子后立即激发$post_id 和其他$post 数据变量已可用。

像这样的事情应该可以做到:

add_action( \'save_post\', \'jason_code_save_post\', 10, 2 );

function jason_code_save_post( $post_ID, $post ) {

     if ( \'code\' != $post->post_type || wp_is_post_revision( $post_ID ) )
          return;

     wp_set_object_terms( $post_ID, \'PHP\', \'tag\' );

}
请参见Plugin_API/Action_Reference/save_post.

如果需要更多解释,请告诉我。。。

结束

相关推荐