WordPress 自作プラグイン 独自プラグイン
WordPressで独自の表・汎用な?データベース・PHPコードなど実装する
タグ候補: WordPress 改造 改変 カスタマイズ 汎用データベース 表 表組
なんちゃってWebアプリ 独自プラグイン 自作プラグイン
以下、試行錯誤の結果です・・(2009-10-08)
(あまり正しい方法でないかもしれないが、こうしたらできるよ、
程度で。時間があるならば、WordPressの公式サイトにすごく
いいドキュメントがいっぱいあるのでそちらをまず読むことを
お勧めする。
たとえば
http://wpdocs.sourceforge.jp/ )
○この文章に書いてあること
・WordPressをカスタマイズ・自前の独自データベースと統合
たとえば、自前のMySQL+PHPなWebデータベースがあったりして、
[http://........../.....php ]
-----------------------------------------
|ID|種類 |値段|備考 |
| 1|りんご|100| |
| 2|バナナ|200| |
| 3|いちご|900|季節外れ|
-----------------------------------------
これを、WordPressで表示させたい、あるいは、
WordPressのデザインのまま使いたい、あるいは、
他はWordPressにお任せしてしまって、なんちゃって
Webアプリみたく、という場合。そういう場合には役に
立つかもしれない。
・テーマ・プラグイン、だけでなくてもうちょっとPHP
レベルでWordPressをいじりたい、という人。
x テーマの作り方とかは書かれてません。テーマを利用することは
書かれてますが・・
○ちょっとだけWordPressのこと
WordPressのカスタマイズ、改変、改造、には基本以下の2つが
必要みたい。
1.plugiins/ にプラグインを登録
2.themes/ から登録したプラグインを呼び出し
プラグインは結構簡単に書ける。重要なのはちゃんと重複しない
名前をつけることだ。心配だったら、my_ とか重複しない
であろう接頭名をファイルの前につければいいだろう。
一番単純なプラグインはこんなだ。コメントを除けば2,3行。
------------
<?php
/*
Plugin Name: my_helloworld
*/
function my_helloworld()
{
echo "Hello World<br />\n";
}
?>
------------
これだけ。DrupalやXOOPSなどと比べてもお作法も何も
あったもんでない。これを、plugins/ 以下に、
my_helloworld/my_helloworld.php とでも保存すれば
WordPressから見つけてくれて(パーミッションは
気をつける。たぶん、httpd のユーザーをオーナー
(apacheとか?)にして、chmod 644 でいいはずだ)。
WordPressの管理者で有効(Activate)にするだけだ。
あとは、themes/ の index.php とか page.php とか
(編集するまえに、バックアップをとっておくことを
おすすめする。なんだったっら、WordPressごと/
データベースも
mysqldump -u user -p WORDPRESSDB > WORDPRESSDB.mysql
どかでもしておこう。WORDPRESSDBは、WordPress
を設定したときの、DB名。わからなくなったら mysqladmin
経由で確か調べられるはず。)から、有効(Activate)にした
自作プラグインを呼び出せばよい。
たとえば、page.php
はこんな風に
<?php get_header(); ?>
<div id="content">
:
始まっているから、この
<div id="content">
の下に
<?php if ( is_page('About') ) { my_helloworld((); } ?>
の1行を入れて、Aboutページを押してみよう。
今までのAboutのページに、"Hello World"と表示されればOK。
準備運動とWordPressの動きの本質部分はこれでOKだ。(is_page
ってのは、例えば今回のように('About')と指定したら、その名前の
ページが表示される場合・・ということ。独自の機能(プラグイン)と
WordPressのナビゲーションを紐付けるとき、このワザを知っていると
便利だ。)
WordPressの動きの理解のついでにもうひとつ
このことは知っておこう..というか、お断り。
今回はデータベースはWordPressのデータベース「に」
独自のデータベースだったら、そこ「から」テーブル(表)を
インポート(持ち込んで)、操作するってルールで話を進める。
もちろん、WordPressのDBと独自DBそれぞれ独立に操作することも
できるんだろうけど、ちょっと今回はそこまで調査していない。
一方で、というか、そのため、と言ったほうがいいが、WordPress
のテーブル構成がごちゃごちゃになるので、頭の中で整理しておく
こと。WordPressのテーブルは wp_ とか頭についているので、
自分のテーブルには、me_ とかつけとくと整理されるかも。
(インポートの仕方は解説しないが、独自のデータベースを
mysqldump して、そのSQLを読んで、編集、適当な部分を
WordPress側に mysql -u user -p WORDPRESSDB < 必要場部分のSQL、
としたらいいだろう。)
○以上で、次はいよいよ独自拡張。
WordPressのページで、
http:// |
----------------------------------
HOME ABOUT [TABLE]
|
|ID|種類 |値段|備考 |
| 1|りんご|100| | |
| 2|バナナ|200| |
| 3|いちご|900|季節外れ| |
|
こんな感じで自前のテーブルを表示してみる。
< 続く... http://adgj.net/wordpresscustom/ >
(というのもあんまりなので、思いっきり作っている最中の、
htl/htl.php というプラグインと、それを呼び出す、
page.php を置いておく。ただし、作りかけなので、それなりに
コードが汚い。
○2009-10-18 進捗
通常画面/管理画面の2つの状態と、通常画面でのデータの追加(insert)、
管理画面でのデータ追加(insert)、削除(delete)、更新(update)までできる
ようになった。
こちらで動いている(http://abilict.sasaeru.jp/hashtaglink/)
htl_php20091018.txt
page_php20091018.txt
(WordPressのDBにはこれをインポートしておく)
それぞれ、plugins/htl/ (新たに作る) htl.php として設置、
themes/buddytheme(私はByddyPress(あ、ちなみにWordPressμ))/ page.php
を改造、して、手動でセットアップすると動くはず。)
実際に動いているところ。(4件のデータ、1ページ=3件として、1ページ目表示。
[prev][next]ボタンで、独自のテーブルのIDをとりだして、ページの行き来、
+データの新規登録ができるまでできてる。あとはデータのinsertとかsort,
searchを考えたい・・)
※こちらでもう少し進んだバージョンが動いている(http://abilict.sasaeru.jp/hashtaglink/)
相談・依頼はこちらまで
メール matsu.at.adgj.net 松浦弘智
掲示板:http://bbs.teacup.com/?parent=every&cat=2190&topics=295
チャット:http:/adgj.net/chat/
Drupal version! http://adgj.net/drupal/
CC BY 2.1
(adgj.net/wordpresscustom
by is licensed under a Creative Commons BY 2.1 License.
http://adgj.net/wordpresscustom )
