勉強したことのメモ

webプログラマが勉強したことのメモ。

WordPressでプラグインの作成方法

   

WordPressで簡単なニュースを表示させるというプラグインを作成したので、使い方や作成方法のメモ。

 


 

■プラグイン

http://sample.taitan916.info/wp-plugin/simpleNews.zip

 


 

■使い方

管理画面でニュースとか書き込んで、[simpleNews]のショートコードか、

<?php echo simpleNews::displayNews();?>

をPHPファイルに記述したら表示される。

 


 

■任意のディレクトリと1つ以上のphpファイルを作成

ディレクトリ名とphpファイルの名前を合わす必要は無し。

尚、phpファイルには、

Plugin Name: プラグイン名。WordPressのプラグインページの「プラグイン」部分に表示される。
Plugin URI: プラグインを置いているページのURL
Description: プラグインの説明。WordPressのプラグインページの「説明」部分に表示される。
Author: 作者名
Version: バージョン
Author URI: 作成者HPのURL

を記述しないといけない。ここのメタ情報でWordPressはプラグインを認識する模様。

 


 

■フックと処理内容を書く

ブラウザ画面に送信される前に何か処理したい場合は、

add_filter('the_content', 'hogehoge');
function hogehoge(){
    //処理内容
}

 

管理画面内で何かしたい場合は、

add_action('admin_menu', 'adminPage');
function adminPage() {
	add_menu_page(
		'ニュース設定',	//メニューが有効になった時に表示されるHTMLのページタイトル用テキスト。
		'ニュース設定',	//管理画面のメニュー上での表示名。
		'level_8',	//このメニューページを閲覧・使用するために最低限必要なユーザーレベル。
		'simpleNewsOptionPage',	//メニューページのURL。
		'optionPage'	//メニューページにコンテンツを表示する関数。
	);
}

 

みたいな感じで書く。

 


 

■optionテーブルを使ってデータ保存

更新や挿入したい時は、

update_option('key', 'val');

を使う。既に入っている内容と更新した内容が同一の場合はfalseが返ってくる。

 

取得したい時は、

get_option('key');

で取得できる。

 


 

■その他

データベースは使いたいけどカラム数は変わらない場合、例えば設定の管理画面関連のようなものであればoptionテーブルを使う形で良さそう。

ログ保存みたいにカラムが増えてくるような機能は別途テーブル作成が必要そうなので、今度はそっちも作ってみる。

 - WordPress

  関連記事

WordPressでデータベース接続確立エラー

WordPressで「データベース接続確立エラー」というエラー表示がされた。大抵 ...

WordPressでスケジュール実行される日時を調べる方法

WordPressであるシステムを実装し、その際に毎日1回スケジュール実行(WP ...

WordPressの記事をfacebookに投稿

WordPressの記事をfacebookに投稿する際にOGP設定をする必要があ ...

WordPressにてフッターへ出現する笑顔マーク(smiley)を見えなくする方法

■やりたい事 WordPressにて左下へ勝手に出現する笑顔マーク(smiley ...

WordPressで閲覧者にテーマを変更させるプラグイン

「新規サイトを○○みたいなイメージでWordPressのテーマを見繕って欲しい」 ...

WordPressにてPHPのAPCuを使用して高速化を図る方法

先日本サイトのサーバにAPCuを導入した。しかしながら所感にも書いたとおりAPC ...

WordPressで自作テーマにウィジェット対応

WordPressで自作したテーマでウィジェットを登録しようとしたところダッシュ ...

WordPressのfunctions.phpの初期設定

WordPressのテーマ作成時にfunctions.phpを書くが、いつも内容 ...

WordPressで「データベース接続確立のエラー」

WordPressで設定ファイル(wp-config.php)は触っていないのに ...

WordPressでテーマ内の共通の変数

WordPressでテーマ内の共通変数を設定し使用したかった。例えば記事一覧ペー ...