将数据添加到 wp_sitemeta table
Adding data to wp_sitemeta table
有没有办法在 Wordpress Multisite 中向 wp_sitemeta table 添加一行?我在想就像 wp_usermeta 一样,有 add_user_meta( $user_ID, $meta_key, $meta_value), add_user_meta( $user_ID, $meta_key, $meta_value) 和类似的,可能有一种方法可以对 wp_sitemeta 做同样的事情?
我已经搜索过,但似乎无法在任何地方找到有关添加到此 table 的信息。可以吗?
这取决于您要添加的内容。你可以使用 $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 提供的函数 update_metadata($meta_type, $object_id, $meta_key, $meta_value, [$prev_value])
(参见 codex)可以(并且可能应该)用于此目的。存在则更新key值,不存在则添加。
要更新 wp_sitemeta
,请设置 $meta_type = 'site'
。 $object_id
应该是网络 ID,几乎可以肯定是“1
”。 (WordPress 仅通过其 UI 支持 ID 为“1
”的单个网络,尽管 WP DB 具有对多个网络的模式支持。)$meta_key
和 $meta_value
参数是分别用于元数据键和值。
另请注意,wp_sitemeta
适用于网络范围的选项,不适用于特定于博客(子站点)的选项。
如果您能够在 shell 命令提示符下工作并可以访问 WP-CLI 命令行客户端,您还可以使用 wp network meta update <id> <key> [<value>] [--format=<format>]
命令。 (我没有测试这是否会根据需要添加或更新,但我希望它会。)
有没有办法在 Wordpress Multisite 中向 wp_sitemeta table 添加一行?我在想就像 wp_usermeta 一样,有 add_user_meta( $user_ID, $meta_key, $meta_value), add_user_meta( $user_ID, $meta_key, $meta_value) 和类似的,可能有一种方法可以对 wp_sitemeta 做同样的事情? 我已经搜索过,但似乎无法在任何地方找到有关添加到此 table 的信息。可以吗?
这取决于您要添加的内容。你可以使用 $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 提供的函数 update_metadata($meta_type, $object_id, $meta_key, $meta_value, [$prev_value])
(参见 codex)可以(并且可能应该)用于此目的。存在则更新key值,不存在则添加。
要更新 wp_sitemeta
,请设置 $meta_type = 'site'
。 $object_id
应该是网络 ID,几乎可以肯定是“1
”。 (WordPress 仅通过其 UI 支持 ID 为“1
”的单个网络,尽管 WP DB 具有对多个网络的模式支持。)$meta_key
和 $meta_value
参数是分别用于元数据键和值。
另请注意,wp_sitemeta
适用于网络范围的选项,不适用于特定于博客(子站点)的选项。
如果您能够在 shell 命令提示符下工作并可以访问 WP-CLI 命令行客户端,您还可以使用 wp network meta update <id> <key> [<value>] [--format=<format>]
命令。 (我没有测试这是否会根据需要添加或更新,但我希望它会。)