如果你的主题内置了主题选项,那么如果人们切换它,如果不是在每个主题中,主题的管理方面就会丢失,因此我要做的是:
将可用主题切换到具有所有后端功能的主题的子主题您必须编辑任何主题,使其成为子主题,并在每次更新时进行编辑。如果这些主题是从存储库或第三方获取的,那么就没有多大乐趣。
或
将主题选项页面功能制作成插件无论主题是什么,它都将可用,您只需插入任何其他您喜欢的主题,而无需编辑它们。
在代码方面,有两个过滤器可以用于主题路由的来源。对于子主题,只需过滤样式表:
add_action( \'setup_theme\', \'switch_user_theme\' );
function switch_user_theme() {
if ( false != ( $user_theme = get_user_meta( wp_get_current_user()->ID, \'theme\', true ) ) ) {
add_filter( \'template\', create_function( \'$t\', \'return "\' . $user_theme . \'";\' ) );
add_filter( \'stylesheet\', create_function( \'$s\', \'return "\' . $user_theme . \'";\' ) );
}
}
注意。使用
switch_theme()
函数更新整个站点的默认主题,而不仅仅是用户。