harumemo

メモ書きです。

プラグイン開発の参考

<?php
/*
Plugin Name: Plug-in 4 PPTD
*/

add_action('admin_menu', 'admin_menu_plug_in_4_pptd');

function admin_menu_plug_in_4_pptd() {

    /* $page_title,
       $menu_title,
       $capability:メニューの権限,
       $menu_slug:URLの表示。基本的にワードプレスにおけるslugとは、URLからドメイン部を除いた文字列を指す。
                   「__FILE__」とはPHPの定数。ファイル名を返す。,
       $function:メニューページのコールバック関数。まあ、実行部のfunctionと解釈するか。,
       $icon_url,
       $position
    */
add_options_page('Plug-in for PPTD', 'Plug-in for PPTDe', 'manage_options', __FILE__, 'plug_in_4_pptd');
}

function plug_in_4_pptd() {
if ( isset( $_POST['process'] ) ) {
check_admin_referer( 'plugin-option-update' );
$value = $_POST['process'];
$msg ='何も実行しませんでした。';
switch($value){
case '2':
clear_social_counts();
$msg ='すべてのカウントをゼロクリアしました。';
break;
case '3':
update_social_counts();
$msg ='ソーシャルネットワークから最新の情報を取得しました。';
break;
case '4':
update_front_page_order();
$msg ='トップページの記事表示順を再計算しました。';
break;
default:
}
?>
<div class="updated fade"><p><strong><?php echo $msg; ?></strong></p></div>
<?php
}
?>

<div class="wrap">
<div id="icon-upload" class="icon32"></div>
<h2>PowerPoint Designの管理</h2>
<form action="" method="post">

<?php
/* POST の安全対策 */
wp_nonce_field( 'plugin-option-update' );
?>

<table class="form-table">
<tr valign="top">
<th scope="row">
<label for="count_value">処理の選択</label>
</th>
<td>
<ul>
<li><label><input type="radio" name="process" value="1" >何も実行しない</label></li>
<li><label><input type="radio" name="process" value="2" >カウントのゼロクリア</label></li>
<li><label><input type="radio" name="process" value="3" >ソーシャルネットワークから最新の情報を取得する</label></li>
<li><label><input type="radio" name="process" value="4" >トップページの記事表示順を再計算する</label></li>
</ul>
</td>
</tr>
</table>
<p class="submit"><input type="submit" name="submit" class="button-primary" value="選択した処理を実行する" /></p>
</form>
</div><!-- .wrap -->
<?php
}

if ( function_exists('register_uninstall_hook') ) {
register_uninstall_hook(__FILE__, 'uninstall_hook_plug_in_4_pptd');
}
function uninstall_hook_plug_in_4_pptd() {
delete_option('key');
}

?>