wp-includesディレクトリ内にあるコアファイルについて、簡単にまとめました。
※目次をクリックすると目次の下部にコンテンツが表示されます。
- 1.functions.php
 - 2.option.php
 - 3.formatting.php
 - 4.pluggable.php
 - 5.plugin.php
 - 6.user.php
 - 7.post.php
 - 8.taxonomy.php
 
functions.php
1)functions.phpの概要
 
・WordPressのメインのAPI関数を含む。
 
・WordPressと簡単にやり取りできる標準化されたPHPの関数が定義されている。
 
・WordPressのコアのファイル、プラグイン、テーマなどすべての機能がこのファイル内の関数を使用する。
 
2)functions.php内の主な関数
 
・current_time()
ブログの現在のローカル時間を返す。
 
・force_ssl_login()
ログインページのリクエストをSSLのみに制限にする
 
・wp_nonce_field()
フォームにhiddenフィールドとして追加するためのnonceを取得または表示。nonceフィールドはフォームの内容が現在のサイトから来たものであり、他のサイトからではないということを認証するために使われる。
 
・absint()
値を負ではない整数に変換。
 
・wp_die()
WordPressの実行を強制終了し、HTMLのエラーメッセージを表示する
・WordPressのメインのAPI関数を含む。
・WordPressと簡単にやり取りできる標準化されたPHPの関数が定義されている。
・WordPressのコアのファイル、プラグイン、テーマなどすべての機能がこのファイル内の関数を使用する。
2)functions.php内の主な関数
・current_time()
ブログの現在のローカル時間を返す。
・force_ssl_login()
ログインページのリクエストをSSLのみに制限にする
・wp_nonce_field()
フォームにhiddenフィールドとして追加するためのnonceを取得または表示。nonceフィールドはフォームの内容が現在のサイトから来たものであり、他のサイトからではないということを認証するために使われる。
・absint()
値を負ではない整数に変換。
・wp_die()
WordPressの実行を強制終了し、HTMLのエラーメッセージを表示する
option.php
1)option.phpの概要
 
・WordPressのOptions API関数、Transients API関数を含む。
 
・Options APIは、データベースにデータを保存するためのシンプルで標準的な手段で、オプションを作成し、それにアクセスし、更新や削除を容易に行えるようになる。
 
すべてのデータは、カスタムな名称のもとにwp_optionsテーブル内に保存される。
 
・Transients APIは、データに名前と有効期限を設定して、データベース内に保存する標準的な方法。(一時的に保存されるべきデータの事を「Transient」)
 
Transients APIは Options APIに似ているが、有効期限という機能を使うことで、wp_optionsテーブルをデータ保存用に使うことを可能にする。
 
・Transient APIは本質的にキャッシングプラグインによってスピードアップされるが、Options APIはそうではないということに注意。
 
2)option.php内の主な関数
 
・add_option()、update_option()、get_option()
データベースオプションを作成、更新、取得
 
・add_site_option()、update_site_option()、get_site_option()
上記関数のマルチサイト用。
 
・set_transient()、get_transient()、delete_transient()
Transientデータをデータベースに保存、取得、削除。Transientデータは、有効期限が過ぎると自動で削除される。
・WordPressのOptions API関数、Transients API関数を含む。
・Options APIは、データベースにデータを保存するためのシンプルで標準的な手段で、オプションを作成し、それにアクセスし、更新や削除を容易に行えるようになる。
すべてのデータは、カスタムな名称のもとにwp_optionsテーブル内に保存される。
・Transients APIは、データに名前と有効期限を設定して、データベース内に保存する標準的な方法。(一時的に保存されるべきデータの事を「Transient」)
Transients APIは Options APIに似ているが、有効期限という機能を使うことで、wp_optionsテーブルをデータ保存用に使うことを可能にする。
・Transient APIは本質的にキャッシングプラグインによってスピードアップされるが、Options APIはそうではないということに注意。
2)option.php内の主な関数
・add_option()、update_option()、get_option()
データベースオプションを作成、更新、取得
・add_site_option()、update_site_option()、get_site_option()
上記関数のマルチサイト用。
・set_transient()、get_transient()、delete_transient()
Transientデータをデータベースに保存、取得、削除。Transientデータは、有効期限が過ぎると自動で削除される。
formatting.php
1)formatting.phpの概要
 
・WordPressのAPIのフォーマット関数を含む。
 
・これらの関数は出力を様々な方法でフォーマットする。
 
2)formatting.php内の主な関数
 
・esc_attr()
< > & ” ‘文字参照をエンコードする。alt、value、titleなどのHTML要素(特にフォーム値)をエスケープする場合は必ず使用する
 
・esc_html()
HTMLブロックのエスケープ。
 
・esc_url()
テキストや属性などのURLを無害化する時に用いる関数
 
・sanitize_text_field()
ユーザーが入力、またはデータベースから取得した文字列を無害化
 
・is_email()
emailがvalidかチェック
 
・capital_P_dangit()
“WordPress”という誤った表記を”WordPress”に変更する。WordPressはこれをthe_content、the_title 、comment_textのフィルターにて用いる。
・WordPressのAPIのフォーマット関数を含む。
・これらの関数は出力を様々な方法でフォーマットする。
2)formatting.php内の主な関数
・esc_attr()
< > & ” ‘文字参照をエンコードする。alt、value、titleなどのHTML要素(特にフォーム値)をエスケープする場合は必ず使用する
・esc_html()
HTMLブロックのエスケープ。
・esc_url()
テキストや属性などのURLを無害化する時に用いる関数
・sanitize_text_field()
ユーザーが入力、またはデータベースから取得した文字列を無害化
・is_email()
emailがvalidかチェック
・capital_P_dangit()
“WordPress”という誤った表記を”WordPress”に変更する。WordPressはこれをthe_content、the_title 、comment_textのフィルターにて用いる。
pluggable.php
1)pluggable.phpの概要
 
・WordPressのAPIのプラガブル関数を含む。
 
・このファイル内の関数(プラガブル関数)は、プラグインを通じて上書きできる。
 
すべてのプラグインが読み込まれた後にプラグイン内でプラガブル関数が定義されていない時にのみ、WordPressはこのファイル内の関数を使用する。
 
2)pluggable.php内の主な関数
 
・wp_mail()
WordPressからメールを送信
 
・get_userdata()
指定したユーザーIDのユーザーデータを取得
 
・wp_get_current_user()
ログイン中のユーザーのデータを取得
 
・wp_set_password()
ユーザーのパスワードを暗号化されたパスワードで更新
 
・wp_rand()
ランダム数値を生成
 
・wp_logout()
ユーザーをログアウトし、ユーザーセッションを削除
 
・wp_redirect()
他のページへリダイレクト
 
・get_avatar()
ユーザーのアヴァターをリターン
・WordPressのAPIのプラガブル関数を含む。
・このファイル内の関数(プラガブル関数)は、プラグインを通じて上書きできる。
すべてのプラグインが読み込まれた後にプラグイン内でプラガブル関数が定義されていない時にのみ、WordPressはこのファイル内の関数を使用する。
2)pluggable.php内の主な関数
・wp_mail()
WordPressからメールを送信
・get_userdata()
指定したユーザーIDのユーザーデータを取得
・wp_get_current_user()
ログイン中のユーザーのデータを取得
・wp_set_password()
ユーザーのパスワードを暗号化されたパスワードで更新
・wp_rand()
ランダム数値を生成
・wp_logout()
ユーザーをログアウトし、ユーザーセッションを削除
・wp_redirect()
他のページへリダイレクト
・get_avatar()
ユーザーのアヴァターをリターン
plugin.php
1)plugin.phpの概要
 
・WordPressのプラグインAPI関数を含む。
 
2)フック、アクションとフィルタ
 
・WordPressはプラグインをWordPress本体に“引っ張り込む(hook into)”ためのフックを提供している。
 
これは、特定のタイミングでプラグインの関数を呼び出したり、それによってプラグインを作動させたりするためのもの。
 
フックには次の2種類がある。
 
①アクション
 
実行中の特定のポイントもしくは特定のイベント発生時にWordPressのコアが起動させるフック。
 
アクションAPIを使用して、これらのポイントで実行中のPHP関数を一つ以上指定することができる。
 
②フィルター
 
データベースに追加する前やブラウザのスクリーンに送り出す前にさまざまなタイプのテキストを改造するためにWordPressが起動させるフック。
 
