【问题标题】:Adding code to wp-settings.php/changing table prefix for posts将代码添加到 wp-settings.php/更改帖子的表前缀
【发布时间】:2014-07-27 02:49:39
【问题描述】:

在 WordPress 中将代码添加到 wp-settings.php 是否安全?我主要担心的是该文件将来会被更新重写?

我需要能够在多个 WordPress 安装之间共享帖子,因此我共享一个数据库,并且只更改帖子和 postmeta 表的表前缀。我希望表前缀对于其他所有内容保持不变。只要我将以下代码放在 wp-settings.php 中,它就可以正常工作。

$wpdb->posts = 'newprefixx_posts';
$wpdb->postmeta = 'newprefix_postmeta';

我还没有找到可以用来做同样事情的动作钩子,但是如果有人知道那将是我的首选方法。

谢谢。

【问题讨论】:

标签: php mysql wordpress-theming wordpress


【解决方案1】:

您可以在运行时通过为$wpdb->prefix 分配一个新值来设置前缀

http://codex.wordpress.org/Class_Reference/wpdb#Class_Variables

无论哪种方式,都不建议对核心文件进行任何更改。

随着时间的推移,您可能会忘记您所做的更改。

【讨论】:

    【解决方案2】:

    似乎工作正常,但我不知道这会带来什么影响...以下使用 hook from wp-settings.php 更改全局 $wpbd 内的属性。

    创建Must Use plugin 并添加:

    <?php
    /**
     * Plugin Name: Custom post tables
     */
    
    add_action( 'muplugins_loaded', function(){
        $GLOBALS['wpdb']->posts = 'newprefixx_posts';
        $GLOBALS['wpdb']->postmeta = 'newprefix_postmeta';
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-04
      • 2019-01-16
      • 1970-01-01
      • 2022-11-16
      • 1970-01-01
      • 2012-04-10
      • 2018-10-16
      • 2013-11-03
      相关资源
      最近更新 更多