将Slug作为自定义帖子类型的ID号

时间:2014-09-06 作者:Nate

我想让每个自定义帖子类型的slug成为帖子ID号。我该怎么做?我的帖子都不接受帖子标题、内容或任何其他内容——它们需要不同的数据,这些数据更容易显示为元框)。举例说明:

我有一个CPT(“教育”)。当我将帖子提交到数据库时,它的ID是,比如说,15。当我访问我的网站时。com/edu/15(“edu”是我设置的帖子slug),我在我的网站上看到了这篇帖子的详细信息。

我知道我可以简单地更改永久链接,但我希望它们保持原样;我只想更改这些自定义帖子类型的帖子。如果问题让人困惑,很抱歉。答案可能很简单,但我真的不知道答案是什么。

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

下面是一种如何更改slug的方法:

add_action(\'wp_insert_post\', \'change_slug\');
function change_slug( $post_id ) {

       // Making sure this runs only when a \'eduation\' post type is created
       $slug = \'eduation\';
       if ( $slug != $_POST[\'post_type\'] ) {
          return;
       }


       wp_update_post( array(
        \'ID\' => $post_id,
        \'post_name\' => $post_id // slug
       ));

}

结束