プラグインは、フィルターAPIを使用して、これらのタイミングで特定のタイプのテキストを改造するために一つ以上のPHP関数の実行を指定することができる。
 
2)plugin.php内の主な関数
 
・add_filter()
 
指定したフィルターフックに、関数をフックする。
フィルターは、様々な種類のテキストがデータベースまたはブラウザ画面に送信される前にWordPressが変更を行うフック。
 
・add_action()
特定のアクションに関数をフック。この関数はadd_filter() のエイリアス。
 
・register_activation_hook()
プラグインが有効にされる時にコールされるフック。
 
・register_deactivation_hook()
プラグインが停止されるときにコールされるフック。
 
・plugin_dir_url()
プラグインのディレクトリのパスをリターン。
 
・plugin_dir_path()
プラグインのURLをリターン。
 
・doing_filter()、doing_action()
現在処理されているフィルター又はアクションの名前をリターン。
・WordPressのプラグインAPI関数を含む。
2)フック、アクションとフィルタ
・WordPressはプラグインをWordPress本体に“引っ張り込む(hook into)”ためのフックを提供している。
これは、特定のタイミングでプラグインの関数を呼び出したり、それによってプラグインを作動させたりするためのもの。
フックには次の2種類がある。
①アクション
実行中の特定のポイントもしくは特定のイベント発生時にWordPressのコアが起動させるフック。
アクションAPIを使用して、これらのポイントで実行中のPHP関数を一つ以上指定することができる。
②フィルター
データベースに追加する前やブラウザのスクリーンに送り出す前にさまざまなタイプのテキストを改造するためにWordPressが起動させるフック。
プラグインは、フィルターAPIを使用して、これらのタイミングで特定のタイプのテキストを改造するために一つ以上のPHP関数の実行を指定することができる。
2)plugin.php内の主な関数
・add_filter()
指定したフィルターフックに、関数をフックする。
フィルターは、様々な種類のテキストがデータベースまたはブラウザ画面に送信される前にWordPressが変更を行うフック。
・add_action()
特定のアクションに関数をフック。この関数はadd_filter() のエイリアス。
・register_activation_hook()
プラグインが有効にされる時にコールされるフック。
・register_deactivation_hook()
プラグインが停止されるときにコールされるフック。
・plugin_dir_url()
プラグインのディレクトリのパスをリターン。
・plugin_dir_path()
プラグインのURLをリターン。
・doing_filter()、doing_action()
現在処理されているフィルター又はアクションの名前をリターン。
user.php
1)user.phpの概要
 
・WordPressのuser API関数を含む。
 
2)user.php内の主な関数
 
・get_users()
$argsで指定された条件に合うユーザーの配列を取得
 
・add_user_meta()、get_user_meta()、delete_user_meta()
ユーザーのメタデータを追加、取得、削除
 
・username_exists()
ユーザー名が存在するかチェック
 
・email_exists()
メールアドレスが存在するかチェック
 
・wp_insert_user()、wp_update_user()
ユーザーをデータベースに挿入、更新
・WordPressのuser API関数を含む。
2)user.php内の主な関数
・get_users()
$argsで指定された条件に合うユーザーの配列を取得
・add_user_meta()、get_user_meta()、delete_user_meta()
ユーザーのメタデータを追加、取得、削除
・username_exists()
ユーザー名が存在するかチェック
・email_exists()
メールアドレスが存在するかチェック
・wp_insert_user()、wp_update_user()
ユーザーをデータベースに挿入、更新
post.php
1)post.phpの概要
 
・投稿に関する関数、ユーティリティ関数
 
2)post.php内の主な関数
 
・wp_insert_post()
データベースへ投稿(および固定ページ)を追加。
 
・get_post()
投稿 ID で指定した投稿のレコードをデータベースから取得
 
・get_posts()
最近の投稿あるいはパラメータに一致した投稿を取得
 
・add_post_meta()
指定した記事や固定ページにカスタム(メタ)フィールドを追加
 
・get_post_meta()
特定の投稿の特定のキーからカスタムフィールドの値を取得
 
・get_post_custom()
指定した記事や固定ページから、すべてのカスタムフィールドの情報を配列で取得
 
・set_post_thumbnail()
投稿のアイキャッチ画像を設定
 
