勉強したことのメモ

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

  関連記事

Polylangのスイッチャーとページャーの組み合わせ方法

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

WordPressで複数あるクリック広告をランダムで表示させる方法

同じクリック広告をずっと貼っているとクリック単価が下がると聞いた。WordPre ...

WordPressにて投稿記事及び固定ページの記事数を取得・表示する方法

WordPressにてページ内に記事数を表示したいというケースがあった。また、通 ...

WP Social Bookmarking LightでSNSボタンが表示されない際の対応方法

WordPressでWordPress WP Social Bookmarkin ...

WordPressにてパーマリンク設定のカテゴリーベースに関して

WordPressのパーマリンク設定でカテゴリベースを設定したかった。ここは変更 ...