如何禁用WordPress主题中的更新

时间:2019-03-28 作者:hardik

我正在WordPress网站上工作。在我之前,有一个人在那个网站上工作过。

现在,他在父主题中完成了所有更改,但没有创建子主题。现在,我应该做些什么来防止更新主题?

此外,我知道这几乎是不可能的,但如果有人能建议我采取任何步骤来区分这两个变化。那会更有帮助。

主题是2017年

3 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

首先,修改原始主题而不创建子主题是一个非常糟糕的主意。禁用此类主题的更新更糟糕,因为没有更新,您的站点可能会受到感染或攻击。

因此,长期解决方案是:

检查修改主题的版本如果您需要禁用更新几天,有一种简单的方法可以做到这一点-只需将主题的版本更改为9.9.9-WordPress会认为它比存储库中的更新,并且不会更新。(但是……不要将此黑客行为视为一种解决方案-它只是一个肮脏的临时修复,您仍然应该从上面的几点执行此过程)。

SO网友:butlerblog

我同意Krzysiek已经说过的话——你应该首先使用一个子主题(这个主题设置起来非常简单,所以没有理由不把它作为最佳实践),避免主题更新会导致最终的灾难(这也适用于插件和核心)。

这就是说,虽然将版本号更改为高得离谱的值是一个可行且非常简单的解决方案,但如果开发人员实际发布了高于该版本的内容,或者他们将版本号更改为非标准的内容,则不会真正避免更新。

这里有一个通过更新瞬态处理它的替代方法。第一个示例只是禁用所有主题更新(假设您没有安装其他您确实希望允许更新的主题):

add_filter( \'site_transient_update_themes\', \'remove_update_themes\' );
function remove_update_themes( $value ) {
    return null;
}
如果只想对特定主题执行此操作,则需要在响应值中搜索主题的slug:

add_filter( \'site_transient_update_themes\', \'remove_update_themes\' );
function remove_update_themes( $value ) {

    // Set your theme slug accordingly:
    $your_theme_slug = \'your-theme-slug\';

    if ( isset( $value ) && is_object( $value ) ) {
        unset( $value->response[ $your_theme_slug ] );
    }

    return $value;
}

SO网友:Ray Mitchell

如果问题是阻止直接通过编辑器编辑主题(和插件)。您可以通过wp config进行以下更改。php

打开wp配置。文本编辑器中的php文件

/*仅此而已,停止编辑!快乐的博客*/

添加行define( \'DISALLOW_FILE_EDIT\', true );.

保存并上载文件。检查你的WordPress仪表板,你不应该再看到“外观>编辑器”和“插件>编辑器”上的链接(即使是在管理员帐户上)

相关推荐

Child-theme breaks site

所以,我有一个子主题,里面除了所需的CSS文件之外什么都没有。一旦我激活了这个儿童主题,我的整个网站就关闭了。最后我有两个问题:激活一个只有CSS的子主题怎么能破坏我的网站</我怎样才能回到我原来的主题</这些是网站给我的错误:Warning: require_once(/wp-content/themes/interio_child/admin/options-framework.php) [function.require-once]: 无法打开流:中没有此类文件或目录/wp-c