多站点中的add_option

时间:2013-01-28 07:33:11

标签: wordpress

我想在多站点的enable_image表中添加名为wp_options的选项。即每个博客ID。我想获取复选框的值并将其保存在wp_options表中          

<td><fieldset><legend class="screen-reader-text"><span><?php _e('Allow Contributor To   Upload') ?></span></legend>
<label for="enable_app1">

<input name="enable_app1" type="checkbox" id="enable_app1" value="1" <?php checked('1',  get_option('enable_image')); ?> />

<?php _e('Yes Allow Contributor To Upload.') ?></label><br />
</fieldset></td>
</tr>

请帮帮我

1 个答案:

答案 0 :(得分:0)

我将提出一种不同的方法来解决这个问题,我认为这是你真正想要的。首先,使用update_site_option在网络范围内保存您的价值。

update_site_option( 'enable_app1', $_POST['enable_app1'] );

然后,只要您需要使用此值,就可以像这样检索它:

if( get_option( 'enable_app1' ) ) {
    $enable_app1 = get_option( 'enable_app1' );
}
else {
    $enable_app1 = get_site_option( 'enable_app1' );
}

其中说,如果特别为此博客设置了值,请使用它。否则,请使用已在网络范围内设置的选项。这允许管理员在本地覆盖选项,同时为他保存工作以在每个博客上显式设置值。

如果您不需要在本地覆盖事物,则可以单独使用update_site_option。与在每个博客上设置值相比,它更具优势,并且具有相同的效果。但是,如果你想这样做,你也可以通过首先检查是否已设置网络范围选项,然后使用动作挂钩更新本地值以匹配它来完成。