Boilerplate WordPress plugin – Página inicial admin
Ya vimos en anteriores artículos cómo descargar la estructura que nos facilitaba Boilerplate para crear el plugin, cómo instalarlo de forma que ya pudiéramos activar y desactivar el plugin y cómo añadir la opción de nuestro plugin en el menú principal. Veamos cómo en Boilerplate WordPress plugin crear la página inicial admin.
Añadimos opción al menú
public function add_menu() { // add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position ); add_menu_page( "Feed Directory", "Feed Directory", "manage_options", $this->plugin_name . '-index', array( $this, 'feed_directory_index' ), plugins_url( 'feed-directory/icon.png' ) ); }public function feed_directory_index() {
include plugin_dir_url( __FILE__ ) .'partials/feed-directory-admin-display.php';
}
La página Partials
El contenido de la página lo crearemos en la carpeta y fichero siguiente:
/wp-content/plugins/feed-directory/admin/partials/feed-directory-admin-display.php
Aquí iría el contenido de la página
<p>Hola mundo desde un partials</p>
Teniendo todo listo, ahora debería cargarse el contenido al pulsar sobre la opción del plugin:
Pero atentos, que pueden haber errores o que la configuración del servidor no permita hacer según que cosas. En nuestro caso, nuestro servidor no permitía hacer includes(). Tuvimos que solucionarlo:
Error include() en plugin
Puede suceder que nos de un error de Include. Ese problema viene dado porque nuestro servidor PHP no permite hacer includes. veamos el error:
La solución, es sencilla si estamos en un servidor que dominamos. Hay que cambiar el php.ini de nuestro servidor. Buscamos la línia:
; Whether to allow include/require to open URLs (like http:// or ftp://) as files. ; http://php.net/allow-url-include allow_url_include=Off
Hay que cambiarlo a:
; Whether to allow include/require to open URLs (like http:// or ftp://) as files. ; http://php.net/allow-url-include allow_url_include=On
Una vez cambiado, reiniciar servidor para que coja bien la nueva configuración. Ahora ya no debería salir el error.
Espero que os sea de utilidad el artículo Boilerplate WordPress plugin – Página inicial admin, y que veáis el resto de artículos sobre programación de un nuevo plugin wordpress en el siguiente enlace:
Más información
Fenomenal articulo.
Tambien es posible solucionar el error de include() sin cambiar la configuracion de php del servidor. En lugar de utilizar la funcion plugin_dir_url() podemos utilizar plugin_dir_path(). Al menos en mi caso es otra solucion a este problema.
Espero que sea de ayuda.
Gracias por el articulo.
Creo que para evitar el error del include, también se puede incluir de la siguiente forma:
require_once plugin_dir_path(dirname(__FILE__)) . ‘admin/partials/feed-directory-admin-display.php’;
PD: Muchas gracias por esta guía d eprimeros pasos ;)