\このブログが役に立ったら/
WordPressのプラグインを自作してみた
なんかすごそうなタイトルですが、ちょっと遊んでみた記録です。
制作者を目指している訳ではなくて、単純に仕組みを知りたいと言う好奇心から興味を持ちました。
もう一つ《知らないから出来ない》と《知っているけどやらない》は違うと常々思っているので、そのモットーに則り、挑戦してみた次第です。
WordPressのプラグイン自作に初挑戦!!とらじろうが好きなちゅ〜るのフレーバーを出力させるだけの、神プラグインを爆誕させてしまいました!!やったー!!!!! pic.twitter.com/TOJyRFnSd4
— みさき@セブ島🇵🇭 (@misaki_cebu) March 22, 2021
作ってみた感想
実際に作ってみて、制作者さん達への感謝の気持ちが2000倍くらいに増えました。【作ってみるだけ】なら想像より難しくなかったです。
でも不具合があるたびに修正したり、時には見ず知らずの人から低評価をつけられたり、たくさんの苦労があることと思います。「使わせていただいている」と言う気持ちを忘れずに、WordPressと付き合っていきたいと感じました。
もう一つは、よく理解できてなかった「プラグインは少ない方がSEO対策になる」に関して、少し理解が深まりました。
プラグインがどう言うもので、使うとどうなるか?なんとなく分かったつもりになっていたけど、実際にファイルを開いてコードを読んでみた事はなかったし、知ろうと努力はしてなかったのです。
見ず知らずの誰かが書いた「プラグインがたくさん入ってる=ダメ」と言う情報を盲目的に信じてしまっていたと気が付いて、深く反省しました。
もちろん、手当たり次第に入れるとか、セキュリティ云々の問題があるのは承知の上で「量で良し悪しが決まると言うことは無い」と、実感できました。
プラグイン作りに挑戦してみようと思ったキッカケ
1月下旬からOlein Fun!と言うコミュニティにジョインしています。
知り合いが全く居ない新参者の私にも皆さん優しく接してくださって、とっても楽しくコミュニケーションをとらせていただけております…!
実は、コミュニティに参加申し込みをした日が29歳の誕生日で「20代最後に、何か新しいことに挑戦したい」と思って、新しい環境に飛び込む決心をしました。その話は、今度書いてみようと思います。(誰得)
そのコミュニティでたくさんの刺激をいただきながら、自分なりにWordPressについての知識を深めているところなのですが、先日、管理人のオレインさんとこんなやりとりがありました。
【プラグインを作る】と言うアイデアを持ったことがなく、テーマもプラグインも【誰かが作ったものを使う】のが当たり前でした。〇〇するにはどのプラグインが良いかな?と検索したり、良さそうなプラグインが見つからなければ諦めたり。
以前までの自分なら挑戦しなかったと思いますが、しのごの言わずに、とりあえずやってみることにしました。難しくて無理だったらそれでいいし「自分には出来ない」って学べたらそれでOKです。
参考にしたブログ
プラグインの作成は未知の世界だったので、おふたりのブログ記事を参考にしました。
①SWELL作者了さんのブログ
②SWELLコミュニティでお馴染み、しらこさんのブログ
たくさんの方がプラグインの作り方に関する記事を書いていらっしゃると思いますが、無知すぎて、どの記事を見れば良いのか?を検討することすら困難でした。プラグインとテーマの相性についての話もよく聞くため「SWELL作者の了さんの記事を見ておけば大丈夫なのではなかろうか」と言う安易な考えで、ひとまず了さんのブログを参考にする事にしました。
了さんの記事だけでは理解できない部分があったので、しらこさんの記事も合わせて参考にさせていただきましたm(_ _)m!
作成したプラグイン2種類
自作したプラグインは、以下です。
- wp_footer()に任意の文字を表示させる
- 管理画面の記事一覧に《文字数》を表示させる
wp_footer()に任意の文字を表示させる
先ほどご紹介した、了さんとしらこさんの記事からコードをお借りして、wp_footer()に任意の文字を表示させるプラグインを作りました。
<?php
/*
Plugin Name: とらじろうの好物
Description: wp_footer()でとらじろうの好きなちゅ〜るのフレーバーを出力します。
Author: みさき@セブ島
Version: 0.1
Author URI: https://misakiーweb.com/
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/
if ( ! defined( 'ABSPATH' ) ) exit;
add_action( 'wp_footer', function() {
echo 'まぐろ&ほたて貝柱!';
});
プラグインの内容は、我が家のネコのとらじろうが好きなちゅ〜るのフレーバーを出力するだけの超シンプルなものです。
wp_footer()に好きなちゅ〜るのフレーバーを大公開した人は世界初だと、自信を持って生きていく所存です!!!
とは言え実用性は無いので、ちゃんと使えそうなやつも作ってみる事にしました。
管理画面の記事一覧に《文字数》を表示させる
単純に子テーマのfunctions.phpに書けば済むのですが、プラグイン化してみます。
まだPHPのコードを自分で書くことが出来ないので、以下のブログ記事からコードをお借りしました。
<?php
/*
Plugin Name: 投稿一覧に文字数を表示させる
Description: WordPressの投稿一覧に、各記事の文字数を表示させます。
Author: みさき@セブ島
Version: 0.1
Author URI: https://misaki-web.com/
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/
if ( ! defined( 'ABSPATH' ) ) exit;
// 投稿一覧に各記事の文字数を表示
function add_columns_count_characters($text_columns) {
$text_columns['char_count'] = '文字数';
return $text_columns;
}
function add_custom_columns_count_characters($check_column_name, $post_id) {
if( 'char_count' == $check_column_name ) {
$count = mb_strlen(strip_tags(get_post_field('post_content', $post_id)));
echo $count;
}
}
add_filter( 'manage_posts_columns', 'add_columns_count_characters' );
add_action( 'manage_posts_custom_column', 'add_custom_columns_count_characters', 11, 2 );
ビフォー
アフター
ちょっと見づらいけど、投稿記事一覧に【文字数】が表示されました!!やったー!!!!!!!
早速、アイデアをいただきました
冒頭のツイートをした後、同じくOlein Fun!メンバーのゆずぃーさんから、新しいアイデアをいただきました!
ついでにこれをリンクにしてアマゾンの欲しいものリストに飛べるようにしたら、ちゅ〜るがお布施できるとかしても面白いかも知れない🐈🐈⬛🐈
— ゆずぃー@ウェブディレクター | TAM, Inc (@citrodesign) March 23, 2021
ちゅ〜るの文字部分をリンクにして、アマゾンの欲しいものリストへ飛べるようにすると言うものです。
コードの部分はほぼコピペしたもので、自分で改変していませんでした。早速挑戦してみます!
「PHP リンク 書き方」でググって出てきたコードを使ってみたら、リンクにはなったけど、404エラーになってしまい失敗でした。
失敗したコード
add_action( 'wp_footer', function() {
echo '<a href=",$https://www.amazon.co.jp/hz/wishlist/ls/1TAPV92WVX8VR/ref=nav_wishlist_lists_1?_encoding=UTF8&type=wishlist,">まぐろ&ほたて貝柱!</a>';
});
404エラーになってしまった
こねこねしつつ「PHP a href 使い方」で検索し直して、6回目で成功しました!わーい!!!!
成功したコード
add_action( 'wp_footer', function() {
echo '<a href="'. "https://www.amazon.co.jp/hz/wishlist/ls/1TAPV92WVX8VR/ref=nav_wishlist_lists_1?_encoding=UTF8&type=wishlist" .'">'. "まぐろ&ほたて貝柱!" .'</a>';
});
無事に表示できました
こちらの記事を参考にさせていただきました。
コピペには変わりありませんが、また一歩前進です!うれしい!楽しい!大好き!!!!!!
今後の課題
難しいけど、できることが増えたら楽しい!「プラグイン作れるとか神なん?」と思っていましたが、想像よりハードルは高くないですね。
(技術的には、サッポロ一番味噌ラーメンを作れるようになった私と、サッポロ一番味噌ラーメンを開発しているサンヨー食品くらいの違いあり)
PHPは「アクションフックとフィルターフックの違いは分かる、echoはなんとなく聞いたことある。」くらいのレベル感でまだまだ理解できてないので、少しずつコードを読めるようにするのが当面の課題です。
そんなレベルの私でも出来たので「難しいやん絶対ムリ」と食わず嫌いせずに、まずは挑戦してみて欲しいな…と思います!
Olein Fun!のコミュニティに参加しなければ、絶対行動しなかったと思います。メンバーの皆様に全力感謝です。
お気軽にどうぞ!