사용자 프로필을 "공개적으로"으로 표시하려고하면 선택 상자에서 텍스트 상자로 변경됩니다. 이것이 어떻게 수행 될 수 있는지에 대한 아이디어가 있습니까? 모두를 찾을 수 없었습니다.Wordpress 사용자 프로필 표시 이름 - 선택 상자에서 텍스트 상자로 변경
0
A
답변
0
두 가지 방법으로 해결할 수 있습니다. 당신은 좋은 방법이 아닌 WordPress core 파일을 편집합니다. 또는 wordpress 후크를 사용하여 프로필 상자에 추가 필드를 추가 할 수 있습니다.
하는 것은 당신에게 첫 번째 방법을 제공하고있다 :
이동 WP - 관리자에게/사용자 edit.php
파일을 엽니에게. 그런 다음
<th><label for="display_name"><?php _e('Display name publicly as'); ?> </label></th>
<td><input type="text" name="display_name" id="display_name" value="<?php echo esc_attr($profileuser->display_name); ?>" class="regular-text" /></td>
와
<td>
<select name="display_name" id="display_name">
<?php
$public_display = array();
$public_display['display_nickname'] = $profileuser->nickname;
$public_display['display_username'] = $profileuser->user_login;
if (!empty($profileuser->first_name))
$public_display['display_firstname'] = $profileuser->first_name;
if (!empty($profileuser->last_name))
$public_display['display_lastname'] = $profileuser->last_name;
if (!empty($profileuser->first_name) && !empty($profileuser->last_name)) {
$public_display['display_firstlast'] = $profileuser->first_name . ' ' . $profileuser->last_name;
$public_display['display_lastfirst'] = $profileuser->last_name . ' ' . $profileuser->first_name;
}
if (!in_array($profileuser->display_name, $public_display)) // Only add this if it isn't duplicated elsewhere
$public_display = array('display_displayname' => $profileuser->display_name) + $public_display;
$public_display = array_map('trim', $public_display);
$public_display = array_unique($public_display);
foreach ($public_display as $id => $item) {
?>
<option id="<?php echo $id; ?>"<?php selected($profileuser->display_name, $item); ?>><?php echo $item; ?></option>
<?php
}
?>
</select>
</td>
변경을 찾을하지만 여전히 이것은 좋은 해결책이 아니다.
0
나는이 동일한 문제를 겪고 그것을 해결하기 위해 약간의 자바 스크립트를 사용했습니다. Wordpress를 사용하면 원하는 문자로 display_name
필드를 설정할 수 있으므로 선택 항목을 텍스트 필드로 변환하려면 다음 스크립트 (테마의 functions.php
파일)를 사용할 수 있습니다.
function change_display_name_to_textfield() {
echo "><div>"; // don't remove '>'
?>
<script>
jQuery(function($) {
// replace display_name select with input
$('select#display_name').after('<input type="text" name="display_name" id="display_name" value="' + $('#display_name').val() + '" class="regular-text">').remove();
})
</script>
<?php
echo "</div"; // don't add '>'
}
// hook into new user and edit user pages
add_action("user_new_form_tag", "change_display_name_to_textfield");
add_action("user_edit_form_tag", "change_display_name_to_textfield");
열기/닫기 태그의 이상한 사용에 유의하십시오. 이는 특정 후크가 시작 양식 태그의 끝 직전에 실행되기 때문입니다. 따라서 양식 태그를 닫고 스크립트를 인쇄 한 다음 마지막 태그 인을 닫지 말고 인쇄해야합니다.
관련 문제
- 1. 텍스트 상자에서 목록 상자로 출력 표시 C#
- 2. 텍스트 상자로 datagridview 데이터 변경
- 3. 텍스트 상자에서 특정 텍스트 선택/강조 표시
- 4. iPhone의 텍스트 상자로 경고보기 표시
- 5. 텍스트 상자에서 데이터 상자로 텍스트 보내기
- 6. 목록 상자에서 텍스트 상자로 바인딩을 통해 항목 선택
- 7. 하나의 텍스트 상자에서 선택한 선택 항목을 두 번째 상자로 전달하려고합니다.
- 8. Datagridview ColumnType을 텍스트 상자에서 콤보 상자로 변경하십시오.
- 9. 텍스트 변경 텍스트 상자에서 변경
- 10. 클릭하면 선택 표시, 선택 표시 변경 표시 텍스트
- 11. 텍스트 필드를 선택 상자로 만들기
- 12. 텍스트 상자에서 목록 상자로 데이터를로드하는 방법은 무엇입니까?
- 13. 목록 상자에서 텍스트 상자로 드래그 앤 드롭
- 14. 많은 텍스트 상자에서 텍스트 선택
- 15. 한 페이지의 텍스트 상자에서 다른 페이지의 텍스트 상자로 데이터를로드 하시겠습니까?
- 16. Wordpress 사용자 정의 분류 표시 이름 문제
- 17. 텍스트 상자에서 테이블의 필드를 표시
- 18. C# winforms : 한 텍스트 상자에서 다른 텍스트 상자로 텍스트 이동
- 19. 텍스트 상자에서 nsstring으로 텍스트 저장 후 텍스트 상자로 돌아 가기
- 20. Wordpress Gravatar 및 사용자 프로필
- 21. Wordpress 테마 이름 변경
- 22. 사용자 프로필 정보 표시
- 23. 데이터베이스에서 사용자 프로필 표시
- 24. 텍스트 상자에서 특정 줄을 선택 하시겠습니까?
- 25. 목록 상자에서 다른 텍스트 상자로 선택한 항목 텍스트
- 26. 커서를 한 텍스트 상자에서 다른 텍스트 상자로 변경하는 방법
- 27. 컨트롤이 한 텍스트 상자에서 다른 텍스트 상자로 자동 전송됩니까?
- 28. 커서를 한 텍스트 상자에서 다른 텍스트 상자로 자동 이동
- 29. 프로필 사진 또는 URL로 프로필 프로필 링크 또는 사용자 이름
- 30. 실행중인 대화 상자에서 텍스트 변경
코어 편집은 옵션이 아닙니다. 그러면 추가 필드가 추가됩니다. 덕분에 –
"표시 이름을 공개적으로"후크를 사용하여 숨길 수는 없습니다. 사용자 정의 필드를 추가하면됩니다. –
감사합니다. 맞춤 입력란을 사용하여 종료되었습니다. –