如何在不中断当前站点的情况下在WordPress中开发新主题

时间:2018-10-17 作者:Alex Eichenmuller

我正在更新我们当前的网站,并希望在不干扰当前网站的情况下构建一个新主题。我该怎么做呢?我可以只添加主题,然后在准备好之前不激活它吗?

3 个回复
SO网友:WebElaine

有两种选择。

第一:有一些插件可以让某些登录用户以不同的主题查看站点。您可以使用其中一个,并为自己启用新主题,直到您准备好进行切换。

第二:将您的站点复制到临时站点并在那里进行实验。最大的潜在缺点是,如果主题有任何设置,那么当你准备切换时,你必须在现场进行设置。然而,如果你的主题有很多设置,这可能是你唯一的选择——你必须查看插件,看看它们是否允许你配置多个主题。

SO网友:Nathan Johnson

您可以使用pre_option_stylesheet 筛选以动态更改样式表。在下面的示例中,我将向普通用户显示在WordPress admin上选择的默认样式表,并使用slug显示不同的主题my-new-theme 对于具有activate_plugins 能力。

/*
 * Plugin Name: WPSE Theme Switch Example
 * Description: Show `my-new-theme` to users with the `activate_plugins` capability.
 * Required PHP: 5.4
 */
namespace StackExchange\\WordPress;

class stylesheet {
  protected $theme = \'my-new-theme\';

  public function get_theme( $theme ) {
    return $this->show_new_theme() ? $this->theme : $theme;
  }

  protected function show_new_theme() {
    return ! \\is_admin() && \\current_user_can( \'activate_plugins\' );
  }
}
\\add_filter( \'pre_option_stylesheet\', [ new stylesheet(), \'get_theme\' ] );

SO网友:Rick Hellewell

对该问题的评论称为“在当地发展”。在本地继续可能会允许您开发和调整新主题,但如何将新主题的设置添加到站点?你不能只是复制数据库;这将覆盖内容。

因此,我想补充一点:在新主题按照您想要的方式调整之前,在本地进行开发。还有一些插件允许您导出和导入主题设置,而不会影响网站的内容。在站点上安装新主题(但不要激活),然后从开发系统导入设置。然后激活新主题并进行彻底测试。

我相信,这样做的好处是,您可以进行调整,而不用担心可能会给实时站点带来问题。

当然,如果新站点要使用新插件,那么插件设置就会出现问题。没有多少插件具有导入/导出设置,因此您必须仔细记录您的插件设置,以便可以在实时站点上进行复制。

(我还没有看过,但也许有一个插件可以导出/导入其他插件的设置。这会很好。)

结束

相关推荐

Wp-Content/Themes/文件夹中的index.php文件

今晚,当我注意到一个索引时,我正在手动将我正在处理的主题上传到我的wordpress安装中。我的主题文件夹中的php文件。我打开了文件,其中只包含以下三行代码:<?php //silence is golden ?> 这让我很担心,起初我想可能是我不小心把文件上传到了主题目录,但文件的内容并不是我想放的任何东西。所以我的意思是,应该有一个索引。我的wp内容/主题/目录中的php文件?还是有人把它放在那里了。或现在我想起来了,可能是我无意中上传了这个文件,然后一个“黑