2017-12-29 33 views
-1

WordPress 관리 인터페이스 내에서 user-edit.php보기에 사용 된 페이지 템플릿을 교체해야합니다.WordPress 관리자 내 user-edit.php 페이지 바꾸기

코어 파일을 변경하지 않으려 고합니다. 대신 자신의 user-edit.php를 만들어서 호출하려고합니다.

지금까지 user-edit.php 파일을 만들고 내 자식 테마에 배치 해 보았습니다.

사용자 정의 플러그인으로이 작업을 수행 할 수 있습니까?

답변

0

WordPress 관리 페이지는 실제로 테마와 동일한 방식으로 템플릿을 사용하지 않습니다. 따라서 대체 할 템플릿이 없습니다.

그렇다면 기본 WordPress user-edit.php 페이지를 대체 할 수있는 옵션이 있습니다.

1) [무작위 방법] 똑바로 자신의 코어 wp-admin/user-edit.php 파일을 바꿉니다. 이미 핵심 파일을 대체하고 싶지 않다고 말한 것을 알고 있습니다. 나는 여기에 나타난 다른 사람들을 위해 이것을 열거 할뿐입니다. WordPress를 업데이트 할 때마다 파일을 덮어 쓰게되므로 분명히 이상적인 것은 아닙니다.

2) [서버 리디렉션 방법] .htaccess 파일에 적절한 항목을 추가하여 https://yourdomain.tld/wp-admin/user-edit.php에 대한 호출을 새 페이지/파일로 리디렉션 할 수 있습니다. 또한 사이트가 대체 파일이없는 새 테마로 전환하면 리디렉션 링크가 손상 될 수 있기 때문에 이상적이지 않습니다.

3) [additive 메서드] 기존 코어/기본 Users 메뉴를 그대로두고 새 페이지를 포함하기 위해 고유 한 관리자 메뉴를 추가하십시오 (add_menu_page 통해). 그런 다음 사용자 메뉴 대신 새 메뉴를 사용해야한다는 것을 알고 있습니다. user-edit.php를 가리키는 다른 관리 페이지의 링크가 여전히 그곳을 가리키고 관리 사용자를 이전/코어 페이지로 가져 가기 때문에 더 좋지만 이상적이지 않습니다.

4) [php intercept method]는 테마의 PHP 코드에서 wp-admin/user-edit.php을 호출하고 대신 대체 파일을로드합니다. 이것은 가장 좋은 방법이지만, 가장 쉬운 방법은 아닙니다. 그리고 대체 페이지에서 사용자 편집 페이지 필터와 후크를 사용할 수도있는 플러그인이 제대로 작동하도록 허용해야합니다.

은 # 4 [PHP는 차단]을 달성하기 : 핵심 user-edit.php 파일이하는

제일 먼저로드 wp-admin/admin.php입니다. 이 파일은 관련된 모든 관리 작업을로드하고 결과적으로 다시 제어를 user-edit.php으로 넘깁니다. 그러나, 그것은 않습니다 바로 전에, 당신의 테마의 functions.php 파일에 요청을 차단하기 위해이 같은 기능을 사용하여 파일로 리디렉션, "load-user-edit.php"

그래서 작업을 화재 :

function scottfive_override_user_edit(){ 
    require_once(get_template_directory() . '/myadminfiles/user-edit-replacement.php'); 
    die(); 
} 
add_action('load-user-edit.php', 'scottfive_override_user_edit', 1); 

참고 이 방법은 모든 기능과 보안과 함께 전체 파일을 대체합니다. 원본 핵심 user-edit.php를 살펴보고 인증/인증 코드를 복제하여 파일이 적어도 원본만큼 안전하다는 것을 확인하는 것이 좋습니다.

해피 코딩! : D