可湿性粉剂多站点-如何创建一个定制的“路由器”的博客前缀?

时间:2013-01-30 作者:user26750

我正在尝试为WP Mutliste网络创建自定义路由。

如果您熟悉WPMS,您就会知道网络上每个博客的db表都是从以下内容开始的{prefix}_2_. 通常,访问mysite.com/blogname 是什么带你到博客的主页。我想做的是mysite.com/2 (查找数字URI)路由到数据库表以开头的博客主页{prefix}_2_.

这可能吗?

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

可能您正在寻找URL重写(.htaccess) 答案是,但一个简单的解决方案是为站点名称提供ID。

site name as id

不相关,但很有用:在站点屏幕中添加一列站点ID(/wp-admin/network/sites.php).

将插件放入mu-plugins 文件夹

<?php
/**
 * Plugin Name: Multisite - Add Site ID Column
 * Version: 0.1
 * Author: brasofilo 
 */

add_filter( \'wpmu_blogs_columns\', \'brsfl_get_id\' );
add_action( \'manage_sites_custom_column\', \'brsfl_add_columns\' , 10, 2 );
add_action( \'manage_blogs_custom_column\', \'brsfl_add_columns\' , 10, 2 );
add_action( \'admin_head-sites.php\', \'brsfl_add_style\' );

function brsfl_get_id( $columns ) 
{
    $columns[\'blog_id\'] = __(\'ID\');
    return $columns;
}

function brsfl_add_columns( $column_name, $blog_id ) 
{
    if ( \'blog_id\' === $column_name )
    {
        echo $blog_id;
    }
    return $column_name;
}

function brsfl_add_style() 
{
    echo \'<style>#blog_id { width:7%; }</style>\';
}

结束

相关推荐

在插件中对MultiSite使用Add_Option而不是Add_Blog_Option有什么错

我正在开发一个新插件,但这是我第一次保存它,它将把一个选项保存到数据库中。目前我正在使用add_option 我假设,-激活会失败,或者-将错误的值保存到wp_blogID_options表中因为我没有使用add_blog_option. 所有的posts / 我读过的文献(Wrox、Apress等)说我需要习惯add_blog_option. 但我所有的测试(和检查SQL表)都证明我错了。所以在制作插件(可以是单点安装或多站点安装)时,使用add\\u选项而不是add\\u blog\\u选项有什么错