・register_post_type()
投稿タイプを作成または変更。
・投稿に関する関数、ユーティリティ関数
2)post.php内の主な関数
・wp_insert_post()
データベースへ投稿(および固定ページ)を追加。
・get_post()
投稿 ID で指定した投稿のレコードをデータベースから取得
・get_posts()
最近の投稿あるいはパラメータに一致した投稿を取得
・add_post_meta()
指定した記事や固定ページにカスタム(メタ)フィールドを追加
・get_post_meta()
特定の投稿の特定のキーからカスタムフィールドの値を取得
・get_post_custom()
指定した記事や固定ページから、すべてのカスタムフィールドの情報を配列で取得
・set_post_thumbnail()
投稿のアイキャッチ画像を設定
・register_post_type()
投稿タイプを作成または変更。
taxonomy.php
1)taxonomy.phpの概要
 
・Taxonomy APIによって使用される関数を含む。
 
・タクソノミーとは物事をグループ化する方法、つまり平たく言うと分類ということ。
 
・タクソノミーは、カテゴリーやタグなどのようにメタデータの階層関係を管理するのに使用される。
 
2)taxonomy.php内の主な関数
 
・register_taxonomy()
タクソノミーを(カスタム分類として)追加したり、上書きしたりする。
 
・get_taxonomies()
タクソノミーの設定情報(メタデータ)が入ったオブジェクトを取得
 
・wp_insert_term()、wp_update_term()
引数で指定したタクソノミーのタームを追加、更新する。
・Taxonomy APIによって使用される関数を含む。
・タクソノミーとは物事をグループ化する方法、つまり平たく言うと分類ということ。
・タクソノミーは、カテゴリーやタグなどのようにメタデータの階層関係を管理するのに使用される。
2)taxonomy.php内の主な関数
・register_taxonomy()
タクソノミーを(カスタム分類として)追加したり、上書きしたりする。
・get_taxonomies()
タクソノミーの設定情報(メタデータ)が入ったオブジェクトを取得
・wp_insert_term()、wp_update_term()
引数で指定したタクソノミーのタームを追加、更新する。
- テーマ作成に関わるメモ
 - WordPressコアの各ファイルの概要
 - WordPressで使われるテーブル一覧
 - WordPressのwpdbクラスを使ってテーブル操作
 - WordPressの子テーマの概要、作り方
 - ヘッダー、フッターにナビゲーションメニューを追加
 - カテゴリーやアーカイブページなどに前後のページへのリンクを追加
 - ブートストラップ3を使って自作テーマ作成
          
- (1)全体概要
 - (2)ブートストラップのサンプルを使ってindex.phpを作成
 - (3)header.php、sidebar.php、footer.php、index.phpのテンプレートファイル作成
 - (4)JavaScriptインクルードの設定
 - (5)投稿本文表示用のテンプレートファイルを作成
 - (6)単一投稿用(single.php)のテンプレートファイル作成
 - (7)固定ページ用(page.php)のテンプレートファイル作成
 - (8)検索結果表示用(search.php)のテンプレートファイル作成
 - (9)アーカイブ表示用(archive.php)のテンプレートファイル作成
 - (10)カテゴリー表示用(category.php)のテンプレートファイル作成
 - (11)WordPressのメニュー画面でナビゲーションメニューを設定
 - (12)サイトタイトル、キャッチフレーズを表示できるようにheader.phpを修正
 - (13)カスタムヘッダー画像を使えるようにheader.phpを修正
 - (14)404.phpテンプレートファイルを作成
 - (15)記事タイトル部分のCSS設定
 - (16)記事メタデータ部分のCSS設定
 - (17)記事本文部分のCSS設定
 - (18)前後のページへのリンクのCSS設定
 - (19)前後の投稿へのリンクのCSS設定
 - (20)コメント投稿フォーム、コメント表示部のCSS設定
 - (21)ウィジェット部のCSS設定
 - (22)アーカイブページのCSS設定
 - (23)画面を左右にスライドさせるボタンのCSS設定
 
 - Bootstrapのフリーのテーマを使ってデザインを簡単にカスタマイズ
 - ブートストラップ3を使って作成したナビゲーションメニューをAngularJSを使う形に変更する方法
 - 投稿にメタボックスを追加する方法