【问题标题】:Use one sql table wp_posts and wp_postmeta for multisite wordpress为多站点 wordpress 使用一个 sql 表 wp_posts 和 wp_postmeta
【发布时间】:2023-04-08 23:52:01
【问题描述】:

我有用于新闻的多站点 wordpress,并且有相同的数据库,区别在于前缀

网站 1:wp_posts
站点 2:wp_2_posts

对于特定需求,我希望所有帖子或自定义帖子都保存在一个表 wp_post 中。
这样,如果在 SITE 1 中添加任何帖子,则会在 SITE 2

中动态添加

【问题讨论】:

  • 您好,您觉得我的回答有用吗?
  • 我仍然很困惑我在哪里使用这个代码在你回答之前我尝试使用其他解决方案是触发代码就像create trigger update_post_content<br> after insert on wp_posts for each row<br> BEGIN<br> IF NEW.post_type = 'newsletter' then INSERT INTO wp_2_posts (ID, post_author, post_date, ...........)<br> value (NEW.ID, NEW.post_author, NEW.post_date, ............);<br> END IF;<br> END //
    get_default_post_to_edit()
  • 但是当我使用这个解决方案并尝试创建campane''自定义帖子''时,我发现错误警告:从空值创建默认对象
  • 您无需将帖子插入wp_2_posts。如果您在检索它们之前使用switch_to_blog(1),则可以从wp_posts 阅读它们

标签: mysql wordpress triggers multisite


【解决方案1】:

将您的帖子保存在站点 1 中。

然后在站点 2 中,在查询帖子之前使用 switch_to_blog(1)。这样您的查询从站点 1 (wp_posts) 查询。

完成后致电restore_current_blog()

switch_to_blog(1);

$query = new WP_Query();

// etc ...

restore_current_blog();

更多信息请参见https://developer.wordpress.org/reference/functions/switch_to_blog/

【讨论】:

  • 嗨,当我尝试在我的网站中应用此解决方案时,我在 php 中遇到致命错误是 调用未定义函数 switch_to_blog() 此错误的解决方案是创建函数在条件下必须定义多站点if(is_multisite()){ // variable defined multisite in site 2 is false <br> switch_to_blog(1); },但是当我在站点 2 的 wp_config 中定义多站点时,站点 2 已关闭,因为 建立数据库连接时出错
  • 好的,所以您的 WordPress 安装不是多站点?这意味着它是使用相同数据库的两个单独的 WordPress 安装?这太不寻常了!!!你的问题的标题也应该不同。您不应将其称为多站点,而应将其称为“多个站点”。多站点会让人们感到困惑
  • 不,我的 wordpress 安装是多站点的,我为此使用相同的数据库,但我如何在站点 2 中定义多站点?
  • 如果它是一个多站点,则只有一个 wp-config.php 你应该定义它。
猜你喜欢
  • 1970-01-01
  • 2019-12-06
  • 1970-01-01
  • 2011-11-24
  • 2015-01-27
  • 1970-01-01
  • 2015-03-04
  • 2013-02-20
  • 2017-04-14
相关资源
最近更新 更多