在多站点中将静态页面设置为新建站点的默认首页

时间:2013-07-13 作者:Sherry

如何将静态页面(每个WordPress安装的示例页面)设置为多站点网络上每个新创建站点的默认fron页面。我的意思是,当一个新用户在我的多站点网络上创建一个站点时,一个具有自定义名称的页面会自动设置为首页。请告诉我如何做到这一点。

4 个回复
SO网友:brasofilo

请尝试以下代码。基于这两个问题;A(未测试):

add_action( \'wpmu_new_blog\', \'process_extra_field_on_blog_signup\', 10, 6 );

function process_extra_field_on_blog_signup( $blog_id, $user_id, $domain, $path, $site_id, $meta ) {
    switch_to_blog($blog_id);
    $homepage = get_page_by_title( \'Sample Page\' );   
    if ( $homepage )
    {
        update_blog_option( $blog_id, \'page_on_front\', $homepage->ID );
        update_blog_option( $blog_id, \'show_on_front\', \'page\' );
    }
    restore_current_blog();
}
将其用作Must Use 插件。

SO网友:VINEET SHARMA

Wordpress提供了一个功能update_option 在网络多站点中创建新博客时,以默认编程方式设置静态页面。

function my_new_blog_settings($blog_id, $user_id) {

    // set static front page in general settings
    update_option( \'show_on_front\', \'page\', true);

    // set the static page based on page ID 
    update_option( \'page_on_front\', $page_id, true);
}
可以使用操作“wpmu\\u new\\u blog”调用上述给定代码

add_action(\'wpmu_new_blog\', \'my_new_blog_settings\', 10, 2);

SO网友:Kees

小心,wpmu\\u new\\u博客已被弃用。改用wp\\U insert\\U站点。为了给出正确的概述,现在可以回答以下问题:

function process_extra_field_on_blog_signup( $new_site ) {
    $blog_id = $new_site->blog_id;
    switch_to_blog($blog_id);
    $homepage = get_page_by_title( \'Sample Page\' );   
    if ( $homepage )
{
    update_blog_option( $blog_id, \'page_on_front\', $homepage->ID );
    update_blog_option( $blog_id, \'show_on_front\', \'page\' );
}
restore_current_blog();

}
add_action( \'wp_insert_site\', \'process_extra_field_on_blog_signup\', 10, 6 );

SO网友:ksr89

1) 要设置第一页,可以将新页添加为home.php 在您的目录中。Wordpress默认采用home.php 如果已声明,则作为其第一页。

2) 转到设置->阅读->首页显示。您可以在此处设置网站打开时显示的首页。

结束