記事をページ分割

記事をページ分割して表示することができる。
記事の本文に<!–nextpage–>を記述すると改ページになるので、ひとつの記事が複数ページで表示されるようになる。

1ページ目の内容
<!–nextpage–>
2ページ目の内容
<!–nextpage–>
3ページ目の内容

使用中のテーマがページネーションに対応しているかどうか確認が必要。
自分でテーマを作成する際は、デフォルトテーマを参考にするとよい。

定期的に自動処理させる

WordPressに用意されている擬似CRONのようなものを使って、定期的な自動処理を実行することができる。
wp_schedule_event()で時間を指定して、独自のアクションフックを発生させる。
実行のタイミングは、毎時(hourly)か毎日(daily)。

毎日、午前5時に設定する場合
[sourcecode language=’php’]
$timenow = time();
$year = date(‘Y’, $timenow);
$month = date(‘n’, $timenow);
$day = date(‘j’, $timenow);
$hours = 5;
$minutes = 0;
$seconds = 0;
$schedule = mktime($hours, $minutes, $seconds, $month, $day, $year);
wp_schedule_event($schedule, ‘daily’, ‘everyday_myevent’);
[/sourcecode]

設定した時間になるとeveryday_myeventが発生するので、処理を関連づけておく。
[sourcecode language=’php’]
add_action(‘everyday_myevent’, ‘run_myschedule’);

function run_myschedule() {
// 処理
}
[/sourcecode]

解除する場合
[sourcecode language=’php’]
wp_clear_scheduled_hook(‘everyday_myevent’);
[/sourcecode]

状態を取得する場合
[sourcecode language=’php’]
if($next_scheduled = wp_next_scheduled(‘everyday_myevent’)){
$next = date(‘Y-m-d H:i:s’, $next_scheduled);
}
[/sourcecode]

テーマ用の関数を作るには

テーマで使う処理をfunctions.phpに関数として記述することができる。
テーマのディレクトリにfunctions.phpを作成しておくと、テーマを初期化する際に自動的に読み込まれる。functions.phpはテーマによってはすでに存在しているので、自分用関数はここに追加すればよい。
functions.phpはテーマを初期化する際に自動的に読み込まれ、ここに書いた関数はテーマ内から呼ぶことができる。functions.phpでは冒頭の<?phpの前と、後尾の ?>の後ろに改行を入れないこと。

プラグインを作るには

プラグインとは、どういうときに何をしたいか?というようなアクションフックへの定義の集まりだ。これを自作するには、/wp_content/plugins/以下にフォルダを用意し、PHPで処理を書いていくことになる。ファイル名は自由で、以下のコメント文がついているファイルがまず実行される。

[sourcecode language=’php’]
/*
Plugin Name: 名称
Plugin URI: URL
Description: 説明
Version: バージョン
Author: 開発者
Author URI: 開発者URL
*/
[/sourcecode]

ファイルが複数になる場合は、必要に応じてrequireしてもよい。プラグインの作成には、クラスを使用するのが主流のようだ。こうやって誰かが作ったプラグインをダウンロードすると、ソースを見ることができるのはいい。自分のやりたいことに似たプラグインを見つけて改良したり、PHPの勉強にもなるので助かる。

ダッシュボードにメニューを追加する

ダッシュボードにプラグイン専用のメニューを追加することができる。
使用するアクションフックは、admin_menu
[ほげ]というメニューを追加して、その配下に[子ほげ]というサブメニューを追加する場合は、以下のようになる。

[sourcecode language=’php’]
add_action(‘admin_menu’,’add_mymenu’);

function add_mymenu(){

add_menu_page(‘MYMENU’, ‘ほげ’, 0, __FILE__, ‘mymenu’);
add_submenu_page(__FILE__, ‘MYMENU’, ‘子ほげ’, 0, ‘mychild’, ‘mychild’);
}

function mymenu(){
// mymenuの処理
}

function mychild(){
// mychildの処理
}
[/sourcecode]

DBのテーブル名

プラグインでSQL文を記述する場合の、テーブル名の参照のしかた、

WORDPRESSで使用するテーブル名は”wp_”とは限らないため、プラグインでSQLを使う場合は、$wpdb->(接頭語より後の名前)でテーブルを参照する。例えば投稿テーブルは、$wpdb->postsとなる。
または接頭語$wpdb->prefixを使って参照することもできる。投稿テーブルは、$wpdb->prefix .”posts”となる。
自分で追加したテーブルは、$wpdb->prefix .”(接頭語より後の名前)”となる。

プラグインを入れる

ダウンロードしてきたプラグインを反映するには、

(1)/wp_content/plugins/以下にプラグインのフォルダをコピーする
(2)ダッシュボードの[プラグイン]メニューのプラグイン一覧で「使用する」をクリックする

プラグインによっては、[設定]メニューに設定項目が追加されている場合がある。

テーマを作成する

テーマを作成する場合は、一覧ページと詳細ページのHTMLをあらかじめ作成しておくと作業しやすい。

(1)/wp_content/themes/の配下にテーマのフォルダを用意する。
(2)defaultテーマのファイルをコピーして、あらかじめ用意したHTMLに合わせて編集を加えていくだけ。

HTMLとPHPが少し分かれば十分。
とりあえず編集が必要なファイルは以下。
header.php ヘッダ
footer.php フッタ
index.php トップページ(一覧)
archive.php アーカイブ(カテゴリ、月別などの一覧)
sidebar.php サイドバー
single.php 詳細ページ
searchform.php 検索フォーム
search.php 検索結果の一覧

残りは必要に応じて編集する。
テーマはstyle.cssで判断されるので、かならずこの名前のファイルを用意して、冒頭に説明を記述しておく必要がある。
テーマのサムネイルを用意しておくと、テーマの一覧に表示される。サムネイルのファイル名はscreenshot.png、サイズは300X225px