滤镜,或任何方式来动态改变主题截图图像?

时间:2016-07-18 作者:C C

我正在WordPress上构建一个web应用程序。其中一部分是根据我的用户所处的行业自动重新配置主题资产。例如,主题将根据登录用户的行业从库存背景或幻灯片放映图像库中自动选择。

我希望用户也能看到与他们所在行业相匹配的主题快照,这样主题选择看起来会更好。

除了创建一堆子主题之外,还有什么方法可以动态更改主题吗screenshot.png?

到目前为止,我唯一想到的是在客户端使用JQuery直接操作DOM。我想要一个服务器端解决方案。

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

从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;
} );
当然,细微差别在于,主题必须运行才能执行其代码。如果需要对非活动主题执行此操作,则必须将代码放置/运行在非活动主题之外。

相关推荐