How to add and remove a page

时间:2012-08-21 作者:zen

我正在创建一个插件,需要在激活时添加一个新的WP页面,然后我希望它在卸载时删除相同的页面。我是否必须手动将该页面id存储在DB中的某个位置,或者是否有本机WP选项来自动记住该id?

迄今为止我的代码:

register_activation_hook(__FILE__, \'create_page\');
register_uninstall_hook(__FILE__, \'remove_page\');

function create_page() {
    global $user_ID;

    $page[\'post_type\']    = \'page\';
    $page[\'post_content\'] = \'Page content will go here.\';
    $page[\'post_parent\']  = 0;
    $page[\'post_author\']  = $user_ID;
    $page[\'post_status\']  = \'publish\';
    $page[\'post_title\']   = \'Page Title\';
    $pageid = wp_insert_post ($page);
    if ($pageid == 0) {
        echo "Something went wrong. Could not successfully add a new page.";
    }
}

2 个回复
最合适的回答,由SO网友:Barry Carlyon 整理而成

为什么需要创建页面?

可能在插件停用之前,该页面不再存在,因此您的删除功能需要检查它是否存在

但是是的,您需要将ID存储在某个地方。最好的选择是只更新\\u选项(\'icreatedapage\',$pageid);

if ($pageid == 0) {
    echo "Something went wrong. Could not successfully add a new page.";
} else {
    update_option(\'somename_relatedtoyour_plugin_name\', $pageid);
}
如果页面创建失败,你该怎么办?你需要考虑包括如何手动创建它的说明,或者让用户自己做。。。

SO网友:Daniel Chatfield

仅供参考:

一个名为卸载的文件。当插件停用时,php将自动运行。

结束

相关推荐