从quick look来看,WP似乎以PHP和JS双方都使用的方式处理主题数据数组。
结果通过wp_prepare_themes_for_js
过滤器,这似乎是一个合适的地方,可以根据需要覆盖屏幕截图URL。
这在我的dev安装中起到了作用:
add_filter( \'wp_prepare_themes_for_js\', function ( $themes ) {
$themes[\'r-test\'][\'screenshot\'][0] = \'http://dev.rarst.net/wordpress/src/wp-content/themes/twentyfifteen/screenshot.png\';
return $themes;
} );
当然,细微差别在于,主题必须运行才能执行其代码。如果需要对非活动主题执行此操作,则必须将代码放置/运行在非活动主题之外。