WordPress のプラグイン開発関連のツールの使い方やPHPプログラムのTips、あるいは、バグにはまってしまったことなど、あるある的な事を後で見れるように雑記としてこのページにまとめリンクを作成しておきます
PHPプログラミングの学習に、WordPressのプラグインを作ることは、情報収集もしやすく、とても向いていると思います。これからプラグイン作成する方は、さらっと目を通すだけでも時間の節約になるかも知れません (^^)
PHPプログラミング環境構築編
何を使って開発すればいいのとお思いのアナタ、まずは開発環境を作る必要があります
PHPは、サーバーサイド側のプログラムなので、あまり使う機会もなかったかも知れませんが、XAMPPを使用することで、手軽にPHPプログラムの環境を構築出来ます
定番ですが黙って、XAMPP と NetBeans をお勧めします
思わず じぇじぇじぇ! とつぶやきたくなるくらいのお気に入りです (^^)
このへんの記事から読んでみて下さい
NetBeans の操作になれるにはチュートリアルをやってみるのが一番です
ことわざでも、習うより慣れろといいますから、このへんの記事を参考にしてください
WordPressプラグイン開発編
NetBeans の扱いにも少し慣れた所で、WordPress のプラグインを作りながら、プロジェクト作成やデバッグ方法等のプラグインを作るときに必要な基本事項を押さえておきます
実際にプログラムを作成する前には、NetBeasn を使って WordPress 本体やプラグインファイルのソースコードを参照したり、実際にそれらのプログラムの動きを追いかけてみるのが大変勉強になります
ここまでくると、自分でもプラグインを作れそうな気がしてきたと思います (^^)
プラグインを作成した時の手順を例にポイントを紹介しますが、その前に、ちょこっと設定をしておきます
XAMPP上にインストールした WordPress の wp-config.php ファイルに定義されている define(‘WP_DEBUG’, true); をデバッグモード(true)にしておきます。デバッグモードにしておくことで、エラーやワーニング情報を表示してくれるのでバグを発見しやすくなります
それでは、プラグインを作成していきます。初めにフック機能や管理画面での設定方法について知る必要があります
プラグインのプログラムは、PHPで作成するわけですが、クラスを使用しないと名前の衝突等の心配がありますのでクラスの作り方もマスターしなければなりません
ウィジェットタイプのプラグインの作り方に関しては、このへんを参考にしてください
実際のサイトで作成したプラグインを使用するには、FTPでアップロードする必要がありますが、公式サイトに登録してしまえば、管理も楽に出来ますし、世界中の人に使ってもらえるかも知れません
プラグイン公開/更新編
残念ながら日本語はまだまだ世界では通じないことが多いので、プラグインを公開するには英語をベースとしたメッセージにする必要があります
公開するには、英語というハードルはありますが、それ以外は大した手間ではありません
まずは、作成したプラグインの国際化対応を行います
国際化に対応出来たら、公式サイトに登録して公開します
公開するとサブバージョンシステムでプログラム管理が楽に出来るようになります
このへんを参考に公開にチャレンジしてみて下さい。 世界デビューです (^^)
登録したらプログラムの機能アップやバグフィックス等のバージョン管理を行なっていく必要がありますが、NetBeansを使えば、とてもスマートに行うことが出来ます
最近はやりの Git を使ったバージョン管理です
かなり便利です (^^)
Git入門(バージョン管理ツール)
PHP/WordPress Programing Tips編
Google アナリティクス関連
- Hello Analytics API チュートリアルをやってみる
- OAuth2.0 認証(Google APIs Client Library for PHP)について
- WordPress から Google APIs Client Library for PHP を使用してアナリティクスデータへアクセスする方法
- Google Analytics データを使ったページビューと人気記事ランキング
- Google Analytics Query Explorer 2
- アナリティクスデータの取得法(デバイス別ページビュー)
- 個別記事のアナリティクスデータ取得はフィルターがポイント
WordPress 画像処理関連
- 記事内から最大の画像を取得してサムネイル表示
- WordPress サムネイル再作成はいつやるの
- WordPress で外部サイトのリンク画像のサムネイル作成
- WordPress png画像のサムネイルを jpg画像に変換してみる
- WordPress ギャラリーをカスタマイズしてカラム数を自動調整
- WordPress ギャラリーを印象的に見せるレスポンシブスライダー(複数設置対応)プラグイン
- 画像遅延ロード Lazy Load (Unveil.js) で体感表示スピードアップ!
- RSSフィードにアイキャッチ画像を追加して Feedly で確認してみる
- WordPressアイキャッチは動画等のサムネイルも簡単にセットできる半自動がお勧め!
チャート表示関連
WordPress Ajax/cookie 関連
- WordPress ウィジェットでAjaxを使う:潜入編
- WordPress ウィジェットでAjaxを使う:通信編
- WordPress ウィジェットで cookie を使う
- WordPress ウィジェットで cookie を使う(補足)
WordPress パフォーマンス/高速化関連
- WordPress で1番最初に実行したい処理は must use plugins を使用
- WordPress プラグインロードに条件分岐を使い高速化する方法
- ウィジェット表示条件を簡単に管理出来る widget-load-filter プラグイン
- CSS,JSファイルの統合と縮小化プログラムの使い方
- ページキャッシュの仕組みと効果ーアクセス集中時用のプラグインも作ってみました
WordPressカスタマイズ関連
- WordPress 記事タイトル前に投稿フォーマット別のアイコンを表示してみる
- シンタックスハイライトに Google code prettify を導入
- WordPress テーマカスタマイザーの使い方
- Duplicate Post を参考に予約更新やもう一度つぶやけるプラグインを作る
- WordPress で Vimeo サムネイルを取得する方法
- WordPress で Youtubeサムネイルを oEmbed で取得
- WordPress で Vine 埋め込みとサムネイル取得
- WordPress で Instagramサムネイルを oEmbed で取得
- WordPress で Flickr videoサムネイルを oEmbed で取得
- WordPress Flickr 画像に自動的に著作者クレジットを付ける
- WordPress で SlideShare サムネイルを oEmbed で取得
- WordPress SoundCloud oEmbed カスタマイズとサムネイル取得
- WordPress で CodePen サムネイルを oEmbed で取得
- WordPressで「はてなブログカード」のような埋め込み機能作成
- Jetpack OGPとTwitterカードタグのカスタマイズ
- Jetpack 共有のカスタマイズ – Hatenaブックマーク追加と共有数による人気記事ランキングウィジェット
- WordPress に Twitter Video を 動画埋め込みする3つの方法
デバッグ関連
- wp_cron を使った外部データ取得の非同期化とそのデバッグ方法
- WordPress サイトのボトルネックを見つける為の解析ツール紹介
- ローカル環境のMySQL接続遅延とWordPressのLANアクセスについてのTips
その他Tips
- WordPressプラグインのデータ管理方法ガイド
- HTML文から指定タグ文を取り除き分離する
- WordPressプラグインでの日付入力(HTML5 カレンダー形式)
- WordPressプラグインで外部CSSファイルを使ってみる
- WordPress 記事本文をフックしてリンク先記事の Post ID 取得
- WordPress 投稿記事の Post ID から関連するカテゴリー情報を取得
- WP ウィジェットでの jQuery タブの使い方
- GeoIP2/GeoLite2 を使いIPアドレスから国情報取得!
トラブルに注意編
- PHPの比較は厳密に!(キャストはいるか)
- NetBeans Subversion でバグ位置を特定する
- NetBeans の「宣言へ移動」が出来ない!
- WordPress プラグインのアップデートでサーバーエラー500 じぇじぇじぇ
- WordPress 管理画面の表示がおかしくなった じぇじぇじぇ
- WordPress で構造化データエラー(entry-title, updated, author)にハイブリッド対応
データベース編
- NetBeansでMySQLデータベースへ接続してみる
- HeidiSQLでMySQLデータベースへ接続してみる
- MySQL Workbench でデータベースに接続してみる
- MySQL Workbench でデータモデルを作成してみる
- MySQL Workbench リバースエンジニアリング
- WordPressに新規テーブル作成 – HeidiSQLでデータベースらくらく開発
- MySQLテーブル結合 – HeidiSQLでデータベースらくらく開発
- MySQLインデックス設定方法 – HeidiSQLでデータベースらくらく開発
- MySQLテーブルデータのエクスポート/インポート
- HeidiSQLでエックスサーバーのMySQLにSSHポートフォワード接続
その他の便利なツール紹介
- ブラウザの開発ツールとFiddler2でHTTP通信をキャプチャーしてみる
- Google Analytics Query Explorer 2
- WordPress サイトのボトルネックを見つける為の解析ツール紹介
- WordPress で Google Chart Tools を使い可視化してみる
- NetBeans JS CSS Minify Compress プラグインを使い縮小化してみる
- NetBeans8にSASS/SCSSとcompassを導入