web-dev-qa-db-ja.com

私が新しく作成したプラグインページにアクセスすると、「あなたはこのページにアクセスするのに十分な権限を持っていません」

私は「あなた自身のプラグインチュートリアルを書く」に従って、それを作ってそれをアクティブにし、それを自分自身のプラグインページを持つように設定に追加しました。このページにアクセスするには "adminとしてログインし、wordpressディレクトリにchmod -R 777を入力しましたが、このページにアクセスします。

他に何がうまくいかない可能性がありますか?

プラグインコードは次のとおりです。

oscommerce_importer.php

<?php  
    /* 
    Plugin Name: OSCommerce Product Display 
    Plugin URI: http://www.orangecreative.net 
    Description: Plugin for displaying products from an OSCommerce shopping cart database 
    Author: C. Lupu 
    Version: 1.0 
    Author URI: http://www.orangecreative.net 
    */  

    function oscimp_admin() {  
     include('oscommerce_import_admin.php');  
}  

    function oscimp_admin_actions() {  
      add_options_page("OSCommerce Product Display", "OSCommerce Product Display", 1, "OSCommerce Product Display", "oscimp_admin");  
    }  

    add_action('admin_menu', 'oscimp_admin_actions');  


?>

oscommerce_import_admin.php

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

ありがとう

1

add_options_page("OSCommerce Product Display", "OSCommerce Product Display", 1, "OSCommerce Product Display", "oscimp_admin");

あるべき

add_options_page( 'OSCommerce Product Display', 'OSCommerce Product Display', 'administrator', 'os_commerce_display_main', 'oscimp_admin' );

解決策はテストされていません。ドキュメント: 役割と機能add_options_page

3番目のパラメータは機能であり、ユーザーレベルやあなたが考えていたものではありません。私はそれをadminに設定しました。もしあなたがその設定を違ったものにしたいのであれば、ロールと機能に関するドキュメントを見てください。あなたが作った他のエラーはあなたのメニューのスラグにスペースがあることでした。プラグイン開発をしたい場合は、 Wordpress Coding Standards についても十分に検討する必要があります。

3
mor7ifer