勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

WordPressでオリジナルのプラグインを作成する方法

   2024/04/16  WordPress

WordPressでオリジナルのプラグインを作成する方法を以下にメモ。

 

任意のディレクトリと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テーマファイル内のfunctions.phpの初期設定についてメモ

WordPressのテーマファイル作成時にfunctions.phpを書くが、い ...

PHP8系で「Warning: Constant xxxxx already defined in」エラーの対応方法

PHP8系&WordPress6.4.3で「Warning: Const ...

WordPressを4.8.2にして不具合

WordPressを4.8.2にすると記事の新規追加時にウィジウィグの挙動がおか ...

WordPressサイトのロードアベレージが高い際の対応方法

あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...

WordPressで記事毎に設定したバナー広告を表示させる方法

WordPressでGoogleアドセンスのようなクリック広告ではなく、商品を指 ...