HTML,CSS,PHP,ワードプレスカスタマイズ 技術情報資料

WP 管理画面 メニューに自作プラグインを追加する

スポンサーリンク

WP ワードプレスの管理画面 メニュー に自作したプラグインを追加したい。

「設定」に追加だけでもいいんだけど、 contactform-7 のように「お問い合わせ」みたいに出したいじゃないですか。

つーことで調べてみたらちょっと時間がかかったので記録しておきます。


こんな感じ。



まずは、普通に設定に表示されるようにプラグインを作って動作確認。

設定メニューに追加するには、こう書きますわな。

※プラグインのファイル名が myplugin.php で 管理画面での設定関数が myplugin_option() とします。

// add_action('admin_menu' , '管理画面での設定関数名');
add_action('admin_menu' , 'myplugin_appendConfig');

function myplugin_appendConfig() {
    // 設定メニュー(管理メニュー)下にサブメニューを追加:
    add_options_page(
        'お知らせ入力',   // 1.Pluginの設定画面での見出し
        'お知らせ入力',   // 2.WP設定メニューでの表示名
        'administrator', // 3.管理者権限(誰が触れるよ。基本8でOK)
        __FILE__,        // 4.WP内でぶつからない名前。面倒なら__FILE__でOK.高度な使い方は後
        'myplugin_option'// 5.設定モジュール名
        );
}


で、管理画面のメニューに追加するには、こう書きます。


add_action ( 'admin_menu', 'myplugin_appendMenu' );

function myplugin_appendMenu() {
    // 管理画面のメニューに追加:
    add_menu_page(
      // 1.メニューが選択された際にページのタイトルタグに表示されるテキスト
      'お知らせ入力',
      // 2.管理画面のメニュー上での表示名		
      'お知らせ入力',
      // 3.このメニューを参照するスラッグ名 とりあえず 8 をデフォ
      8,
      // 4.クリックした時に実行するファイルとパラメータ。もしくは一意な識別子。
      plugins_url('myplugin.php'),
      // 5.クリックした時に実行する関数名。
      'myplugin_option',
      // 6.メニューの横に表示されるアイコン画像のURL。
      //   もしくは標準で用意されているアイコンのクラス名。
      //   歯車でよければ '' で、省略
      '表示アイコン',
      // 7.メニュー上の位置 (他とかぶるとどちらかが消える。小数を指定可能。)
      '表示位置'
    );
}



表示アイコンは、画像を作ってURL指定するとか、WP標準フォント Dashicons を使う場合は、
こちらを参照させていただいて⇒ WordPress 私的マニュアル 使いたいアイコンのクラス名を設定します。
例えば、ワードプレスのアイコンの場合は、’dashicons-wordpress’
プラグインで使う場合は、すでにWordpress内なのでいろいろやらなくても使えます。

表示位置は、以下のテーブルを参考にして他と重ならないように小数点処理します。
例えば、「投稿」の下なら、5.0000111 みたいな感じ。

Dashboard(ダッシュボード) 2
Separator(区切り線) 4
Posts(投稿) 5
Media(メディア) 10
Links(リンク) 15
Pages(固定ページ) 20
Comments(コメント) 25
Separator(区切り線) 59
Appearance(外観) 60
Plugins(プラグイン) 65
Users(ユーザー) 70
Tools(ツール) 75
Settings(設定) 80
Separator(区切り線) 99

スポンサーリンク

スポンサーリンク

よく使うタグ

・float クリア
<br clear="all"><div style="clear:both;" class="clearfix"></div>
・角丸め
round-radius
border-radius:5px; -webkit-border-radius:10px; -moz-border-radius:10px;
・div box
overflow:scroll;min-width:300px;max-width:300px;min-height:300px;max-height:300px;
・TEXTAREAリサイズ
resize: vertical;
・サイトURL
home_url() // http://…
if(site_url()==home_url){
$shorturl_yuzu_path = substr(ABSPATH,0,strpos( ABSPATH, substr(site_url(),strlen(home_url()) ) ) ).’/’;
}else{
$shorturl_yuzu_path = ABSPATH.’/’;
}
// /var/…
・WP HOME URL
site_url() // http://…/wp
ABSPATH // /var/…/wp
・プラグイン(自分のDIR追加必要)
plugins_url() // http://…/plugins
WP_PLUGIN_URL // http://…/plugins
WP_PLUGIN_DIR // /var/…/plugins
・使用中のテーマ
get_template_directory_uri() // http://…/theme/xx
get_template_directory() // /var/…/theme/xx
・wp-content
content_url() // http://…/wp-content
WP_CONTENT_DIR // /var/…/wp-content
・画像URLからDIR変換
$pctdir=str_replace(content_url(), WP_CONTENT_DIR,$pcturl);
・パス名分解
$pathData = pathinfo($file);
echo $pathData["dirname"]; // /var/~
echo $pathData["filename"]; // xxx
echo $pathData["extension"]; // txt
echo $pathData["basename"]; // xxx.txt
・画像サイズ
list($width,$height) = getimagesize($url);
if(has_post_thumbnail()){
$thumbnail_id = get_post_thumbnail_id();
$thumbnail_img = wp_get_attachment_image_src( $thumbnail_id , ‘full’ );
$src = $image[0]; //url
$width = $image[1]; //横幅
$height = $image[2]; //高さ
・画像サイズ比率
list($src_w,$src_h) = getimagesize($file);
$dst_w = 600;$dst_h = 0;
$dst_h = ($dst_w!=0)?(intval(($src_h*$dst_w)/$src_w )):(($dst_h!=0)?(intval(($src_w*$dst_h)/$src_h)):0);
・疑似要素順
link visited hover active


特殊文字
シングルクォート : &#39;
ダブルクォート : &quot;
WP設定内表示前処理(htmlタグ許可項目)
$str = str_replace(‘<','&lt;' ,$str);
$str = str_replace(‘>’,’&gt;’ ,$str);
$str = str_replace(‘\”‘,’&quot;’,$str);
$str = str_replace(“\'”,’&#39;’ ,$str);
WO設定項目表示前処理(htmlタグ許可項目)
$str = str_replace(‘\”‘,'”‘,$str);
$str = str_replace(“\'”,”‘”,$str);
・テーマ
get_theme_root_uri()
get_theme_root()
・WP 情報
get_bloginfo( $show )
・Wp config FTP 情報 設置
define( ‘FTP_HOST’, ‘host’ );
define( ‘FTP_USER’, ‘id’ );
define( ‘FTP_PASS’, ‘pw’ );
define( ‘FTP_SSL’, false );
弾に使う
placeholder:ユーザー入力補助

カテゴリー

WelCart 買い物かごのカスタマイズ、テンプレートファイルの場所

WelCart 買い物かごのカスタマイズ、テンプレートファイルの場所 WelCart 買い物かごのカスタマイズするとき、毎回テンプレートファイルを探すのでメモしておきます。WelCart 買い物かごのカスタマイズ、テンプレートファイルの場所WelCart 買い物かごのカ

WelCart で投稿ページに商品購入欄を作る

WelCart で投稿ページに商品購入欄を作る WelCart の商品ページは、ご存知んごとくウルトラダサい。これをカスタマイズしないとなんとも素人っぽさの抜けないサイトになってしまう。WelCart で投稿ページに商品購入欄を作るときのモジュール

FB 広告 最適化~グーグルアナリティクスとサーチコンソールの連動のさせかた(必要な分だけ)

FB 広告 最適化~グーグルアナリティクスとサーチコンソールの連動のさせかた(必要な分だけ) FB 広告 最適化にあたって必要になってくるツールがグーグルアナリティクスとサーチコンソール。別にグーグルのアナリティクス、サーチコンソールでなくてもアクセス解析はできるんだけど、グーグルはユーザー囲

FB 広告 最適化~グーグルアナリティクスの使い方(必要な分だけ)

FB 広告 最適化~グーグルアナリティクスの使い方(必要な分だけ) FB 広告 最適化にあたって必要になってくるツールがグーグルアナリティクス。別にグーグルのアナリティクスでなくてもアクセス解析はできるんだけど、グーグルはユーザー囲い込みの為他のアクセス解析では見せな

FB 広告 最適化~グーグルサーチコンソールの使い方(必要な分だけ)

FB 広告 最適化~グーグルサーチコンソールの使い方(必要な分だけ) FB 広告 最適化にあたって必要になってくるツールがグーグルサーチコンソール。別にグーグルのサーチコンソールでなくてもいいんだけど、グーグルはユーザー囲い込みの為他のアクセス解析では見せなくしたキーワ

FB 広告 最適化~グーグルのアクセス解析の基本

FB 広告 最適化~グーグルのアクセス解析の基本 FB広告を最適化するためには、アクセス解析が重要なカギを握ります。FB広告から当該ページに飛んでくるときURLにオプションを付けることができます。このURLにつけたオプションを使ってどの広告から、どん