【WordPress】追加の機能をプラグインでまとめる話

【WordPress】追加の機能をプラグインでまとめる話

スポンサードリンク

皆様こんにちは、ケートミィ・メディアラボの富田です。
今回はWordPressのプラグインの作成方法について解説してみたいと思います。

WordPressでは機能を追加するとき、functions.phpにコードを書き加えて行くのですが、
子テーマなどを設定していない場合、テーマのアップロードの巻き添えを食う形で消えてしまうと言った悲劇に遭遇することがままあります。

子テーマの設定はSimplicityなどのデフォルトで対応しているテーマなどの場合は良いのですが、
そうでない場合やすでに出来上がってるサイトの場合は少し手間が掛かります。

そう言ったときにfunctions.phpに書き込んでいた機能をプラグイン化させると、それらの悲劇が回避出来ることに気付いたので今回はそのことをシェアしたいと思います。

プラグインの作成方法

WordPressの機能をプラグイン化させるのはある程度Wordpressのfunctions.phpを触った事がある人であれば簡単に作成出来ます。

まずはテキストエディタ等で空のphpファイルを用意して下のコードをそれに書き込みます。

<?php
/*
Plugin Name: (プラグインの名前)
Plugin URI: (プラグインの説明と更新を示すページの URI)
Description: (プラグインの短い説明)
Version: (プラグインのバージョン番号。例: 1.0)
Author: (プラグイン作者の名前)
Author URI: (プラグイン作者の URI)
License: (ライセンス名の「スラッグ」 例: GPL2)
*/
?>

注意点
プラグインの名前、プラグインフォルダの名前、プラグインのPHPファイル名は
一意(ユニーク)で分かりやすい名称に
する必要が有ります。
プラグインのファイルにインクルードされているその他のphpファイルも
現在公開されているプラグインやテンプレートタグの名称と被ってしまうと動作しなくなってしまいます。

その後、従来はfunctions.phpに書き込んでいたコードを追加していくのですが、
その場合は<?php~などphpの始まりのタグから追加して行く必要があります。

例えば、投稿画面のカテゴリ選択のチェックボックスをラジオボタンに変更させる
といった機能ををプラグイン化させる場合は、下記のように記述します。
(saori様サイトより引用:https://memocarilog.info/wordpress/7191

<?php
function my_print_footer_scripts() {
echo "<script type='text/javascript'>
jQuery(document).ready(function($){
    var checkLists = $('#categorychecklist').find('li');
    var cnt = 0;

    checkLists.each(function(){
        var check = $(this).find('input');
        var input = $('<input>');
        input.attr({
            type: 'radio',
            id: check.attr('id'),
            name: check.attr('name'),
            value: check.val()
        });

        if($(this).hasClass('popular-category') && cnt === 0){
           input.prop('checked', true);
           cnt++
        }

        input.insertBefore(check);
        check.remove();
    });
});
</script>";
}
add_action('admin_print_footer_scripts', 'my_print_footer_scripts', 21);
?>

さらにそれを任意の名前のフォルダ内に格納し、FTPなどを使用してWordPressのプラグインフォルダにアップロードします。
実際はフォルダの中に入れなくても問題が無いそうなのですが、今後のことを考えてフォルダの中に格納するのが良さそうですね。
フォルダに格納した際のイメージとしては下記のようになります。
それぞれのファイル名は任意の名前に置き換えてご参考ください…

plugin_file/plugin.php
    |_lib/data.php
    |_images/image.png
    |_style.css   
    |_lang
    readme.text

それぞれの解説としては、

plugin.php
プラグインの本体ファイルになります。
冒頭で解説した開始コードを入れる事により、
Wordpressにこれはプラグインファイルであると認識させることが出来ます。

lib/
プラグインファイルはテーマファイルと同じように
他のphpファイルから機能を読み込むことが出来ます。
この中にプラグインで使用するphpファイルを格納します。

images/
style.css

プラグインに読み込ませる必要があるスタイルシートや画像ファイルは、
こちらに格納します。

lang/
言語ファイル、翻訳ファイルはこちらに格納します。

readme.text
プラグインの解説ですね、敢えて説明するほどで無いかと思います。。

ライセンスについて

もし、貴方がオリジナルなプラグインを作り出し、
公開したいとします。
その際に必要になってくる情報が下記の記述になります。

GPL2のライセンスを有効にする場合は冒頭で書き込んだメタ記述に続いて
下記のタグを追記します。

GPL2WordPressと同じライセンス権限で、誰でもプラグインを自由に使用でき、
再配布や改変をした場合でも同じ条件を継承する
という意味合いを持つそうです。

 <?php
/*  Copyright 作成した年 プラグインの作者名 (email : 作成した人のメールアドレス)

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License, version 2, as
     published by the Free Software Foundation.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/
?>

こちらのタグで書き換える必要のある部分は下記の、

・作成した年
・プラグインの作者名
・作成した人のメールアドレス

これらの3つの項目になります。
それ以外に何かを追記するとライセンスが認識されなくなるので
ご注意下さい(;´∀`)

終わりに

基本的に公式からのコピペでプラグインの認識まで可能になると思うので、
プラグインの開発難しそう…と感じてる方も是非実践してみると良いかもしれません!

以上、ケートミィのブログでした!

2017-08-20

Advertisement

コメントを書く







コメント内容


*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)