add_menu_page () no funciona en el complemento en wordpress

1 minuto de lectura

avatar de usuario
Curtis

Básicamente, estoy en el proceso de crear un pequeño complemento para mi sitio de WordPress, me encuentro con el problema más molesto que puedo encontrar, mi estructura actual es así
/wp-content/plugins/videos/videos.php

El contenido dentro del PHP archivo es el siguiente:

if(!class_exists('WP_GraceMedia_Videos')) {

    class WP_GraceMedia_Videos {

        public function __construct() {
            add_action('admin_menu', array(&$this, 'add_menu_page'));
        }

        public function add_menu_page() {
            $page_title = "GraceMedia Video Management";
            $menu_title = "GraceMedia Videos";
            $capability = "edit_options";
            $menu_slug = "videos/videos-admin.php";
            $function = "";
            $icon_url = plugins_url('videos/images/icon.png');
            $position = "6";
            add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position);
        }

        public static function deactivate() {

        }

        public static function activate() {

        }

    }

    register_activation_hook(__FILE__, array('WP_GraceMedia_Videos', 'activate'));
    register_activation_hook(__FILE__, array('WP_GraceMedia_Videos', 'deactivate'));

}

Me parece que todo tiene el formato correcto, en realidad está activando el complemento y permitiéndome desactivarlo, simplemente no está agregando el elemento al Menú de administración de WP

  • La pregunta se responde con la respuesta actualizada en la siguiente respuesta. stackoverflow.com/a/24669032/1287548

    – Vinod Dalví

    10 de julio de 2014 a las 5:27

La capacidad “edit_options” que tiene en su add_menu_page el código no existe según el Códice WP. Intente cambiarlo a algo como “edit_theme_options”.

  • Gracias, noté esto después de publicar la pregunta y cambié en consecuencia para descubrir que ese era el problema.

    – Curtis

    15 de julio de 2013 a las 9:42

use ‘manage_options’ en lugar de ‘edit_options’.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad