如何在激活一个主题的同时创建多个页面

时间:2011-01-21 作者:haha

我想在用户激活我的主题时创建5个页面。我从中找到一个代码wpcanyon 只能创建一个页面。根据这段代码,我如何创建5个页面而不重复5次。

if (isset($_GET[\'activated\']) && is_admin()){

    $new_page_title = \'This is the page title\';
    $new_page_content = \'This is the page content\';
    $new_page_template = \'\'; //ex. template-custom.php. Leave blank if you don\'t want a custom page template.

    //don\'t change the code bellow, unless you know what you\'re doing

    $page_check = get_page_by_title($new_page_title);
    $new_page = array(
        \'post_type\' => \'page\',
        \'post_title\' => $new_page_title,
        \'post_content\' => $new_page_content,
        \'post_status\' => \'publish\',
        \'post_author\' => 1,
    );
    if(!isset($page_check->ID)){
        $new_page_id = wp_insert_post($new_page);
        if(!empty($new_page_template)){
            update_post_meta($new_page_id, \'_wp_page_template\', $new_page_template);
        }
    }

}
让我知道。

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

嗯,只需重复页面创建代码几次,提供不同的内容等等。这有什么问题吗?。。

SO网友:Paul

Try this:

if (isset($_GET[\'activated\']) && is_admin()){
    add_action(\'init\', \'create_initial_pages\');
}

function create_initial_pages() {
    $pages = array(
        \'page1\' => \'Page 1\',
        \'page2\' => \'Page 2\',
        \'page3\' => \'Page 3\',
        \'page4\' => \'Page 4\',
        \'page5\' => \'Page 5\'
    );
    foreach($pages as $key => $value) {
        $id = get_page_by_title($value);
        $page = array(
            \'post_type\'   => \'page\',
            \'post_title\'  => $value,
            \'post_name\'   => $key,
            \'post_status\' => \'publish\',
            \'post_author\' => 1,
            \'post_parent\' => \'\'
        );
        if (!isset($id)) wp_insert_post($page);
    };
}
结束

相关推荐

Custom theme - pages in menu

我很高兴有机会成为这个社区的一员。最近我决定开始学习wordpress和主题构建,所以这是我在这里的第一篇帖子。我在网上阅读了一些关于如何构建自定义主题的教程。我的问题是,如何构建自定义菜单?例如,我在psd上有模板,我将其切片,然后我想将其集成到wordpress上。我支持先构建页面。那么,如何使用自定义css/xhtml构建菜单,使每个链接都指向我创建的页面?也许描述不清楚,但我想你明白我的意思。提前感谢。