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

2 comentarios

  • Juan

    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.

  • Raúl

    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 ;)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *