2020 年 6 月 3 日

IT Skills 波林

Polin WEI – 資訊工作者的技術手札

WordPress Customize Plugin – 微信客製外掛-控制台選單

2 min read
Plum blossom 梅花

WordPress Customize Plugin – 微信客製外掛-控制台選單

WordPress Customize Plugin – 微信插件客制開發-程式資訊 說了有留個 admin.php 的接口程式,在這後台接口程式 admin.php 要注意的事情,記錄如下:
在 WordPress 中有預計的角色及相對應的權限,可以參考 WordPress Roles and Capabilities 一文,但往往有些權限是結合兩個角色的權限,這要怎麼辦呢? 下面客製化群組倒是可以參考一下

  • 建立客製化存取權限群組
//客製化的群組 custom_menu_access: author + administrator
$author = get_role('author');
$author->add_cap('custom_menu_access');
$admin = get_role('administrator');
$admin->add_cap('custom_menu_access');
  • 定義插件在的後台選單
add_action( 'admin_menu', 'wpwx_admin_menu' );
function wpwx_admin_menu() {
  add_menu_page(
    __('Weixin Wechat', 'wpwx'), 
    __('微信訊息整合', 'wpwx'),
    'weixin-wechat-message', 
    'weixin-wechat', 
    'wpwx_admin_message_page', 
    wpwx_plugin_url() .'/images/weixin-logo.png');

  // 權限等級設為 custom_menu_access (即身分為作者 author & administrator 才能看到這個頁面),page為weixin-wechat-message,callback: 要實作 wpwx_admin_message_page()
  add_submenu_page( 
    'weixin-wechat', 
    __('Weixin Wechat', 'wpwx'), 
    __('文章發佈到微信', 'wpwx'), 
    'custom_menu_access', 
    'weixin-wechat-message', 
    'wpwx_admin_message_page' );

  // 權限等級設為 custom_menu_access (即身分為作者 author & administrator 才能看到這個頁面),page為weixin-wechat-users,callback: 要實作 wpwx_admin_weixin_users_page()
  add_submenu_page( 
    'weixin-wechat', 
    __('Weixin Wechat', 'wpwx'), 
    __('訊息發給微信粉絲', 'wpwx'), 
    'custom_menu_access', 
    'weixin-wechat-users', 
    'wpwx_admin_weixin_users_page' );     

  // 下面是管理者才有的權限
  add_submenu_page( 
    'weixin-wechat', 
    __('Weixin Wechat', 'wpwx'), 
    __('微信素材管理', 'wpwx'), 
    'manage_options', 
    'weixin-wechat-media', 
    'wpwx_admin_media_page' );

  add_submenu_page( 
    'weixin-wechat', 
    __('Weixin Wechat', 'wpwx'), 
    __('微信參數設定', 'wpwx'), 
    'manage_options', 
    'weixin-wechat-setting', 
    'wpwx_admin_setting_page' );

  add_submenu_page( 
    'weixin-wechat', 
    __('Weixin Wechat', 'wpwx'), 
    __('微信選單設定', 'wpwx'), 
    'manage_options', 
    'weixin-wechat-menu', 
    'wpwx_admin_menu_page' );    

  add_submenu_page( 
    'weixin-wechat', 
    __('Weixin Wechat', 'wpwx'), 
    __('Ajax Example', 'wpwx'), 
    'manage_options', 
    'weixin-wechat-ajax-example', 
    'wpwx_admin_ajax_example' );  

}
  • 定義選單對應的程式
function wpwx_admin_message_page(){
  include("message-page.php"); 
}
function wpwx_admin_weixin_users_page(){
  include("wx-users-page.php");
}
function wpwx_admin_setting_page(){  
  include("setting-page.php");  
}
function wpwx_admin_media_page(){
  include("media-page.php");
}
function wpwx_admin_menu_page(){
  include("menu-page.php");
}

上面的程式作好後,後台的選單顯示如下:

微信插件客製選單

到此,後台的選單完成,也給予這些選單權限,並且加入這些選單的程式接口。例如:選單 「文章發佈到微信」 要實作 wpwx_admin_message_page()」 函數,在此函數中呼叫程式 message-page.php」 。這樣應該能瞭解吧!!

Copyright © All rights reserved. | Newsphere by AF themes.