我是否可以设置在每次创建新博客时创建一些默认页面

时间:2010-08-30 作者:user391

创建新博客时,将自动创建类似“about”的页面。同样,我需要一些其他页面,当在我的多站点下创建博客时,这些页面应该会自动出现。

如何配置在多站点下使用新博客创建的默认页面?

例如:如果我有一个多站点example.com. 在此网站下创建的每个博客都应该有主页、关于、我的店铺和地址。

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

我建议在函数中创建一个函数。绑定到动作挂钩的php文件activate_blog. 使用WordPress功能get_pages() 查看是否存在默认页面。如果没有,请使用wp_insert_post.

add_action(\'activate_blog\',\'my_default_pages\');

function my_default_pages(){
    $default_pages = array(\'About\',\'Home\',\'My Store\',\'My Address\');
    $existing_pages = get_pages();

    foreach($existing_pages as $page){
        $temp[] = $page->post_title;
        }


    $pages_to_create = array_diff($default_pages,$temp);

    foreach($pages_to_create as $new_page_title){

            // Create post object
            $my_post = array();
            $my_post[\'post_title\'] = $new_page_title;
            $my_post[\'post_content\'] = \'This is my \'.$new_page_title.\' page.\';
            $my_post[\'post_status\'] = \'publish\';
            $my_post[\'post_type\'] = \'page\';



            // Insert the post into the database
            $result = wp_insert_post( $my_post );

        }
        }
要在您自己的站点上测试此功能,请尝试将挂钩设置为wp_head. 它将在每次页面加载时运行,并插入不存在的页面,内容为$my\\u post[\'post\\u content\']*在多站点上下文中创建博客时,“activate\\u blog”挂钩是否运行?我不知道*

有关可用默认参数的完整列表,请参阅我链接到的wp\\u insert\\u post的codex页面。

结束

相关推荐