▶ その他 いろいろ
WordPress講座
WordPress講座
WordPressサイト
オフィシャル
WordPress 日本語
ショーケース
TechCrunch Japan
100SHIKI ~ 世界のアイデアを日替わりで
インストール
WordPress | 日本語 >> インストール
http://ja.wordpress.org/install/
- wp- config.php
// ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //
/** WordPress のデータベース名 */
define('DB_NAME', 'tatenosystem');
/** MySQL のユーザー名 */
define('DB_USER', 'tatenosystem');
/** MySQL のパスワード */
define('DB_PASSWORD', 'XXXXXXX');
/** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */
define('DB_HOST', 'localhost');
- 1つのデータベースに複数のWordPressを入れたい
/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
$table_prefix = 'wp_';
テーマフォルダ
WordPress3 標準テーマ「twentyten」
- /home/navilog/public_html/wp- content/themes/twentyten/
「ナビログ」テーマ
- /home/navilog/public_html/wp- content/themes/navilog/
いろいろなテーマ
Free Themes Directory
http://wordpress.org/extend/themes/
WordPress日本語テーマ無料配布サイト1200以上紹介
http://wordpress.siyouyo.com/theme/1597/
テンプレートファイル
テンプレート階層(チェック順序)
http://wpdocs.sourceforge.jp/テンプレート階層
最少構成の WordPress テーマ
最小構成は2ファイルです。
- style.css
- index.php
※ screenshot.png という300x225の画像ファイルがあると、管理画面でテーマのプレビュー画面として使用されます。
style.css サンプル
@charset "utf-8";
/*
Theme Name: TEST
Theme URI: http://hogehoge/
Description: Very simple Test Theme.
Version: 0.0
Author: Your Name
Author URI: http://hogehoge/
*/
body {
line-height: 1;
}
h1, h2, h3, h4, h5, h6 {
font-weight: normal;
clear: both;
}
index.php サンプル
<?php while ( have_posts() ) : the_post(); ?>
<h2><?php the_title(); ?></h2>
<div class="entry-content">
<?php the_content(); ?>
</div>
<?php endwhile; ?>
テンプレートファイル チェック順序
サイト構築の例
デフォルトのテーマを見てみよう(twentytenテーマの一部)
- twentytenテーマ
index.php
<?php
get_header(); ?>
<div id="container">
<div id="content" role="main">
<?php
get_template_part( 'loop', 'index' );
?>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
関数リファレンス/get template part
http://wpdocs.sourceforge.jp/関数リファレンス/get_template_part
loop.php (一部)
<?php while ( have_posts() ) : the_post(); ?>
<h2 class="entry-title"><?php the_title(); ?></h2>
<div class="entry-content">
<?php the_content(); ?>
</div>
<?php endwhile; // End the loop. Whew. ?>
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
<div id="nav-below" class="navigation">
<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">←</span> Older posts', 'twentyten' ) ); ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">→</span>', 'twentyten' ) ); ?></div>
</div>
<?php endif; ?>
Word Press Loop
http://wpdocs.sourceforge.jp/The_Loop
WordPress チートシート
テンプレートファイル
FILE | 説明 |
---|---|
header.php | ヘッダー部分 |
index.php | メイン部分 |
sidebar.php | サイドバー部分 |
footer.php | フッター部分 |
single.php | 投稿記事のテンプレート |
page.php | ページのテンプレート |
comments.php | コメントのテンプレート |
search.php | 検索結果のテンプレート |
searchform.php | 検索フォームのテンプレート |
archive.php | アーカイブのテンプレート |
functions.php | オプションの関数ファイル |
404.php | エラーページのテンプレート |
style.css | スタイルシート |
テンプレートタグ
TAG | 説明 |
---|---|
<?php the_time(); ?> | 現在の記事の投稿時間を表示 |
<?php the_date(); ?> | 現在の記事の投稿日時を表示 |
<?php the_title(); ?> | 現在の記事のタイトルを表示 |
<?php the_content(); ?> | 現在の記事の本文を表示 |
<?php the_permalink(); ?> | 現在の記事のパーマリンクURLを表示 |
<?php the_category(); ?> | 記事のカテゴリーをリンク付きで表示 |
<?php the_author(); ?> | 現在の記事の著者名を表示 |
<?php the_tags(); ?> | 現在の記事のタグを表示 |
<?php the_ID(); ?> | 現在の記事の記事IDを表示 |
<?php wp_list_pages(); ?> | リンク付きページ一覧を表示/取得 |
<?php wp_list_categories(); ?> | リンク付きカテゴリ一覧を表示/取得 |
<?php posts_nav_link(); ?> | 前後のページへのリンクを表示 |
<?php next_post_link(); ?> | 記事ページで次の記事へのリンクを表示 |
<?php previous_post_link(); ?> | 記事ページで前の記事へのリンクを表示 |
<?php the_search_query();?> | 検索文字列を表示 |
<?php trackback_url(display); ?> | トラックバックURIを表示/取得 |
<?php wp_tag_cloud(); ?> | タグクラウドを表示 |
<?php get_calendar(); ?> | カレンダーを表示 |
<?php wp_get_archives(); ?> | リンク付きアーカイブリストを表示 |
テンプレートタグ / bloginfo
TAG | 説明 |
---|---|
<?php bloginfo('name'); ?> | ブログのタイトル |
<?php bloginfo('description'); ?> | ブログの説明文 |
<?php bloginfo('url'); ?> | サイトURL |
<?php bloginfo('stylesheet_url'); ?> | メインCSSファイルのURL |
<?php bloginfo('template_url'); ?> | テーマファイルディレクトリのURL |
<?php bloginfo('rss2_url'); ?> | RSS 2.0 形式のメインフィードURL |
<?php bloginfo('charset'); ?> | 「表示設定」で指定された文字コード |
<?php bloginfo('version'); ?> | 現在使用中のWordPressのバージョン |
<?php bloginfo('html_type'); ?> | “Content-type”の設定値 |
インクルードタグ
TAG | 説明 |
---|---|
<?php get_header(); ?> | header.phpを読み込む |
<?php get_sidebar(); ?> | sidebar.phpを読み込む |
<?php get_footer(); ?> | footer.phpを読み込む |
<?php comments_template(); ?> | comments.phpを読み込む |
<?php get_search_form(); ?> | 検索フォームを読み込む |
<?php include( TEMPLATEPATH . '/header2.php' ); ?> | その他のファイルを読み込む |
条件分岐タグ
TAG | 説明 |
---|---|
<?php if (is_home()): ?> - <?php endif; ?> | メインブログページが表示されている場合 |
<?php if (is_front_page()): ?> - <?php endif; ?> | サイトのフロントページが表示されている場合 |
<?php if (is_single()): ?> - <?php endif; ?> | 個別記事のページが表示されている場合 |
<?php if (is_page()): ?> - <?php endif; ?> | ページが表示されている場合 |
<?php if (is_category()): ?> - <?php endif; ?> | あるカテゴリーのアーカイブページが表示されている場合 |
ループ
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
コンテンツを表示
<?php endwhile; ?><?php else : ?>
コンテンツがない時の表示
<?php endif; ?>
ナビゲーションメニュー
- カテゴリーを基準としたナビゲーションメニューの例
<ul id="nav">
<li <?php if(is_home()): ?> class="current-cat"<?php endif; ?>>
<a href="<?php bloginfo('home'); ?>">Home</a>
</li>
<?php wp_list_categories('title_li=&orderby=id'); ?>
</ul>
- ページを基準としたナビゲーションメニューの例
<ul id="nav">
<li <?php if(is_home()): ?> class="current_page_item"<?php endif; ?>>
<a href="<?php bloginfo('home'); ?>">home</a>
</li>
<?php wp_list_pages('sort_column=menu_order&depth=1&title_li='); ?>
</ul>
Tips
- 記事ループの特定の部分にコンテンツ追加
<?php if ( $wp_query->current_post === 2 ) : ?>
<p>広告HTML等</p>
<?php endif; ?>
WordPress Codex リファレンス
テーマの作成・テンプレートファイル名
http://wpdocs.sourceforge.jp/テーマの作成
テンプレート階層
http://wpdocs.sourceforge.jp/テンプレート階層#
テンプレートタグ(PHP関数)
http://wpdocs.sourceforge.jp/テンプレートタグ
条件分岐タグ
http://wpdocs.sourceforge.jp/Conditional_Tags
インクルードタグ
http://wpdocs.sourceforge.jp/インクルードタグ
関数リファレンス
http://wpdocs.sourceforge.jp/関数リファレンス
DB テーブル・項目一覧
http://wpdocs.sourceforge.jp/データベース概要
PHP template
if 構文
<?php if (isset($hoge)): ?>
// HTML
<?php else: ?>
// HTML
<?php endif; ?>
foreach 構文
<?php foreach ($names as $name): ?>
// HTML
<?php endforeach; ?>
for 構文
<?php for ($i = 0; $i<10; $i++): ?>
// HTML
<?php endfor; ?>
while 構文
<?php while ($num < $maxNum): ?>
// HTML
<?php endwhile; ?>
リンク
日本語版 WordPress チートシート | Webクリエイターボックス
http://www.webcreatorbox.com/tech/japanese-wordpress-cheat-sheet/
Wordpress オリジナルテーマの作り方 | Webクリエイターボックス
http://www.webcreatorbox.com/tech/wordpress-original-theme/
WordPressにプラグイン無しでページネーションを設置する方法
WordPressのテーマファイルの仕組みが一目で分かる -The anatomy of a WordPress theme
http://coliss.com/articles/blog/wordpress/wordpress-theme-anatomy-by-yoast.html
WordPressを100倍速くする! MySQLの調整やnginx proxy cache
http://kray.jp/blog/wordpress-tuning/
セキュリティ
.htaccess /wp-admin/ フォルダ
authkey の部分には Cookie でセットした値を設定
SetEnvIf Cookie auth=\x22?authkey\x22? site_access_allow
Order deny,allow
Deny from all
Allow from env=site_access_allow
Cooke セット(PHP)
setcookie('auth', 'authkey', time()+(3600*24*365*2), '/wp-admin/'); // 2years
setcookie('auth', 'authkey', time()+(3600*24*365*2), '/', 'domain.com'); // 2years