문제

PHP에서 사용자 정의 플러그인을 개발하고 있으므로 기존 플러그인을 사용할 수 없습니다. 내가 달성하고 싶은 것은 일부 사용자의 게시물 내에 다른 URL을 표시하고 싶다는 것입니다. WordPress에 등록 된 사용자의 경우 저에게 연락하여 '승인'됩니다. 이 필드를 조건에서 사용할 수 있도록이 추가 사용자 프로필 필드를 설정하고 싶습니다. 따라서이 필드가 없거나이 필드에서 올바른 값이없는 손님과 사용자는 URL1이지만 다른 사람은 URL2를 얻습니다.

요구 사항

  • 관리자 역할을 가진 사용자 만
  • 추가 사용자 프로필 필드를 작성/편집 할 수 있습니다
  • 다른 모든 사용자를 위해

WordPress에서 추가 사용자 프로파일 필드를 추가 할 수있는 방법을 알고 있지만 (아래 링크 참조) 주어진 역할에서 해당 필드를 사용자에게 제한하는 방법과 관리자 역할을 가진 사용자가 제출 한 사용자 역할을 작성/편집 할 수있는 방법을 모르겠습니다. 모든 사용자들. WordPress Dashboard/Users/New Users 및/또는 Dashboard/Users/Authors & Ouser에서 새 코드를 추가 해야하는 것 같습니다.

Google 검색을 수행했는데 추가 사용자 프로필 필드를 추가하는 방법에 대한 사이트가 거의 없습니다.

그것은 나에게 보인다 사용자 정의 사용자 프로필 필드 추가 및 사용 거의 내가하고 싶은 일이지만 여전히 "유일한 관리자"가 그렇게 할 수있는 방법을 모릅니다.

도움이 되었습니까?

해결책

이건 어때:

$ID="2";
$user = new WP_User($ID);
if ($user->wp_capabilities['administrator']==1) {
    //code here
}

이 링크를 참조하십시오 WordPress의 사용자 기능

그래서 위의 내용과 당신이 준 링크는 다음과 같습니다.

function my_show_extra_profile_fields( $user ) {
    if ($user->wp_capabilities['administrator']!=1) {
        return false;
    } ?>
    <h3>Extra profile information</h3>

    <table class="form-table">

        <tr>
            <th><label for="twitter">Twitter</label></th>

            <td>
                <input type="text" name="twitter" id="twitter" value="<?php echo esc_attr( get_the_author_meta( 'twitter', $user->ID ) ); ?>" class="regular-text" /><br />
                <span class="description">Please enter your Twitter username.</span>
            </td>
        </tr>

    </table>
<?php }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top