在向个人资料添加特定角色(推荐人)时,我在自定义帖子类型上添加个人资料页面,并将其链接到该用户,并在帖子和用户上都有元值。我还检查用户以前是否曾担任过该角色(通过该用户的元值),然后相应地添加/编辑他们的个人资料页面。
当我从用户编辑页面添加角色时,所有这些都工作正常http://localhost:8888/wp-admin/user-edit.php?user_id={SOME USER ID}
但是,当从(编辑页面引用)上的批量操作/操作按钮添加(或删除)角色时,不会触发挂钩。那么有没有一种方法可以扩展以包含更新或完全删除操作按钮(或其他解决方案)?/wp-admin/users.php
profile_update
profile_update
/wp-admin/users.php
/wp-admin/users.php
尝试解决问题
我能够使用此过滤器删除批量操作按钮add_filter('bulk_actions-users','__return_empty_array');
,但找不到过滤器来删除右侧的操作按钮。
function site_refProfile_existingUser( $user_id, $old_user_data ){
if ((get_user_meta( $user_id, 'wp_capabilities')[0]['referee'] !== null) && (metadata_exists('user', $user_id, 'ref_pageID'))) {
$profileID = get_user_meta( $user_id, 'ref_pageID')[0];
$postUpdateArgs = array(
'ID' => $profileID,
'post_status' => "private"
);
wp_update_post($postUpdateArgs);
error_log("making profile :".$profileID." private (User : ".$user_id.")");
}
elseif ((get_user_meta( $user_id, 'wp_capabilities')[0]['referee'] == null) && (!metadata_exists('user', $user_id, 'ref_pageID'))) {
$refProfileName = "".get_user_meta( $user_id, 'first_name')[0]." ".get_user_meta( $user_id, 'last_name')[0]."";
if(substr($refProfileName,-1)== 's'){
$refProfileNameCleaned = $refProfileName."' ";
} else{
$refProfileNameCleaned = $refProfileName."'s ";
}
$refProfileArgs = array(
'post_title' => $refProfileNameCleaned."Profile",
'post_excerpt' => "Read {$refProfileNameCleaned}profile on Bootle Referees' Association's official website",
'post_name' => $refProfileName,
'post_type' => "refprofile",
'post_status' => "publish",
'post_author' => $user_id,
);
慕姐4208626