WordPress의 Users Admin 페이지에 사용자 정의 사용자 메타 추가
사용자가 키를 입력할 수 있는 특별한 양식을 사이트 내에 만들었습니다.사용하고 있다add_user_meta()
데이터베이스에 메타데이터를 추가합니다.관리 센터에서 사용자를 클릭하면 이 키를 볼 수 있도록 하고 싶습니다.
이 칼럼에 추가하는 방법은 무엇입니까?
아래는 사용하고 있는 메타데이터 정보입니다.
add_user_meta($userId,'code','12345');
사용자 뷰에 추가할 수 있으면 좋겠습니다.사용자 이름 이메일 및 역할을 표시하는 테이블에서 php를 선택합니다.
사용자 ID를 표시하기 위해 이런 코드를 사용했지만 메타를 표시하는 방법을 알 수 없습니다.
add_filter('manage_users_columns', 'pippin_add_user_id_column');
function pippin_add_user_id_column($columns) {
$columns['user_id'] = 'User ID';
return $columns;
}
add_action('manage_users_custom_column', 'pippin_show_user_id_column_content', 10, 3);
function pippin_show_user_id_column_content($value, $column_name, $user_id) {
$user = get_userdata( $user_id );
if ( 'user_id' == $column_name )
return $user_id;
return $value;
}
이 예는 WordPress 코덱스에서 이 두 페이지를 사용하여 작성되었습니다.
https://codex.wordpress.org/Plugin_API/Action_Reference/edit_user_profile https://codex.wordpress.org/Plugin_API/Action_Reference/personal_options_update
커스텀 사용자 메타데이터를 표시 및 갱신하기 위한 것입니다.
<?php
// Hooks near the bottom of profile page (if current user)
add_action('show_user_profile', 'custom_user_profile_fields');
// Hooks near the bottom of the profile page (if not current user)
add_action('edit_user_profile', 'custom_user_profile_fields');
// @param WP_User $user
function custom_user_profile_fields( $user ) {
?>
<table class="form-table">
<tr>
<th>
<label for="code"><?php _e( 'Custom Meta' ); ?></label>
</th>
<td>
<input type="text" name="code" id="code" value="<?php echo esc_attr( get_the_author_meta( 'code', $user->ID ) ); ?>" class="regular-text" />
</td>
</tr>
</table>
<?php
}
// Hook is used to save custom fields that have been added to the WordPress profile page (if current user)
add_action( 'personal_options_update', 'update_extra_profile_fields' );
// Hook is used to save custom fields that have been added to the WordPress profile page (if not current user)
add_action( 'edit_user_profile_update', 'update_extra_profile_fields' );
function update_extra_profile_fields( $user_id ) {
if ( current_user_can( 'edit_user', $user_id ) )
update_user_meta( $user_id, 'code', $_POST['code'] );
}
?>
두 번째 add_filter를 add_action으로 변경한 후 Mordred에서 위의 답변을 받았습니다.변경된 코드는 다음과 같습니다.
function yoursite_manage_users_columns( $columns ) {
// $columns is a key/value array of column slugs and names
$columns[ 'custom_field' ] = 'Subscription';
return $columns;
}
add_filter( 'manage_users_columns', 'yoursite_manage_users_columns', 10, 1 );
function yoursite_manage_users_custom_column( $output, $column_key, $user_id ) {
switch ( $column_key ) {
case 'custom_field':
$value = get_user_meta( $user_id, 'custom_field', true );
return $value;
break;
default: break;
}
// if no column slug found, return default output value
return $output;
}
add_action( 'manage_users_custom_column', 'yoursite_manage_users_custom_column', 10, 3 );
커스텀 user_meta 필드를 사용자에게 추가합니다.php 다음을 수행해야 합니다.
function yoursite_manage_users_columns( $columns ) {
// $columns is a key/value array of column slugs and names
$columns[ 'custom_field' ] = 'Subscription';
return $columns;
}
add_filter( 'manage_users_columns', 'yoursite_manage_users_columns', 10, 1 );
function yoursite_manage_users_custom_column( $output, $column_key, $user_id ) {
switch ( $column_key ) {
case 'custom_field':
$value = get_user_meta( $user_id, 'custom_field', true );
return $value;
break;
default: break;
}
// if no column slug found, return default output value
return $output;
}
add_filter( 'manage_users_custom_column', 'yoursite_manage_users_custom_column', 10, 3 );
이것이 다소 오래된 실이라는 것을 깨달았지만, 나는 매우 유사한 문제에 빠져 매우 간단한 해결책으로 판명된 것을 공유해야겠다고 생각했다.
<?php
add_filter('manage_users_columns', 'pippin_add_user_id_column');
function pippin_add_user_id_column($columns) {
$columns['user_id'] = 'User ID';
return $columns;
}
add_action('manage_users_custom_column', 'pippin_show_user_id_column_content', 10, 3);
function pippin_show_user_id_column_content($value, $column_name, $user_id) {
$user = get_userdata( $user_id );
if ( 'user_id' == $column_name )
return $user_id;
return $value;
}
?>
크레딧 : https://pippinsplugins.com/add-user-id-column-to-the-wordpress-users-table/
추가 woocommerce 필드를 편집 가능하게 하려면 다음 필터를 사용합니다(이 예에서는 과금 섹션에 커스텀필드가 추가되어 있습니다.
add_filter('woocommerce_customer_meta_fields', 'add_woocommerce_customer_meta_fields');
function add_woocommerce_customer_meta_fields($fields)
{
if (isset($fields['billing']['fields'])) {
$fields['billing']['fields']['your_custom_meta'] = array(
'label' => __('Friendly name', 'woocommerce'),
'description' => ''
);
}
return $fields;
}
언급URL : https://stackoverflow.com/questions/30492429/add-custom-user-meta-to-the-users-admin-page-in-wordpress
'bestsource' 카테고리의 다른 글
Google 앱 스크립트를 사용하여 워드프레스 관리 페이지를 가져오려면 어떻게 해야 합니까? (0) | 2023.03.15 |
---|---|
Wordpress에서 사용자 정의 관리 페이지에 양식 제출 (0) | 2023.03.15 |
명시적 주석을 사용하지 않는 각도를 수정하는 방법 및 엄격한 모드에서 호출할 수 없습니다. (0) | 2023.03.15 |
각도 UI 그리드 'gridApi.infiniteScroll.on.needLoadMoreData'가 데이터 변경과 함께 작동하지 않음 (0) | 2023.03.15 |
JSON을 추상 클래스로 역직렬화하는 중 (0) | 2023.03.15 |