解析コード
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
<?php /** * Plugin Name: Responsive Coming Soon * Version: 1.9.2 */ //-------------------------------------------------------- // ■定数定義 // ◆plugin_dir_url():プラグインのURLを取得する //-------------------------------------------------------- define("WPSM_RCS_TEXT_DOMAIN", "wpsm_rcs_lang"); define("WPSM_RCS_PLUGIN_URL", plugin_dir_url(__FILE__)); //$file: プラグインのファイル名 //-------------------------------------------------------- // ■翻訳準備 // ◆load_plugin_textdomain():プラグイン用のMOファイルをロードする //-------------------------------------------------------- add_action('plugins_loaded', //$hook: フックされるアクション名 'wpsm_rcs_language_translation'); //$function_to_add: フックする関数名 function wpsm_rcs_language_translation() { //-------------------------------------------------------- // ▼MOファイルロード //-------------------------------------------------------- load_plugin_textdomain(WPSM_RCS_TEXT_DOMAIN, //$domain: ドメイン名 FALSE, //$deprecated: 2.7以降非推奨 dirname(plugin_basename(__FILE__)).'/language/'); //$plugin_rel_path: プラグインの相対パス名(プラグインディレクトリ名など) } //-------------------------------------------------------- // ■デフォルトデータロード // ◆register_activation_hook():プラグイン有効化時に実行される関数を登録する //-------------------------------------------------------- register_activation_hook(__FILE__, //$file: wp-content/pluginsディレクトリにあるメインプラグインファイルへのフルパス 'wpsm_rcs_default_data'); //$function: プラグイン有効化時に実行される関数 function wpsm_rcs_default_data() { //-------------------------------------------------------- // ▼デフォルトデータロード //-------------------------------------------------------- include('functions/default-data.php'); } //-------------------------------------------------------- // ■管理メニュー追加 // ◆add_menu_page():トップレベルのメニューページを追加する //-------------------------------------------------------- add_action('admin_menu', //$hook: フックされるアクション名 'wpsm_responsive_coming_soon_menu'); //$function_to_add: フックする関数名 function wpsm_responsive_coming_soon_menu() { //-------------------------------------------------------- // ▼管理用メニューページ追加 //-------------------------------------------------------- $menu = add_menu_page('Responsive Coming Soon', //$page_title: メニュー選択時、ページタイトルタグに表示されるテキスト 'Responsive Coming Soon', //$menu_title: メニューとして表示されるテキスト 'administrator', //$capability: メニューを表示するために必要な権限 'wpsm_responsive_coming_soon', //$menu_slug: メニューのスラッグ名 'wpsm_responsive_oming_soon_content', //$function: メニューページを表示する際に実行される関数 'dashicons-welcome-view-site'); //$icon_url: メニューのアイコンを示すURL //-------------------------------------------------------- // ▼バックエンドパネルページにスタイルとスクリプトを追加する //-------------------------------------------------------- add_action('admin_print_styles-' . $menu, //$hook: フックされるアクション名 'wpsm_responsive_coming_soon_plugin_js_css'); //$function_to_add: フックする関数名 } //-------------------------------------------------------- // ▼スクリプトファイルロード //-------------------------------------------------------- require_once('functions/script.php'); //-------------------------------------------------------- // ■プラグインコンフィグ // ◆wp_create_nonce():nonce(現在時刻)を生成する //-------------------------------------------------------- function wpsm_responsive_oming_soon_content() { $csp_security_action_nonce = wp_create_nonce("csp_security_action_nonce"); //$action: アクション名 //-------------------------------------------------------- // ▼プラグイン管理画面表示処理ロード //-------------------------------------------------------- require_once('includes/content.php'); //-------------------------------------------------------- // ▼更新データ保存処理ロード //-------------------------------------------------------- require_once('functions/data-save-post.php'); //-------------------------------------------------------- // ▼リセットデータ保存処理ロード //-------------------------------------------------------- require_once('functions/data-reset-post.php'); } //-------------------------------------------------------- // ▼リダイレクト処理ロード //-------------------------------------------------------- require_once('redirect.php'); //-------------------------------------------------------- // ▼プラグイン一覧ページのリンク設定追加(プラグイン有効時、プラグイン設定画面へのリンク) // ◆plugin_basename():プラグインのベースネームを取得する(ファイル名からプラグインのベースネームを取得する) // ◆add_filter() :指定したフィルターフックに、関数を登録する // ◆array_unshift():一つ以上の要素を配列の最初に加える //-------------------------------------------------------- $plugin = plugin_basename(__FILE__); //$file: プラグインのファイル名 add_filter('plugin_action_links_' . $plugin, //$tag: $function_to_addで指定した関数を登録するフィルターフック名 'wpsm_rcs_settings_link'); //$function_to_add: フィルター適用時に呼び出される関数名 function wpsm_rcs_settings_link($links) { $settings_link = '<a href="?page=wpsm_responsive_coming_soon">Settings</a>'; array_unshift($links, //$array[...]: 入力の配列[加える値] $settings_link); return $links; } ?> |
関数リンク
・add action()・add_filter()
・add menu page()
・array_unshift()
・load_plugin_textdomain()
・plugin_basename()
・plugin_dir_url()
・register activation hook()
・wp create nonce()
ベースコード
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
<?php /** * Plugin Name: Responsive Coming Soon * Version: 1.9.2 * Description: Responsive Coming Soon plugin is Modern and responsive Coming Soon page with full-sized background image slideshow, countdown timer and unlimited color scheme. * Author: wpshopmart * Author URI: https://wpshopmart.com/ * Plugin URI: https://wpshopmart.com/plugins/coming-soon-pro/ */ define("WPSM_RCS_TEXT_DOMAIN", "wpsm_rcs_lang"); define("WPSM_RCS_PLUGIN_URL", plugin_dir_url(__FILE__)); /** * Get Ready Plugin Translation */ add_action('plugins_loaded', 'wpsm_rcs_language_translation'); function wpsm_rcs_language_translation() { load_plugin_textdomain(WPSM_RCS_TEXT_DOMAIN, FALSE, dirname(plugin_basename(__FILE__)).'/language/'); } /** * default data load for coming soon page */ register_activation_hook(__FILE__, 'wpsm_rcs_default_data'); function wpsm_rcs_default_data() { include('functions/default-data.php'); } /** * Responisve coming soon plugin menu add */ add_action('admin_menu', 'wpsm_responsive_coming_soon_menu'); function wpsm_responsive_coming_soon_menu() { //plugin menu name for coming soon plugin $menu = add_menu_page('Responsive Coming Soon', 'Responsive Coming Soon', 'administrator', 'wpsm_responsive_coming_soon', 'wpsm_responsive_oming_soon_content', 'dashicons-welcome-view-site'); //add hook to add styles and scripts for coming soon backned panel page add_action('admin_print_styles-' . $menu, 'wpsm_responsive_coming_soon_plugin_js_css'); } require_once('functions/script.php'); function wpsm_responsive_oming_soon_content() { $csp_security_action_nonce = wp_create_nonce("csp_security_action_nonce"); require_once('includes/content.php'); require_once('functions/data-save-post.php'); require_once('functions/data-reset-post.php'); } // redirect coming soon page require_once('redirect.php'); // Add settings link on plugin page function wpsm_rcs_settings_link($links) { $settings_link = '<a href="?page=wpsm_responsive_coming_soon">Settings</a>'; array_unshift($links, $settings_link); return $links; } // Admin plugin install menu links $plugin = plugin_basename(__FILE__); add_filter("plugin_action_links_$plugin", 'wpsm_rcs_settings_link'); ?> |