La página de opciones no se muestra en el menú Configuración

2
<?php
/*
 *  Plugin Name: Official Treehouse Badges Plugin
 *  Plugin URI: http://wptreehouse.com/wptreehouse-badges-plugin/
 *  Description: Provides both widgets and shortcodes to help you display your Treehouse profile badges on your website.  The official Treehouse badges plugin.
 *  Version: 1.0
 *  Author: Editorial Staff
 *  Author URI: http://wp.zacgordon.com
 *  License: GPL2
 *
*/


/*---------------------------------------*/
/* 1. ASSIGN GLOBAL VARIABLE */
/*---------------------------------------*/


/*---------------------------------------*/
/* 2. PLUGIN ADMIN MENU */
/*---------------------------------------*/

function basic_treehouse_badges_menu() {
  /*
     *  Use the add_options_page function
     *  add_options_page( $page_title, $menu_title, $capability, $menu-slug, $function )
     *
    */
  add_options_page(
    'Official Tree House Badges Plugin',
    'Treehouse Badges',
    'manage options',
    'wp-treehouse-badges',
    'wptreehouse_badges_option_page'
  );
}
add_action('admin_menu','basic_treehouse_badges_menu');

function wptreehouse_badges_option_page() {
  if( !current_user_can ('manage_options')) {
    wp_die('You do not have sufficient permission to acces this page.');
  }
  echo '<p> welcome to our plugin page </p>';
}    


?>

Soy solo un principiante y he escrito una estructura de complemento básica muy simple.

¿Cuál es el error que está causando que el nombre del menú "Insignias de Treehouse" no aparezca en el menú de Configuración en la sección de administración de WordPress.

    
pregunta The WP Novice 13.12.2016 - 08:32

2 respuestas

2

El único problema fue que la capacidad se especificó de forma incorrecta al utilizar add_options_page() . La capacidad debe ser manage_options . Tenga en cuenta el guión bajo, sin espacio:

function basic_treehouse_badges_menu() {
  /*
     *  Use the add_options_page function
     *  add_options_page( $page_title, $menu_title, $capability, $menu-slug, $function )
     *
    */
  add_options_page(
    'Official Tree House Badges Plugin',
    'Treehouse Badges',
    'manage_options',
    'wp-treehouse-badges',
    'wptreehouse_badges_option_page'
  );
}
add_action('admin_menu','basic_treehouse_badges_menu');

function wptreehouse_badges_option_page() {
  if( !current_user_can ('manage_options')) {
    wp_die('You do not have sufficient permission to acces this page.');
  }
  echo '<p> welcome to our plugin page </p>';
}    
    
respondido por el Dave Romsey 13.12.2016 - 08:45
3

Hay un error en el código que usa ' opciones de administración ' en lugar de ' manage_options '

el código correcto es

add_options_page(
    'Official Tree House Badges Plugin',
    'Treehouse Badges',
    'manage_options',
    'wp-treehouse-badges',
    'wptreehouse_badges_option_page'
  );

Aquí puede leer más sobre el menú de administración.

    
respondido por el fmeaddons 13.12.2016 - 08:46

Lea otras preguntas en las etiquetas