勉強したことのメモ

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にて記事内で動画(mp4)ファイルの再生する方法

WordPressでyoutube等の動画サイトの埋め込みタグではなく、mp4フ ...

Polylangのスイッチャーでクエリ(GETパラメータ)を引き継ぐ方法

WordPressで多言語サイトを作成するにあたりPolylangというプラグイ ...

WordPressの管理画面で記事一覧にアイキャッチ画像を表示

WordPressの管理画面で記事一覧にアイキャッチ画像を表示させる方法のメモ。 ...

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

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

WordPressでサイト及びサーバ内ファイルが改ざんされた際の対処方法

WordPressで立ち上げたサイトがあり、しばらく放置していたが久しぶりにチェ ...