Get the post_id of a new post

时间:2012-04-23 作者:roberthuttinger

有几种方法可以在保存后获取帖子的id(自动等),但是有没有方法可以在创建新帖子后立即获取帖子id?

我正在尝试使用post id创建目录,但似乎无法获得静态post id。

下面的代码似乎有效,但每次新帖子自动保存草稿时,我都会得到一个自动递增的id,我会不断得到一个新的数字。

function myfunction( $id ) {
        if (!file_exists("/www/foo/blog/wp-content/uploads/" . $id)) {
            mkdir("/www/foo/blog/wp-content/uploads/" . $id, 0777);
        }
}
add_action(\'save_post\', \'myfunction\');
我想获取将保存为的帖子id。当然,WP有一种方法来确定这一点是否正确?或者草稿是否每分钟自动保存一次,将id递增一次,直到单击实际的“发布”按钮?

有什么想法?

干杯bo公司

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

试试这个。。。

add_action(\'post_updated\', \'myfunction\');

function myfunction( $post_id ) {

    global $post;

        if (!file_exists("/www/foo/blog/wp-content/uploads/" . $post_id)) {
            mkdir("/www/foo/blog/wp-content/uploads/" . $post_id, 0777);
        }
}
NOTE: 更改自save_postspost_updated 这将在其启动时停止重复问题"publish" 但不是每次你打add newupdate

NOTE: 我通过测试上面的代码片段为您验证了这一点-一切都很好。

NOTE: 您还可以使用(wp_upload_dir() . $post_id, 0777) 如果您想要一个更具可移植性的路径,或者如果您正在开发一个插件或主题供公众使用。

结束

相关推荐

Invalid Taxonomy

因此,我注册了一个自定义帖子类型以及该帖子类型的分类法。然后,我在该分类法中创建了两个项目,但当我单击其中任何一个时,发现它们是无效的分类法。下面是我用来创建自定义帖子类型+分类法的代码。我有一个插件。class GW_Guides_Post_Type { public function __construct() { $this->register_post_type(); $this->metaboxes();