【问题标题】:Wordpress admin page plugin settingsWordpress 管理页面插件设置
【发布时间】:2017-09-19 20:13:27
【问题描述】:

我正在尝试创建我的第一个插件管理页面,但出现错误:

我的插件文件夹层次结构:

  uploadsdir-manager 
    index.html
    test.php
    functions.php
    admin-page.php

在函数中我添加了这段代码:

function awesome_page_create() {
$page_title = 'My Awesome Admin Page';
    $menu_title = 'Awesome Admin Page';
    $capability = 'edit_posts';
    $menu_slug = 'awesome_page';
    $function = 'my_awesome_page_display';
    $icon_url = '';
    $position = 99;

    add_menu_page( $page_title, $menu_title, $capability, $menu_slug, 
$function, $icon_url, $position );
}
add_action('admin_menu', 'awesome_page_create');

然后我收到此错误:

  Fatal error: Uncaught Error: Call to undefined function add_action() 
  in
  C:\xampp\htdocs\wordpress\wp-content\plugins\uploadsdir-
  manager\functions.php:2 
  Stack trace: 
  #0 C:\xampp\htdocs\wordpress\wp-content\plugins\uploadsdir-
  manager\index.html(11): 
  include() #1 {main} 
  thrown in 
  C:\xampp\htdocs\wordpress\wp-
  content\plugins\uploadsdirmanager\functions.php 
  on line 2

我做错了什么?

【问题讨论】:

    标签: php wordpress function plugins admin


    【解决方案1】:

    创建插件时不需要功能页面,除非您要导入该functions.php。 Worpress 读取与目录同名的文件。例如,我的插件目录称为 emailblast。 wordpress 的真正功能页面是 emailblast.php

    emailblast.php 会像这样开始它的代码...

    <?php
    /**
     * Plugin Name: Email Blasts
     * Plugin URI:  https://yoursite.com
     * Description: These are various email templates that can be sent to an given email using as click of a button.
     * Version:     1.0
     * Author:      your name
    
     */
    

    【讨论】:

    • 通过以下方式解决了这个问题:require(realpath (dirname(FILE) . '\..\..\..') . '/wp-load.php' );
    • 这行得通,但为了避免必须要求,您可以按照我所说的来避免加载那么大的要求。这可能会在以后产生不利影响。我的方式是wordPress推荐的方式。
    猜你喜欢
    • 2016-08-16
    • 1970-01-01
    • 2019-03-07
    • 2015-02-07
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    相关资源
    最近更新 更多