在多站点站点>信息页面中添加站点选项UI

时间:2013-06-21 作者:Fabien Quatravaux

我想为网络中的站点添加元字段(例如缩略图和类别)。我知道如何使用get/add/update_site_option, 但我想知道我可以把UI放在哪里来管理这些元字段。

最好的地方是Sites > Infos 页面,就在站点属性之后,但我找不到任何挂起的钩子。我可以在同一屏幕的“设置”选项卡中添加这些字段,但必须向下滚动很多才能找到它,而且它与高级设置混合在一起。

有什么建议吗?

3 个回复
最合适的回答,由SO网友:Fabien Quatravaux 整理而成

我终于找到了向Sites>Infos表添加更多行的方法:My own option in the Sites > Infos table

虽然有点难看,但它确实管用。我只是简单地使用动作admin_footer 在页面末尾添加一组HTML代码,然后使用jQuery将其移动到正确的位置。

add_action(\'admin_footer\', \'user16975_custom_options\');
function user16975_custom_options(){
    global $pagenow;
    if( \'site-info.php\' == $pagenow ) {
        ?><table><tr id="user16975_custom_options">
            <th scope="row">My own option</th>
            <td><input type="text"/></td>
        </tr></table>
        <script>jQuery(function($){
            $(\'.form-table tbody\').append($(\'#user16975_custom_options\'));
        });</script><?php
    }
}
好的方面是,只要钩子可用,我就可以使用它,而无需对代码进行重大更改。

SO网友:Misha Rudrastyh

首先,我同意,核心的这一部分没有特定的挂钩,允许在那里创建自定义设置字段。但无论如何,这是可能的。

WordPress有network_edit_site_nav_links 允许创建自定义选项卡的过滤器挂钩。

但是新选项卡的页面没有挂钩,但这无论如何都不是问题,因为您可以使用简单的选项页面和少量CSS代码来实现结果。

在本教程中,所有内容都是按步骤描述的https://rudrastyh.com/wordpress-multisite/custom-tabs-with-options.html (我认为没有理由将所有代码从那里复制到此线程)。

SO网友:Pat J

站点信息管理页面的代码如下:http://core.trac.wordpress.org/browser/trunk/wp-admin/network/site-info.php

遗憾的是,中似乎没有任何挂钩或筛选器site-info.php 密码

看起来您必须创建自己的管理页面--可能在wp-admin Settings 菜单--处理{$verb}_site_option 密码

结束