如何对WordPress核心文件进行更改并使其不受WordPress更新的影响?

时间:2018-05-28 作者:Vlado Pandžić

我在IIS上安装了WordPress,它被重写了。因此,我在wp_includes/canonical.php 文件

我想,当我更新我的WordPress时,我所有的更改都会消失。

我等不及WordPress来修复这个问题(我甚至不知道它是不是bug或者如何报告),因为这个“bug”导致我的主页进入重定向循环。

我做了一些改变redirect_canonical 该文件中的函数具体说明此更改:

function redirect_canonical( $requested_url = null, $do_redirect = true ) {
    ///some other code 
    if ( ! $requested_url && isset( $_SERVER[\'HTTP_HOST\'] ) ) {
        // build the URL in the address bar
        $requested_url  = is_ssl() ? \'https://\' : \'http://\';
        //$requested_url=$_SERVER[\'HTTP_HOST\'] //I deleted this because my URL is rewritten 
        $asParts = parse_url( $sURL ); // PHP function
        $requested_url .= $asParts[\'host\'] ;
        $requested_url .= $_SERVER[\'REQUEST_URI\'];
如何使此更改抵抗WordPress更新?

1 个回复
SO网友:Krzysiek Dróżdż

好的,这里有不止一个问题,所以让我来解决其中一些。。。

为什么不应该修改WordPress核心文件

简而言之。。。因为以后真的很难管理。。。如果您修改了核心,那么您将无法更新它-那么,当有安全更新时,又会怎样呢?你能足够快地更新你的网站吗?你确定你的修改不会破坏任何东西吗?

另一个原因是你不需要这样做。大多数情况下,您只需要使用一些过滤器/操作,无需进行任何修改。。。

以下是一些问题和链接,有助于加深对该主题的理解:

  • Modifying WordPress core files
  • https://getflywheel.com/layout/wp-core/好的,所以您真的,真的需要修改一些核心文件,并且您完全理解这些修改的后果。您修改了这些文件,现在希望确保WP在更新期间不会覆盖这些文件。。。

    您可以使用WP_AUTO_UPDATE_CORE 常数:

    define( \'WP_AUTO_UPDATE_CORE\', false );
    
    把它放在你的wp-config.php.

    您仍然可以作为管理员进行更新,但这更容易管理。尽管您必须记住将您的修改与新的WP版本合并。

    另一种方法是完全禁用更新,并使用GIT等进行管理。

    我发现了一个bug。接下来呢

    如果你认为这是WP中的一个bug,那么你应该报告它。在这里,您可以找到有关如何执行此操作的一些信息:

    https://make.wordpress.org/core/handbook/testing/reporting-bugs/

    没那么难:)

结束

相关推荐