NetBeans + PHP + WordPress なら10分でWidgetが作れる。

「本当に10分でできるのか」と思うかもしれませんが、もちろん環境を用意しておく必要がありますし、それなりの知識も必要です。はい。

NetBeans では PHP の開発ができるので、WordPressをセットアップしてプロジェクトにしてみました。手順としては、ローカルマシンにWordPressをインストールしてから、NetBeansでそのWordPressを参照するようにしました。SELinuxなどを有効にしていると、いくつか考えないといけないことがあります。

apacheで書き込みができるようにとか、メールを送信できるようにとかで、下記のようなコマンドを入力しました。OSはFedoraですから、他のOSでは若干違うかもしれません。

sudo chcon -R system_u:object_r:httpd_sys_content_t:s0 .
sudo chcon -R system_u:object_r:httpd_sys_script_rw_t:s0 wp-content
sudo setsebool -P httpd_can_sendmail=1

SFTPでリモートへファイルを送信することもできたりしますが、簡単のため、今回はローカルホストでWordPressは動かしています。30分ぐらいで全部の作業ができました。結構手軽に環境が用意できます。

NetBeansでファイル新規作成などをすると、所有者がapacheではなくなるので、そのあたりは調整が必要になりそうです。開発環境ですから、httpdも自分用に別途インストールするとか、起動は自分のアカウントで実行というのが良さそうですが、そのあたりは好みに応じてでしょう。

簡単なWidgetをpluginとして追加してみました。解説は特にしませんが、入力したテキストを表示する簡単なプラグインです。wp-content/plugins/simple-widget/simple-widget.phpという名前で作成し、プラグインで有効化すれば、外観のウィジットで使えるようになります。このあたり、WordPressは手軽にいろいろできて楽しいですね。

<?php
/*
  Plugin Name: simple-widget
  Plugin URI: http://www.sssg.org/blogs/hiro345/archives/7861.html
  Description: widgetの雛形
  Version: 1.0
  Author: hiro345
  Author URI: http://www.sssg.org/blogs/hiro345/
 */

class wp_simple_widget extends WP_Widget {

//コンストラクタ
    function wp_simple_widget() {
        $widget_ops = array(
            'description' => 'simple-widget説明文'
        );
        parent::WP_Widget(false, $name = 'simple-widgetタイトル', $widget_ops);
    }

//管理画面
    function form($instance) {
        $memo = esc_attr($instance['memo']);
        ?>
        <p><label for="<?php echo $this->get_field_id('memo'); ?>">
                <?php _e('MEMO:'); ?>
                <input class="widefat" id="<?php echo $this->get_field_id('memo'); ?>" name="<?php echo $this->get_field_name('memo'); ?>" type="text" value="<?php echo $memo; ?>" />
            </label></p>
        <?php
    }

//更新
    function update($new_instance, $old_instance) {
        $instance = $old_instance;
        $instance['memo'] = strip_tags($new_instance['memo']);
        return $instance;
    }

//表示
    function widget($args, $instance) {
        // $args → $before_widget, $after_widget, $before_title, $after_title
        extract($args);
        $memo = apply_filters('widget_title', $instance['memo']);
        ?>
        <?php echo $before_widget; ?>
        <?php if ($memo) { ?>
            <h1><?php echo $before_title . 'memo' . $after_title; ?></h1>
            <p><?php echo $memo; ?></p>
        <?php } ?>
        <?php echo $after_widget; ?>
        <?php
    }

}

function wp_simple_widget_init() {
    register_widget('wp_simple_widget');
}

add_action('widgets_init', 'wp_simple_widget_init');
?>

続き:NetBeans + PHP + WordPress なら10分でPluginが作れる。 | hiro345

同じタグの記事: Linux
同じタグの記事: NetBeans
同じタグの記事: PHP
同じタグの記事: WordPress
同じカテゴリの記事: General
関連書籍: PHP
関連書籍: WordPress