因此,我在主题的定制器中有一个页面选择,还有一些代码,可以在用户选择其他页面时更改预览:
api(\'gm_pages\', function (setting) {
var pageID = setting.get();
setting.bind( function onChange( pageID ) {
api.previewer.previewUrl.set(api.settings.url.home + \'?page_id=\' + pageID);
})
});
我使用这个简单的插件,以便用户可以将自定义设置重置为默认设置:
https://plugins.trac.wordpress.org/browser/customizer-reset-by-wpzoom/trunk
当你点击一个按钮时,你会看到一个警告弹出窗口,如果你点击它,插件会删除theme\\u mod数据并刷新整个网站。
我遇到的问题是,当我这样做时,页面下拉选项会返回到默认的“主页”,但预览URL不会更新,并停留在用户选择的最后一个页面上。如果我控制台。日志(pageID);正确的页码(显示在选择框中)显示,这是由于某种原因无法运行的预览。
编辑:我可以将此行添加到:
if (performance.navigation.type === 1) {
api.previewer.previewUrl.set(api.settings.url.home + \'?page_id=\' + pageID);
}
这就是诀窍,但我如何有条件地做到这一点,而不需要两行相同的代码?