Wordpress 向wp_sitemeta表添加数据

Wordpress 向wp_sitemeta表添加数据,wordpress,multisite,Wordpress,Multisite,有没有办法在Wordpress Multisite中向wp_sitemeta表添加一行?我的想法和wp_usermeta一样,有一些功能,比如add_user_meta($user_ID,$meta_key,$meta_value),add_user_meta($user_ID,$meta_key,$meta_value)和类似的功能,wp_sitemeta可能有同样的方法吗? 我已经搜索过了,但似乎在任何地方都找不到有关添加到此表的信息。可以吗?这取决于您要添加的内容。您可以使用$wpdb &

有没有办法在Wordpress Multisite中向wp_sitemeta表添加一行?我的想法和wp_usermeta一样,有一些功能,比如add_user_meta($user_ID,$meta_key,$meta_value),add_user_meta($user_ID,$meta_key,$meta_value)和类似的功能,wp_sitemeta可能有同样的方法吗?
我已经搜索过了,但似乎在任何地方都找不到有关添加到此表的信息。可以吗?

这取决于您要添加的内容。您可以使用$wpdb

<?php 

global $wpdb;
$main_blog_prefix = $wpdb->get_blog_prefix(BLOG_ID_CURRENT_SITE);

$meta_table  = $main_blog_prefix."sitemeta";

$insertedRow = $wpdb->insert( $wpdb->prepare(
    $meta_table , 
    array( 
        'site_id' => BLOG_ID_CURRENT_SITE, 
        'meta_key' => 'some_meta', 
        'meta_value' => "asd asd asda sda sda sd"
    )
  )
);


?>

这取决于您要添加的内容。您可以使用$wpdb

<?php 

global $wpdb;
$main_blog_prefix = $wpdb->get_blog_prefix(BLOG_ID_CURRENT_SITE);

$meta_table  = $main_blog_prefix."sitemeta";

$insertedRow = $wpdb->insert( $wpdb->prepare(
    $meta_table , 
    array( 
        'site_id' => BLOG_ID_CURRENT_SITE, 
        'meta_key' => 'some_meta', 
        'meta_value' => "asd asd asda sda sda sd"
    )
  )
);


?>

WordPress提供了更新元数据($meta\u type、$object\u id、$meta\u key、$meta\u value、[$prev\u value])(请参阅)的功能,可以(也可能应该)用于此功能。如果键值存在,它将更新键值;如果键值不存在,它将添加键值

要更新
wp\u sitemeta
,请设置
$meta\u type='site'
$object\u id
应该是网络id,它几乎肯定是“
1
”。(WordPress仅通过其UI支持ID为“
1
”的单个网络,尽管WP DB对多个网络具有架构支持。)
$meta_key
$meta_value
参数分别用于元数据键和值

还要注意的是,
wp_sitemeta
用于网络范围的选项,而不是博客特定的(子站点)选项


如果您能够在shell命令提示符下工作,并且能够访问WP-CLI命令行客户端,则还可以使用
WP network meta update[][--format=]
命令。(我还没有测试这是否会根据需要添加或更新,但我希望它会添加或更新。)

WordPress提供了可以(也可能应该)用于此操作的函数
更新元数据($meta\u type、$object\u id、$meta\u key、$meta\u value、[$prev\u value])
(请参阅)。如果键值存在,它将更新键值;如果键值不存在,它将添加键值

要更新
wp\u sitemeta
,请设置
$meta\u type='site'
$object\u id
应该是网络id,它几乎肯定是“
1
”。(WordPress仅通过其UI支持ID为“
1
”的单个网络,尽管WP DB对多个网络具有架构支持。)
$meta_key
$meta_value
参数分别用于元数据键和值

还要注意的是,
wp_sitemeta
用于网络范围的选项,而不是博客特定的(子站点)选项


如果您能够在shell命令提示符下工作,并且能够访问WP-CLI命令行客户端,则还可以使用
WP network meta update[][--format=]
命令。(我还没有测试这是否会根据需要添加或更新,但我希望它会添加或更新。)

记住使用prepare语句,如:
$wpdb->insert($wpdb->prepare(…)
绝对正确。感谢会员使用prepare语句,如:
$wpdb->insert($wpdb->prepare(…)
。谢谢