我一直在尝试将另一个插件中的多选数组添加到wordpress主题的functions.php或单独的插件中。该字段是" US_States_Serviced"我可以让代码知道wp_usermeta在那里,但在文本字段中返回ARRAY。我假设我需要广告ARRAY。我不知道该怎么做。我看了一下,然后搜索过但是没有任何代码对我来说看起来很均匀,并且匹配我想要的数组。不能插件,或者如果我正确设置TYPE =,则functions.php会自动拉出数组?多选不是Wordpress的原生。刚丢失
" US_States_Serviced"位于wp_usermeta中的字段具有允许用户选择多个服务的所有美国状态。现在我需要将这些数据反映到wordpress的用户配置文件中。我一直在尝试两种方法。哪个是最好的,有人可以帮助我。
选项1添加到FUNCTIONS.PHP
add_action( 'show_user_profile', 'extra_user_profile_fields' );
add_action( 'edit_user_profile', 'extra_user_profile_fields' );
function extra_user_profile_fields( $user ) { ?>
<h3><?php _e("Extra profile information", "blank"); ?></h3>
<table class="form-table">
<tr>
<th><label for="US_States_Serviced"><?php _e("US State You Service"); ?></label></th>
<td>
<input type="text" name="US_States_Serviced" id="US_States_Serviced" value="<?php echo esc_attr( get_the_author_meta( 'US_States_Serviced', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e("Please enter all states serviced."); ?></span>
</td>
</tr>
<tr>
<th><label for="city"><?php _e("City"); ?></label></th>
<td>
<input type="text" name="city" id="city" value="<?php echo esc_attr( get_the_author_meta( 'city', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e("Please enter your city."); ?></span>
</td>
</tr>
<tr>
<th><label for="province"><?php _e("Province"); ?></label></th>
<td>
<input type="text" name="province" id="province" value="<?php echo esc_attr( get_the_author_meta( 'province', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e("Please enter your province."); ?></span>
</td>
</tr>
<tr>
<th><label for="postalcode"><?php _e("Postal Code"); ?></label></th>
<td>
<input type="text" name="postalcode" id="postalcode" value="<?php echo esc_attr( get_the_author_meta( 'postalcode', $user->ID ) ); ?>" class="regular-text" /><br />
<span class="description"><?php _e("Please enter your postal code."); ?></span>
</td>
</tr>
</table>
选项2作为插件
class shw_user_meta {
function shw_user_meta() {
if ( is_admin() )
{
add_action('show_user_profile', array(&$this,'action_show_user_profile'));
add_action('edit_user_profile', array(&$this,'action_show_user_profile'));
add_action('personal_options_update', array(&$this,'action_process_option_update'));
add_action('edit_user_profile_update', array(&$this,'action_process_option_update'));
}
}
function action_show_user_profile($user)
{
?>
<h3><?php _e('EXTRA PROFILE INFORMATION') ?></h3>
<table>
<tr>
<th><label for="member_id"><?php _e('Member ID'); ?></label></th>
<td><input type="text" name="member_id" id="Memmber ID" value="<?php echo esc_attr(get_the_author_meta('member_id', $user->ID) ); ?>" /></td>
<th><label for="us_states"><?php _e('US States you Service'); ?></label></th>
<td><input type="multi" name="US_States_Serviced" id="US States you Service" value="<?php echo esc_attr(get_the_author_meta('US_States_Serviced', $user->ID) ); ?>" /></td>
<th><label for="user-registered"><?php _e('User Registered'); ?></label></th>
<td><input type="text" name="user_registered" id="user_registered" value="<?php echo esc_attr(get_the_author_meta('user_registered', $user->ID) ); ?>" /></td>
</tr>
</table>
<?php
}
function action_process_option_update($user_id)
{
if(isset($_POST['member_id'])){
update_user_meta( $user_id, 'member_id', $_POST['member_id'] );
}
if(isset($_POST['us_states'])){
update_user_meta( $user_id, 'us_states', $_POST['us_states'] );
}
if(isset($_POST['user_registered'])){
update_user_meta( $user_id, 'user_registered', $_POST['user_registered'] );
}
}
}
/* Initialise outselves */
add_action('plugins_loaded', create_function('','global $shw_user_meta_instance; $shw_user_meta_instance = new shw_user_meta();'));
?>