テーマによっては異なるphpが含まれている。テーマのディレクトリにファイルをアップロードすることで
新たにテーマを作ることが可能。
| ページ名 | 役割 | 備考 |
|---|---|---|
| index.php | トップページ | header.php、footer.php、sidebar.phpなどを読み込む、ベースとなるファイル |
| single.php | 個別(単体)の記事(投稿)ページ | header.php、footer.php、sidebar.phpなどを読み込む、ベースとなるファイル |
| header.php | ヘッダー部分 | |
| footer.php | フッター部分 | |
| sidebar.php | サイドバー部分 | 主にウィジェットを配置するファイル |
| search.php | サイドバー部分 | 検索エリア |
| comments.php | 個別(単体)の記事(投稿)ページのコメント欄 | single.phpから呼び出される |
| page.php | 固定ページのテンプレート | |
| front-page.php | 固定ページをトップページにした場合などのテンプレート | |
| home.php | トップページ | index.phpより優先度が高い。
これを使うとindex.phpは呼び出されない。 header.php、footer.php、sidebar.phpなどを読み込む、ベースとなるファイル |
| function.php | テーマフォルダ内で使う関数をまとめて定義しておく場所 | ここにアクセスして関数を実行して、各ファイルで表示する |
| category.php | カテゴリーごとの記事一覧など |
| やりたいこと | 概要 | 備考 |
|---|---|---|
| フッターに出力されている「Wordpress.org」へのリンクを削除する | .../wp-content/themes/テーマ名(例:twentyfourteen)/footer.phpをいじる。 | |
| 固定ページをフロントページにする | 1:固定ページの作成
2:フロントページのウィジェット設定 |
|
| パーマリンクの設定をする | wordpressにとってどんなリンクが最適か |
| やりたいこと | 概要 | 備考 |
|---|---|---|
| ウィジットとは | ウィジェットとは、主にサイトのサイドバーを簡単に編集できるようにブロック単位にした便利な機能のこと。
テンプレートによって異なるが、ウィジェットで編集できるのはサイドバーだけではなく、 フッターや記事下のCTAもウィジェットで設定できるようになっているテンプレートもある。 |
|
| RSSをサイドバーに設置する | ||
| ウィジェットを自作する | function.phpに定義して、sidebar.phpに出力する | ウィジェットとウィジェットアイテムの違いに注意 |
| ウィジェットアイテムを自作する | ||
| 関数名 | 役割 | 備考 |
|---|---|---|
| get_header(); | ヘッダーファイルheader.phpを呼び出す | |
| get_footer(); | フッターファイルfooter.phpを呼び出す | |
| get_sidebar(); | サイドバーファイルsidebar.phpを呼び出す | |
| get_sidebar('front'); | サイドバーファイルsidebar-front.phpを呼び出す | 引数に記述した文字列がsidebar-○○○.phpの形で呼び出される |
| wp_title("区切り文字" , true , "right"); | titleを出力する | |
| include(); | ファイルの読み込み | |
| get_template_part(" " , " "); | その他自作のファイル...phpを呼び出す | get_template_part("loop" , "index");なら
loop-index.phpを呼び出す。 loop-index.phpがなければloop.phpを呼び出す |
| get_template_directory_url(); | 使用中のテーマファイルディレクトリのurlを出力 | http://...com/wp-content/themes/テーマ名 |
| get_post_format() | get_template_part( ‘content’, get_post_format() ); | content.phpを呼び出す |
| _e('Nothing Found', 'twentytwelve'); | 'Nothing Found'という文字列をtwentytwelveの翻訳ファイルによって翻訳する | |
| bloginfo("url"); | ブログのトップページurlを出力 | |
| home_url() | ブログのトップページurlを取得 | 出力にはechoが必要 |
| bloginfo("title"); | ブログのタイトルを出力 | |
| bloginfo("description"); | ブログの説明文を出力 | |
| bloginfo("template_url"); | 使用中のテンプレートのurlを出力 | http://...com/wp-content/themes/テーマ名 |
| bloginfo("template_directory"); | 使用中のテーマファイルディレクトリのurlを出力 | http://...com/wp-content/themes/テーマ名 |
| get_bloginfo(); | ||
| wp_get_current_user(); | 現在ログインしているユーザーの情報を取得する | $user = wp_get_current_user();
echo $user->display_name; でユーザー名出力 |
| wp_login_url(); | ログインページへのリンクを取得 | 出力にはechoが必要 |
| wp_logout_url(); | ログアウトページへのリンクを取得 | 出力にはechoが必要 |
| include(TEMPLATEPATH . '/info.php'); | info.phpを出力する | TEMPLATEPATH .は.../wp-content/themes/twenty●●●/を指す |
| $wpdb->get_results(" SELECT FROM WHERE AND... "); | データベースからデータを取得 | |
| get_permalink($変数->ID) | リンクを取得してスラッグ名に変換する | 出力にはechoが必要 |
| 関数名 | 役割 | 備考 |
|---|---|---|
| add_action('アクション名' , '関数名'); | wp_head(ヘッダー部分を出力する)などの動作に紐づけて関数を実行する | アクション一覧 |
| add_filter('フィルター名' , '関数名'); | the_title(投稿タイトルを出力する)など、 動作のうちテキスト出力に関するものに紐づけて関数を実行し、 テキスト部分の一部を置換する(HTMLタグを追加・削除など) |
フィルター一覧 |
| 関数名 | 役割 | 備考 |
|---|---|---|
| the_post(); | 個別(単体)の記事(投稿)ページを出力 | |
| the_title('前の文字列' , '後の文字列' , true ); | 個別(単体)の記事(投稿)ページのタイトルを出力 | |
| the_content(); | 個別(単体)の記事(投稿)ページの本文を出力 | |
| the_excerpt(); | 個別(単体)の記事(投稿)ページの抜粋を出力 | |
| the_category(); | 個別(単体)の記事(投稿)ページのカテゴリーを出力 | |
| the_permalink(); | 個別(単体)の記事(投稿)ページのリンクを出力 | |
| the_date(); | 個別(単体)の記事(投稿)ページの投稿日時を出力 | |
| the_time(); | 個別(単体)の記事(投稿)ページの投稿日時を出力 | |
| have_posts(); | 個別(単体)記事(投稿)があるかどうか求める | |
| in_category('wordpress'); | 投稿が'wordpress'というカテゴリーに属しているか求める | |
| has_tag('wordpress'); | 投稿が'wordpress'というタグに属しているか求める。 | |
| has_exerpt(); | 投稿に抜粋があるかどうか求める | |
| comments_open(); | 投稿がコメントを受け付けているかどうか求める | |
| pings_open(); | 投稿がトラックバックを受け付けているかどうか求める | |
| 関数名 | 役割 | 備考 |
|---|---|---|
| is_home(); | ブログのトップページ | ユーザーが現在出力しているページを求める。
|
| is_front_page(); | ブログのトップページ | ユーザーが現在出力しているページを求める。
|
| is_single(); | 個別(単体)記事(投稿)ページ | ユーザーが現在出力しているページがsingle.phpかを求める。
|
| is_page(); | 固定ページ | ユーザーが現在出力しているページがpage.phpかを求める。
|
| is_category(); | アーカイブページ | ユーザーが現在出力しているページがarchive.phpかを求める。
|
| is_user_logged_in(); | ユーザーがログインしているかどうかを求める | ユーザーが現在出力しているページでログインしているかを求める。
|
| 関数名 | 役割 | 備考 |
|---|---|---|
| plugins_url('addfavicon/favicon.ico' , '__FILE__') | プラグインフォルダまでのパスを呼び出す | ...com/my_wp_testsite/wp-content/plugins/addfavicon/favicon.ico |
| 関数名 | 役割 | 備考 |
|---|---|---|
| esc_attr(); | HTMLタグを取り除く | |
| esc_html(); | < > & ” ‘をエンティティ化する。<を<;に >を>;に | HTMLテキストとして出力したいとき |
| 関数名 | 役割 | 備考 |
|---|---|---|
function 関数名(){
register_sidebar( array(
'name' => 'ユーザーログイン', // 管理画面で表示する名前
'id' => 'logIn', // ウィジェットID
'description' => 'ユーザーログイン', // 管理画面に表示する説明
'before_widgit' => '', // ウィジェットの前の文字列
'after_widgit' => '', // ウィジェットの後の文字列
'before_title' => '', // タイトルの前の文字列
'after_title' => '', // タイトルの後の文字列
));
}
|
ウィジェットを定義する | functions.phpに記述 |
| add_action('widgets_init' , '関数名'); | 関数をウィジェットとして登録する | widgets_initはアクションフック名
functions.phpに記述 |
| is_active_sidebar('ウィジェットID'); | ウィジェットIDがあるかどうかを求める。 | 主にsidebar.phpに記述 |
| dynamic_sidebar('ウィジェットID'); | register_sidebar();で指定したウィジェットを出力 | 主にsidebar.phpに記述 |
| 関数名 | 役割 | 備考 |
|---|---|---|
function 関数名(){
register_post_type( ' bookreview ' ,array(
' labels ' => array( ' name ' => ' 書評 '), // 管理画面のメニュー表示名
' public ' => true, // 管理画面に表示するか
' menu_position ' => 6, // サイドバーのどこに表示するか
' supports ' => array( ' title ' , ' editor ' , ' custom-fields '), // 編集画面で表示する項目
));
}
|
関数をカスタム投稿タイプとして定義する | functions.phpに記述 |
| add_action(' init ' , ' 関数名 ' , 1); | カスタム投稿を登録する | 第三引数の1は、デフォルト優先順位0である投稿、固定ページに次ぐ
functions.phpに記述 |
| post_type_exists( ' ラベル名 ' ) | カスタム投稿タイプがあるかどうか |
| 関数名 | 役割 | 備考 |
|---|---|---|
| get_cat_ID(' お知らせ '); | 「お知らせ」というカテゴリーのIDを取得する | |
get_posts(' ');
パラメーター
numberposts=n // n件読み込む。省略で5件。-1だと全て。
offset=n // 先頭からn件を除外。0だと除外なし。
category=ID // 投稿が属するIDを指定。省略でカテゴリーに関係なし。
orderby=キー // キーで並べ替えて投稿を読み込む
order=順序 // ASCで昇順、DESCで降順
キー
date // 投稿日時
modified // 更新日時
title // タイトルのabc順
auther // 著者のID順
name // スラッグのabc順
|
投稿を取り出す | |
| setup_postdata(); | 投稿が複数ページに渡っている場合の初期化をする | |
| 変数名 | 内容 | 備考 |
|---|---|---|
| $wp_query | 今読み込まれている投稿に関する情報 | プロパティ:ID post_title post_content post_author post_date post_modified post_stetus メソッド:get_queried_object() get_the_category() get_category_link() |
| $posts | 読み込まれている投稿群 | |
| $page | 処理中のページ | |
| $wpdb | データベース | |
| $comment | 今処理中のコメント | |
| $id | 今処理中のオブジェクトのid |
| ワードプレスに含まれるデータベーステーブル | ||
| 投稿記事のタイトルを取り出す | ||