Necesito reemplazar la plantilla de página utilizada para la vista user-edit.php dentro de la interfaz de administración de WordPress.
No estoy buscando cambiar ningún archivo principal, sin embargo, quiero crear mi propio user-edit.php para que me llamen.
Hasta ahora he intentado crear el archivo user-edit.php y colocarlo en mi tema secundario.
¿Se puede hacer esto con un complemento personalizado?
scott
Las páginas de administración de WordPress en realidad no usan plantillas de la misma manera que los temas. Por lo tanto, no hay realmente una plantilla para reemplazar.
Dicho esto, aquí están sus opciones para lograr reemplazar el WordPress predeterminado user-edit.php
página.
-
[brute force method] directamente reemplace el núcleo
wp-admin/user-edit.php
archivo con el suyo propio. Sé que ya dijiste que no quieres reemplazar los archivos principales; Solo estoy enumerando esto para otros que aparecen aquí. Obviamente, esto no es ideal porque su archivo se sobrescribirá cada vez que actualice WordPress. -
[server redirect method] podrías agregar la entrada apropiada en tu sitio
.htaccess
archivo para redirigir llamadas parahttps://yourdomain.tld/wp-admin/user-edit.php
a su nueva página/archivo. Tampoco es ideal porque si su sitio alguna vez cambia a un nuevo tema que no tiene el archivo de reemplazo, ese enlace de redirección se rompería. -
[additive method] Deje el menú de Usuarios principal/predeterminado existente solo y simplemente agregue su propio menú de administración (a través de
add_menu_page
) para incluir su(s) nueva(s) página(s). Entonces, solo sepa que solo tiene que usar ese nuevo menú en lugar del menú Usuarios. Mejor, pero tampoco ideal, ya que cualquier enlace en otras páginas de administración que apunten a user-edit.php aún apuntaría allí y llevaría a los usuarios administradores a la página principal/antigua. -
[php intercept method] interceptar llamadas a
wp-admin/user-edit.php
en el código php de su tema y cargue su archivo de reemplazo en su lugar. Este es probablemente el mejor método, aunque no el más fácil de lograr. Y debe asegurarse de que su página de reemplazo aún permita que los complementos funcionen correctamente que también podrían usar los filtros y ganchos de la página de edición del usuario.
Para lograr #4 [php intercept]:
Lo primero que el núcleo user-edit.php
archivo hace es cargas wp-admin/admin.php
. Ese archivo carga todo el material de administración relevante y finalmente le devuelve el control a user-edit.php
. Pero, justo ANTES de que lo haga, dispara la acción "load-user-edit.php"
Entonces, en el archivo functions.php de su tema, use una función como esta para interceptar la solicitud y redirigir a su archivo:
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 );
Tenga en cuenta que este método reemplaza el archivo completo, junto con toda su funcionalidad y seguridad. Sugiero echar un vistazo al núcleo original. user-edit.php
y duplique el código de autenticación/autorización para asegurarse de que su archivo sea al menos tan seguro como el original.
¡Feliz codificación! 😀