Si hemos creado un plugin o un tema puede que necesitemos crear un página en el panel de administración para administrar las opciones que queramos añadir. El caso es que si nos fijamos, la página personalizada que hemos creado ya se obtiene mediante el parámetro GET «?page» que podemos ver en la URL.
Si queremos pasar parámetros adicionales por GET, podemos agregarlos mediante PHP, por ejemplo, a la URL de un formulario. En el caso de tener listados de enlaces que representen elementos que podemos editar y que redireccionan a la página de edición de cada elemento, también podemos hacerlo mediante PHP o mediante JavaScript obteniendo la URL y agregando nuevos parámetros. Sin embargo, el método correcto, o al menos el mejor en la práctica, consiste en utilizar la unción add_query_arg que WorPress trae implementada.
$url = add_query_arg(array(
'page' => 'mi-plugin/mi-pagina.php',
'id_editar'=> $row->id ),
admin_url('admin.php')
);
Mediante el parámetro page sencillamente indicamos nuestra página personalizada actual y mediante el parámetro admin_url indicamos la URL base de WordPress o archivo PHP de WordPress en el que estamos. Finalmente, establecemos los parámetros GET personalizados como id_editar mediante su clave y su valor tal y como se indica.
El último parámetro, admin_url(‘admin.php’), es opcional y, si se omite, se utilizará la URL de la página en la que estamos actualmente.
Éste es el modo de obtener la URL final del modo más sencillo y sin tener que preocuparnos de si ya hay o no hay parámetros en la URL.