나는 끊임없이 같은 성가심에 빠져 있습니다. 그래서 아이디어 나 경험이 있는지 알 수 있다고 생각했습니다 ...
자체 관리 페이지를 사용하는 플러그인을 만들었습니다. 그렇습니다. 이제 WP_List_Table () 항목을 정렬 했으므로 훌륭하다고 말해야하지만 .....
admin.php?page=...
플러그인 디렉토리에서 직접로드하지 않는 한 사용자 정의 플러그인 페이지는 항상로드됩니다 . 이제 해당 페이지에서 '작업'을 수행하는 경우 어떻게 든 처리 한 다음 action 매개 변수 없이 페이지로 다시 리디렉션해야합니다 . 내가 GET 또는 POST를 수행하더라도 실제로.
모든 내부 페이지에서 WP는 동일한 페이지에서이 작업을 수행하며, 작업이 있는지 확인한 다음 처리하면 작업없이 자체로 리디렉션됩니다. 이 페이지에는 admin-header
아직로드되지 않았기 때문에 가능합니다 .
그러나 자신의 페이지에서 시도하면 관리자 인터페이스의 절반이 이미 브라우저로 전송되었으므로 더 이상 리디렉션이 불가능합니다. 분명히 해결책은 다른 페이지에 직접 POST / GET하고 WP 프레임 워크를로드하고 처리 한 다음 원래 페이지로 다시 리디렉션하는 것입니다 ...하지만 ... 내 원래의 이유 때문에 약간 성가신 것입니다. 페이지는 콜백을 통해로드되므로 내 클래스의 메소드 내에서 실행됩니다. 아름답습니다.
별도의 페이지를로드하면 수동으로 포함 wp-load.php
하고 클래스 외부에 있어야합니다 . 이는 성가신 일이며, 특히 플러그인 클래스를 익명으로 설정하여 아무도 액세스 할 수 없기 때문에 특히 버그가 있습니다. 외부에서.
이 긴 이야기가 끝나면 ... 관리자 인터페이스를 미리 설정 하지 않고 콜백 을 통해 다른 페이지를로드하는 좋은 솔루션을 만든 사람이 있습니까?
(해결 방법을 알고 있습니다 ... load-....
작업 매개 변수를 확인하고 처리 및 리디렉션을 수행 하는 함수를 연결할 수 는 있지만 더 좋은 방법이 있는지 궁금합니다.)
감사.
plugin-wp-pagenavi
을위한 것인지 확실하지 않습니다 ... 나는 플러그인과 관리자 메뉴의 상관 관계에 관한 것이라고 가정했습니다. 내 질문은 그와 관련이 있기 때문에 해당 태그를 선택했습니다.
[admin-menu]
여기서 사용할 수는 있지만 실제로는 관련이 없다고 생각합니다. 태그를 원하는대로 변경했습니다. 물론 다시 편집 할 수 있습니다.
[plugin-wp-pagenavi]
있습니까?[plugin-development]
확실히 환영합니다.