勉強したことのメモ

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で記事毎に設定したバナー広告を表示させる方法

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

Advanced Custom Fieldsでチェックボックスの記事を取得

Advanced Custom Fieldsでチェックボックス設定しているカスタ ...

WordPressのContact Form 7プラグインで入力内容確認及び送信完了ページを実装する方法

WordPressのContact Form 7プラグインで実装されたお問い合わ ...

WordPressで画像にカテゴリを設定し、記事投稿の際の画像選択時に指定したカテゴリの画像のみ表示させる方法

WordPressのメディアライブラリに画像を沢山登録していると、記事投稿の際の ...

WordPressでデータベース接続確立エラー発生時の対応方法

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