Php Can';t在WordPress中查看新添加的内容

Php Can';t在WordPress中查看新添加的内容,php,wordpress,plugins,Php,Wordpress,Plugins,我在WordPress中收到以下错误消息 You do not have sufficient permissions to access this page. 我是WordPress的新手,我正在学习如何开发WP插件的教程 基本上,我在管理菜单中加载了一个插件并激活了它 此代码包含在init.php文件中 function oscimp_admin() { include('oscommerce_import_admin.php');

我在WordPress中收到以下错误消息

You do not have sufficient permissions to access this page.
我是WordPress的新手,我正在学习如何开发WP插件的教程

基本上,我在管理菜单中加载了一个插件并激活了它

此代码包含在init.php文件中

    function oscimp_admin() {
                include('oscommerce_import_admin.php');
            }
            //when the menu is click 4th parameter  will be trugger
            function oscimp_admin_actions() {
                add_options_page("OSCommerce Product Display", "Menuka  Product Display", 1, "OSCommerce Product Display", "oscimp_admin");
            }

            add_action('admin_menu', 'oscimp_admin_actions');

    I have included following code in oscommerce_import_admin.php file
   <?php 
    if($_POST['oscimp_hidden'] == 'Y') {
        //Form data sent
        $dbhost = $_POST['oscimp_dbhost'];
        update_option('oscimp_dbhost', $dbhost);

        $dbname = $_POST['oscimp_dbname'];
        update_option('oscimp_dbname', $dbname);

        $dbuser = $_POST['oscimp_dbuser'];
        update_option('oscimp_dbuser', $dbuser);

        $dbpwd = $_POST['oscimp_dbpwd'];
        update_option('oscimp_dbpwd', $dbpwd);

        $prod_img_folder = $_POST['oscimp_prod_img_folder'];
        update_option('oscimp_prod_img_folder', $prod_img_folder);

        $store_url = $_POST['oscimp_store_url'];
        update_option('oscimp_store_url', $store_url);
        ?>
        <div class="updated"><p><strong><?php _e('Options saved.' ); ?></strong></p></div>
        <?php
    } else {
        //Normal page display
        $dbhost = get_option('oscimp_dbhost');
        $dbname = get_option('oscimp_dbname');
        $dbuser = get_option('oscimp_dbuser');
        $dbpwd = get_option('oscimp_dbpwd');
        $prod_img_folder = get_option('oscimp_prod_img_folder');
        $store_url = get_option('oscimp_store_url');
    }


?>      

<div class="wrap">
            <?php  //  echo "<h2>" . __( 'OSCommerce Product Display Options', 'oscimp_trdom' ) . "</h2>"; ?>

            <form name="oscimp_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>">
                <input type="hidden" name="oscimp_hidden" value="Y">
                <?php    echo "<h4>" . __( 'OSCommerce Database Settings', 'oscimp_trdom' ) . "</h4>"; ?>
                <p><?php _e("Database host: " ); ?><input type="text" name="oscimp_dbhost" value="<?php echo $dbhost; ?>" size="20"><?php _e(" ex: localhost" ); ?></p>
                <p><?php _e("Database name: " ); ?><input type="text" name="oscimp_dbname" value="<?php echo $dbname; ?>" size="20"><?php _e(" ex: oscommerce_shop" ); ?></p>
                <p><?php _e("Database user: " ); ?><input type="text" name="oscimp_dbuser" value="<?php echo $dbuser; ?>" size="20"><?php _e(" ex: root" ); ?></p>
                <p><?php _e("Database password: " ); ?><input type="text" name="oscimp_dbpwd" value="<?php echo $dbpwd; ?>" size="20"><?php _e(" ex: secretpassword" ); ?></p>
                <hr />
                <?php    echo "<h4>" . __( 'OSCommerce Store Settings', 'oscimp_trdom' ) . "</h4>"; ?>
                <p><?php _e("Store URL: " ); ?><input type="text" name="oscimp_store_url" value="<?php echo $store_url; ?>" size="20"><?php _e(" ex: http://www.yourstore.com/" ); ?></p>
                <p><?php _e("Product image folder: " ); ?><input type="text" name="oscimp_prod_img_folder" value="<?php echo $prod_img_folder; ?>" size="20"><?php _e(" ex: http://www.yourstore.com/images/" ); ?></p>


                <p class="submit">
                <input type="submit" name="Submit" value="<?php _e('Update Options', 'oscimp_trdom' ) ?>" />
                </p>
            </form>
</div>
函数oscimp_admin(){
包括('oscommerce\u import\u admin.php');
}
//菜单打开时,单击第四个参数将为trugger
函数oscimp_admin_actions(){
添加选项页面(“OSCommerce产品展示”、“Menuka产品展示”1、“OSCommerce产品展示”、“oscimp管理”);
}
添加操作(“管理”菜单、“oscimp”管理操作);
我在oscommerce\u import\u admin.php文件中包含了以下代码


我猜你调用添加选项页面时,确实会在“设置”下添加一个新选项,但问题是当你单击它时

如果您检查,您可以看到第四个参数被称为menu_slug,它被添加到URL中(在本例中为get to options-general.php)。因此,第一件事是将其更改为更加“url友好”的内容。例如,尝试将“OSCommerce产品展示”切换为“OSCommerce产品展示”

另外,第三个参数称为capability,它必须是表示用户必须能够执行的操作的字符串。如果您想只允许管理员访问此选项,您可以使用“安装插件”(例如)而不是1。您可以在此处看到角色和功能的完整列表:

因此,添加菜单选项的行应该类似于

add_options_page("OSCommerce Product Display", "Menuka  Product Display", 'install_plugins', "oscommerce-product-display", "oscimp_admin");
从那时起,您只需要确保oscimp_admin是一个有效的回调函数(一个呈现您需要的页面的函数)