根据域名显示自定义主页文本

时间:2013-12-19 作者:Shawn

我正在运行5个站点的多站点。我有一个主题,在页面顶部没有文本区域,但我想在主页上放一些介绍文本。我目前有5个网站使用相同的子主题来保持相同的外观和布局。

根据域向每个站点的主页添加自定义文本的最佳方法是什么?我会用一个快捷码和函数来编辑子主题文件吗。php?

我是一名开发人员,但对wordpress还是很陌生的。一个简单的代码示例将非常有用。

如果有办法让它成为一个可以在管理员中编辑的小部件,这样我就可以在代码之外更改文本,那么我将获得额外的积分和荣誉。

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

最好的解决方案是添加一个所有站点都有权使用的小部件区域,然后添加一个文本小部件。

我是如何处理这个问题的,因为我使用了一个子主题,我添加了一个函数。并复制了索引的副本。php从父主题文件导入子主题文件夹。

我的基本步骤与toscho发布的解决方案中的步骤相同:https://wordpress.stackexchange.com/a/76975/35677

这使得所有站点都有一个可扩展的区域,这就是我想要的。另一个注意事项是让我的小部件使用css,而我使用的主题的自定义小部件需要一些操作。我的主题包括自定义小部件,这些小部件是默认的,带有小部件“标题”的特殊格式“换行符”,然后是小部件“内容”。

在我的例子中,我能够让它像主题本地小部件一样运行,比如:

function welcome() {
    register_sidebar( array(
        \'name\' => \'Welcome Message\',
        \'id\' => \'welcome\',
        \'before_widget\' => \'<div class="widget-top">\',
        \'after_widget\' => \'</div>\',
        \'before_title\' => \'<h4>\',
        \'after_title\' => \'</h4><div class="stripe-line"></div></div><div class="widget-container">\',
    ) );
}
add_action(\'widgets_init\', \'welcome\');
正如你所看到的,我不得不做一些自定义标记结束,以使其工作相同。

SO网友:Brad Dalton

如果您可以从子主题函数文件将其挂钩,并使用条件标记进行更多控制,那么我不会这样做。

function wpsites_register_home_text_widget() {

register_sidebar( array(
\'name\' => \'Home Text Widget\',
\'id\' => \'home-widget\',
\'before_widget\' => \'<div>\',
\'after_widget\' => \'</div>\',
) );
}

add_action( \'widgets_init\', \'wpsites_register_home_text_widget\' );

add_filter( \'loop_start\', \'wpsites_home_text_widget\' );

function wpsites_home_text_widget() {


    if ( is_front_page() && is_active_sidebar( \'home-widget\' ) ) { 
    dynamic_sidebar(\'home-widget\', array(
    \'before\' => \'<div class="home-widget">\',
    \'after\' => \'</div>\',
) );


    }

}
您可以使用任何挂钩或conditional tag 使用此代码。WordPress or theme specific hooks 所有操作都使用此代码。

结束

相关推荐

Copy Root Multisite Site

我在WordPress中创建了一个多站点安装,位于example.com 网站位于example.com/site1, example.com/site2 等是否可以创建example.com 在example.com/site3?Blog Copier 和NS cloner 由于某种原因,不允许您创建根站点的副本。这背后的技术限制是什么?