サイト紹介 : BTO PC パソ太通信

11.07.2010
22:46

新しい PC が欲しいぞ。

新しい PC が欲しいぞ。

現在の私のPCは、Core2 Duo の メモリ 2G の WindowsXP なのですが、そろそろ 新しいPCが欲しくなってきやした。
なんせ、趣味の範囲ですが、ソフト開発なぞしちょりますと、PCが強ければトライ&エラーの効率が違うのでし。

本来は、設計と机上デバックがしっかりできれば豪華なPC環境は必要無いのでしょうが、
私にはそんな事はできませんですハイ。

特に SSD が手の届く価格になってきたので、SSD RAID の PC が欲しい。
できれば、メモリ 8G くらいで、Windows7 のやつ。

BTO PC 検索サイト

お金が無いので New PC は、いつ購入できることやらわかりませんが、BTO PC の検索サイトをマイナーバージョンアップしたので、
ちょいと宣伝をば。

BTOパソコンは、必要な性能のパーツを組み合わせて注文できるのでメーカーPCに比べて安く購入できるのですが
複数のBTOから自分の必要な性能を実現できるセットを探すのは苦労するのでは?
と思って 1ヶ月ほど前から、BTO PC を選択できるパーツの条件を指定して検索できるサイトを運営しています。

BTO PC パソ太通信 では、必要なオプションパーツを指定して検索できます。

まだ、デスクトップ PC 検索のみでノートPC検索は現在作成中です。

BTO PC パソ太通信 検索パネル

BTO PC を扱っている複数のサイトの数百のBTO PC データから検索できるので、
数時間かけても見つからない組み合わせを数分間で見つけることができます。多分。

みてみてください。

BTO PC パソ太通信

No related posts.

関連記事はYARPP関連記事プラグインによって表示されています。

wp_enqueue_script() 関数 : header.php : WordPressテーマが作りたい

17.03.2010
18:51

wp_enqueue_script() 関数

はい、今日は is_singular() 関数を調べたときに放置しておいた wp_enqueue_script() 関数を見てみます。
header.php 内のコードは ↓ の通り。

<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>

既に is_singular() の時に wp_enqueue_script() 関数は JavaScriptを滞りなく読み込む関数というのは判明しているので、
とりあえず ソースコードだけ見ておきます。

wp_enqueue_script() ソースコード

wp_enqueue_script() 関数のソースコードは以下の通り
/wp-includes/functions.wp-scripts.php 82行-103行 (WordPress version 2.9.2)

/**
 * Enqueues script.
 *
 * Registers the script if src provided (does NOT overwrite) and enqueues.
 *
 * @since r16
 * @see WP_Script::add(), WP_Script::enqueue()
*/
function wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false, $in_footer = false ) {
	global $wp_scripts;
	if ( !is_a($wp_scripts, 'WP_Scripts') )
		$wp_scripts = new WP_Scripts();

	if ( $src ) {
		$_handle = explode('?', $handle);
		$wp_scripts->add( $_handle[0], $src, $deps, $ver );
		if ( $in_footer )
			$wp_scripts->add_data( $_handle[0], 'group', 1 );
	}
	$wp_scripts->enqueue( $handle );
}

おおまかな流れは ↓ のようになるでしょうか。

  • グローバルで定義されている WP_Scripts クラス変数($wp_scripts) を確認
    (無い場合生成)

  • ソースファイルパス($src) が設定されている場合には、ファイルを登録する

  • WP_Scripts($wp_scripts) のキューにスクリプト識別名($handle) を追加する

WP_Scripts は /wp-includes/class.wp-scripts.php
基底クラス WP_Dependencies は /wp-includes/class.wp-dependencies.php

テーマを作りたいだけなので、WP_Scripts に関しては今は詳しく調べませんが、とりあえず動作としては

wp_head() が実行されるより前に
wp_enqueue_script(‘登録されているスクリプト識別名’) を実行すれば
対応するスクリプトを順番を考慮して重複無く読み込むための コード が出力される 。

ということで理解しておきます。

header.php での動作

header.php では is_singular() が true の場合に wp_enqueue_script(‘comment-reply’) が実行されています。

<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>

is_singular() 関数の動作によって、

単一の投稿、固定ページ、メディア表示、の場合に ‘comment-reply’ で指定される Java Script が読み込まれる。

となります。

content-reply は wp_default_scripts() 関数で WP_Scripts へ登録されていて
/wp-includes/script-loder.php の 221行目で

$scripts->add( 'comment-reply', "/wp-includes/js/comment-reply$suffix.js", false, '20090102');

“/wp-includes/js/comment-reply$suffix.js” を読み込むようになっています。
$suffix は comment-reply.dev.js か comment-reply.js のどちらかを指定しています。


はぁ~疲れた。

気が重いけど、次は wp_head() 関数

No related posts.

関連記事はYARPP関連記事プラグインによって表示されています。

is_singular() 関数 : header.php : WordPress テーマを作りたい。

14.03.2010
22:00

is_singular() 関数

さて、続きまして~は、次の一文の is_singular() 関数

<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>

WordPress 2.9.2 の themes/default/header.php だと、31行目に記述されています。

WordPress Codex の解説では、

is_singular()

シングルページ (固定ページ、個別投稿ページ、添付ファイルページ)

is_single()、is_page() 、is_attachment() のいずれかが真である場合に 真。

ですと。

つまり、WordPress には、is_ 系の関数が沢山あって、
その内 is_single(),is_page(),is_attachment() 関数のどれかが true を戻す場合には is_singlar() も true を戻す。

ほいでは、シングルページ、固定ページ、個別投稿ページとは何なんか?ってところ。
色々調べた結果、

関数 動作・機能
is_single 特定の(1つの)投稿が表示される場合に true
is_page 特定の固定ページが表示される場合 true
is_attachment 特定のメディア(画像等)が表示される場合 true

という事らしい。
なので、is_singlar()関数は、特定の投稿、固定ページ、メディアが表示される場合に true を戻すことになる。

へむ。了解っす。
ほいでは、実際のコードをみていくかな。

is_singlar() 関数のコード

/wp-includes/query.php 501-513 (Word Press ver 2.9.2) より

/**
 * Whether is single post, is a page, or is an attachment.
 *
 * @since 1.5.0
 * @uses $wp_query
 *
 * @return bool
 */
function is_singular() {
	global $wp_query;

	return $wp_query->is_singular;
}

って、おい グローバル変数 $wp_query のメンバ変数を戻してるだけやんか!!

なにがしかのタイミングで $wp_query->is_singlar が設定されるわけやナ、、、
前述の内容と変数名から察するに、

特定投稿、固定ページ、メディア のリンクがクリックされた時等に query が発行されて、
その結果を表示するページでは $wp_query->is_singular が true に設定されていると。

こんな感じでしょうかね。
この関数の詳細な動作は、さらに一段掘り下げなければ分からないみたいだなぁ。。。

$wp_query は、/wp_includes/query.php で定義される 結構大きなクラス WP_Query です。
この中身を追っていくことは、はじめてテーマを作ろうとしている人間には不相応だと思うから、これにて停止。

is_xxx 系の関数は後でまとめるとして、
ここでは、is_singular() と一応 is_single,is_page,is_attachment を覚えておくことにしよう。

header.php is_singular() が true の場合

最後に、header.php で is_singular() が true を戻す場面とその動作を見ておきます。
header.php 内のコードは ↓ の通り。

<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>

まだ確認していないコード wp_enqueue_script() がありますが、
ググッた結果 java script を読み込むための関数であると分かったので、
とりあえず、

is_singular() 関数が true を戻すと、 ‘comment-reply’ で指定される Java Script が読み込まれる。

ということになりそうです。
(comment-reply はおそらく、コメントを入力するフォームを表示するのに必要なJavaスクリプト)

default テーマの場合 header.php の <body>タグ内部に以下の様なコードを埋め込むことで、
どのような時に is_singular()関数が true を戻すかを検証できます。

    <div>
	<?php
	    if(is_single())	echo    "single\n";
	    if(is_page())	echo    "page\n";
	    if(is_attachment()) echo    "attachment\n";
	?>
    </div>

他にもあるかもしれませんが、確認した範囲で ↓ のような場合に各関数が true を戻しました。

is_single 最近の投稿ウェジットなどで1つの記事を選択した場合
投稿をプレビューした場合
is_page ページメニューで固定ページ(紹介など)を選択した場合
is_attachment WordPressコントロールパネル-[メディア]-[ライブラリ] から
1つのメディアの [表示] を選択した場合。
(この場合 is_single も true)

No related posts.

関連記事はYARPP関連記事プラグインによって表示されています。

bloginfo() 関数 : header.php : WordPress テーマを作りたい。

11.03.2010
01:00

bloginfo() 関数

今日は、header.php で2番目に出てきた関数 bloginfo() を勉強してみやす。
オイラは不器用やけん。

↓ はちょいと改行してるけど、header.php の8行目くらいに出てきているコードの抜粋で、bloginfo() 関数が2回使われていやす。


<meta http-equiv="Content-Type"
	content="<?php bloginfo('html_type'); ?>;
	charset=<?php bloginfo('charset'); ?>" />

この bloginfo() 関数は WordPress プロジェクト中の PHPファイルに数十箇所使われているので、
WordPressのごく基本的な関数の1つで bloginfo って関数名からも分かるけど、WordPress のブログ設定の値や文字列を取得する関数だな。多分。

ほいじゃ、実際のコードを見てみるか。
function bloginfo() も general-template.php に定義されていた。


/**
 * Display information about the blog.
 *
 * @see get_bloginfo() For possible values for the parameter.
 * @since 0.71
 *
 * @param string $show What to display.
 */
function bloginfo($show='') {
	echo get_bloginfo($show, 'display');
}

グゲッ。。。
get_bloginfo() を ‘display’ って指定して呼び出してからの~ 表示っすか。。。
ではそちらを、 general-template.php にありんす。


/**
 * Retrieve information about the blog.
 *
 * Some show parameter values are deprecated and will be removed in future
 * versions. Care should be taken to check the function contents and know what
 * the deprecated blog info options are. Options without "// DEPRECATED" are
 * the preferred and recommended ways to get the information.
 *
 * The possible values for the 'show' parameter are listed below.
 * <ol>
 * <li><strong>url<strong> - Blog URI to homepage.</li>
 * <li><strong>wpurl</strong> - Blog URI path to WordPress.</li>
 * <li><strong>description</strong> - Secondary title</li>
 * </ol>
 *
 * The feed URL options can be retrieved from 'rdf_url' (RSS 0.91),
 * 'rss_url' (RSS 1.0), 'rss2_url' (RSS 2.0), or 'atom_url' (Atom feed). The
 * comment feeds can be retrieved from the 'comments_atom_url' (Atom comment
 * feed) or 'comments_rss2_url' (RSS 2.0 comment feed).
 *
 * There are many other options and you should check the function contents:
 * {@source 32 37}
 *
 * @since 0.71
 *
 * @param string $show Blog info to retrieve.
 * @param string $filter How to filter what is retrieved.
 * @return string Mostly string values, might be empty.
 */
function get_bloginfo($show = '', $filter = 'raw') {

	switch($show) {
		case 'url' :
		case 'home' : // DEPRECATED
		case 'siteurl' : // DEPRECATED
			$output = get_option('home');
			break;
		case 'wpurl' :
			$output = get_option('siteurl');
			break;
		case 'description':
			$output = get_option('blogdescription');
			break;
		case 'rdf_url':
			$output = get_feed_link('rdf');
			break;
		case 'rss_url':
			$output = get_feed_link('rss');
			break;
		case 'rss2_url':
			$output = get_feed_link('rss2');
			break;
		case 'atom_url':
			$output = get_feed_link('atom');
			break;
		case 'comments_atom_url':
			$output = get_feed_link('comments_atom');
			break;
		case 'comments_rss2_url':
			$output = get_feed_link('comments_rss2');
			break;
		case 'pingback_url':
			$output = get_option('siteurl') .'/xmlrpc.php';
			break;
		case 'stylesheet_url':
			$output = get_stylesheet_uri();
			break;
		case 'stylesheet_directory':
			$output = get_stylesheet_directory_uri();
			break;
		case 'template_directory':
		case 'template_url':
			$output = get_template_directory_uri();
			break;
		case 'admin_email':
			$output = get_option('admin_email');
			break;
		case 'charset':
			$output = get_option('blog_charset');
			if ('' == $output) $output = 'UTF-8';
			break;
		case 'html_type' :
			$output = get_option('html_type');
			break;
		case 'version':
			global $wp_version;
			$output = $wp_version;
			break;
		case 'language':
			$output = get_locale();
			$output = str_replace('_', '-', $output);
			break;
		case 'text_direction':
			global $wp_locale;
			$output = $wp_locale->text_direction;
			break;
		case 'name':
		default:
			$output = get_option('blogname');
			break;
	}

	$url = true;
	if (strpos($show, 'url') === false &&
		strpos($show, 'directory') === false &&
		strpos($show, 'home') === false)
		$url = false;

	if ( 'display' == $filter ) {
		if ( $url )
			$output = apply_filters('bloginfo_url', $output, $show);
		else
			$output = apply_filters('bloginfo', $output, $show);
	}

	return $output;
}

結構長ひ。

bloginfo $site 引数

コードとしては、引数 $show の文字列によって case 分けしちょるが、使っている関数はまだわからんので、
WordPress本家の日本語ドキュメントから記述してみた。

$show 引数 機能
url
home
siteurl
ブログのサイトURLを戻す。
(home,siteurl は互換性のために残されている様子。)
wpurl WordPressをインストールしたURL
description 一般設定で指定したブログの説明文
2.9.2 だと キャッチフレーズって項目かにゃ?
rdf_url RDF/RSS 1.0 形式のメインフィードURL
rss_url RSS 0.92 形式のメインフィードURL
rss2_url RSS 2.0 形式のメインフィードURL
atom_rul Atom形式のメインフィードURL
comments_atom_url 公式ページに掲載が無かったが、おそらく
Atom形式のコメントフィードURL
comments_rss2_url RSS 2.0形式のコメントフィードURL
pingback_url ピンバック用URL。XML-RPCファイルを指す
stylesheet_url 使用中のメインCSSファイルのURL
stylesheet_directory 使用中のメインCSSファイルが置かれたディレクトリのURL
(Version 2.3.1 で廃止)
template_directory 使用中テーマファイルディレクトリのURL
template_url 使用中テンプレートのURL
admin_email 「一般設定」管理画面で指定した管理人のメールアドレス
charset 「表示設定」管理画面で指定された文字コード
html_type “Content-type”の設定値
version 現在使用中のWordPressのバージョン
language 設定されている言語名(日本語環境では ja ?)
text_direction 設定されているテキストの向き ltr rtl
name
および default:
「一般設定」管理画面で指定したブログのタイトル

$show で指定される情報を取得した後、
$filter が ‘display’ である場合には、なにがしかの フィルターを適用し、その結果を戻している。

bloginfo() 関数は get_bloginfo() を $filter = ‘display’ で呼び出しているため、フィルターは必ず適用されていることになる。

まぁ、get_bloginfo() で取得した文字列を表示する関数なので、

bloginfo() 関数は = echo get_bloginfo($show,$filter=’display’); だと。

一応 bloginfo() を試してみる

こんなんで、テストコードもなんなんだけど、一応やってみやした。

テストコード


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Word Press bloginfo()関数のテスト</title>
</head>
<body>
    <div>
    <?php
	bloginfo('url');		echo	"<br />\n";
	bloginfo('home');		echo	"<br />\n";
	bloginfo('siteurl');		echo	"<br />\n";
	bloginfo('wpurl');		echo	"<br />\n";
	bloginfo('description');	echo	"<br />\n";
	bloginfo('rdf_url');		echo	"<br />\n";
	bloginfo('rss_url');		echo	"<br />\n";
	bloginfo('rss2_url');		echo	"<br />\n";
	bloginfo('atom_rul');		echo	"<br />\n";
	bloginfo('comments_atom_url');	echo	"<br />\n";
	bloginfo('comments_rss2_url');	echo	"<br />\n";
	bloginfo('pingback_url');	echo	"<br />\n";
	bloginfo('stylesheet_url');	echo	"<br />\n";
	bloginfo('stylesheet_directory');echo	"<br />\n";
	bloginfo('template_directory');	echo	"<br />\n";
	bloginfo('template_url');	echo	"<br />\n";
	bloginfo('admin_email');	echo	"<br />\n";
	bloginfo('charset');		echo	"<br />\n";
	bloginfo('html_type');		echo	"<br />\n";
	bloginfo('version');		echo	"<br />\n";
	bloginfo('language');		echo	"<br />\n";
	bloginfo('text_direction');	echo	"<br />\n";
	bloginfo('name');		echo	"<br />\n";
	bloginfo();			echo	"<br />\n";
    ?>
    </div>
</body>
</html>
結果

↑ のコードを テーマの index.php として保存してWordPressを表示してみたところ

こんなん出ました~。



http://127.0.0.1/wordpress

http://127.0.0.1/wordpress

http://127.0.0.1/wordpress

http://127.0.0.1/wordpress

ブログの説明を入力していません。

http://127.0.0.1/wordpress/?feed=rdf

http://127.0.0.1/wordpress/?feed=rss

http://127.0.0.1/wordpress/?feed=rss2

WPテーマ作成用

http://127.0.0.1/wordpress/?feed=comments-atom

http://127.0.0.1/wordpress/?feed=comments-rss2

http://127.0.0.1/wordpress/xmlrpc.php

http://127.0.0.1/wordpress/wp-content/themes/wpt01/style.css

http://127.0.0.1/wordpress/wp-content/themes/wpt01

http://127.0.0.1/wordpress/wp-content/themes/wpt01

http://127.0.0.1/wordpress/wp-content/themes/wpt01

test@test.com
UTF-8
text/html
2.9.2
ja
ltr
WPテーマ作成用
WPテーマ作成用

まぁ、WordPressの設定をいじってないからあんまし意味無いかもしれないけど、そのうち使うかもしれんで。

あぁ疲れた。
今日はここまでで。
さようなら~。

No related posts.

関連記事はYARPP関連記事プラグインによって表示されています。

language_attributes() 関数 : header.php : WordPress テーマが作りたい

10.03.2010
05:56

ほい、1日1つでもお勉強しますです。

先ずは、header.php で最初に使われている関数 language_attributes() を見てるっす。

<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>

header.php の中では ↑ のように HTML内でPHPスクリプトを記述されていて、おそらくは lang=”ja” に変換されることになるだろう。

実際の関数は、wp-includes/general-template.php に定義されている。

/**
 * Display the language attributes for the html tag.
 *
 * Builds up a set of html attributes containing the text direction and language
 * information for the page.
 *
 * @since 2.1.0
 *
 * @param string $doctype The type of html document (xhtml|html).
 */
function language_attributes($doctype = 'html') {
	$attributes = array();
	$output = '';

	if ( $dir = get_bloginfo('text_direction') )
		$attributes[] = "dir=\"$dir\"";

	if ( $lang = get_bloginfo('language') ) {
		if ( get_option('html_type') == 'text/html' || $doctype == 'html' )
			$attributes[] = "lang=\"$lang\"";

		if ( get_option('html_type') != 'text/html' || $doctype == 'xhtml' )
			$attributes[] = "xml:lang=\"$lang\"";
	}

	$output = implode(' ', $attributes);
	$output = apply_filters('language_attributes', $output);
	echo $output;
}
  • get_bloginfo(‘text_direction’) でなんか戻ってきたら $attributes 配列に dir=”戻り値” を追加

    HTMLタグのdir属性 <html dir=”ltr”> または <html dir=”rtl”> で テキストの方向を指定できるのかい!!
    知らなかった。。。
    (ltr : left to right 左から右へ)
    (rtl : right to left 右から左へ)

  • get_bloginfo(‘language’) でなんか戻ってきたら

    これは ja が戻ってくるはずやな。

    • get_option(‘html_type’) が ‘text/html’ あるいは 関数引数が ‘html’ なら $attributes 配列に lang=”戻り値” を追加

    • get_option(‘html_type’) が ‘text/html’ でないか あるいは 関数引数が ‘xhtml’ なら $attributes 配列に xml:lang=”戻り値” を追加

  • $attributes 配列を スペースで連結して

  • なんか知らんが、apply_filters(‘language_attributes’,連結した文字列) を実行して

  • 連結した文字列を echo で出力

まだよう分からん関数があるが、

language_attributes を引数に ‘html’(省略可能) か ‘xhtml’ を指定して呼び出すと、

  • ‘html’ で lang=”ja”

  • ‘xhtml’ で xml:lang=”ja”

が出力されるんだと。
戻り値は無し。

get_option と、apply_filters も調べる必要があるけど、まぁ今はいいや。

No related posts.

関連記事はYARPP関連記事プラグインによって表示されています。

ヘッダーPHPの中身を見てみる : WordPress テーマ

09.03.2010
04:04

ヘッダーPHPの中身を見てみる

Word Press のテーマ、テンプレートに関する情報は結構少ないし、
しかたないので、Word Press の基本テーマ(デフォルトテーマ)の中身をお勉強していることにする。

wp-content/default/ 配下にある ファイル群から探してみたら、ヘッダーを出力する header.php が手頃そうなんで今回は header.php を見てみることにした。

header.php


<?php
/**
 * @package WordPress
 * @subpackage Default_Theme
 */
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>

<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />

<title><?php wp_title('«', true, 'right'); ?> <?php bloginfo('name'); ?></title>

<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />

<style type="text/css" media="screen">

<?php
// Checks to see whether it needs a sidebar or not
if ( empty($withcomments) && !is_single() ) {
?>
	#page { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbg-<?php bloginfo('text_direction'); ?>.jpg") repeat-y top; border: none; }
<?php } else { // No sidebar ?>
	#page { background: url("<?php bloginfo('stylesheet_directory'); ?>/images/kubrickbgwide.jpg") repeat-y top; border: none; }
<?php } ?>

</style>

<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?> 

<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<div id="page">

<div id="header" role="banner">
	<div id="headerimg">
		<h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1>
		<div class="description"><?php bloginfo('description'); ?></div>
	</div>
</div>
<hr />
header.php の役割

ファイル名でそのままでしょうが、ページのヘッダー部分の出力を担ってる様子。

  1. HTML の <!DOCTYPE …> から始まって

  2. <head>~</head> で囲まれるメタタグやタイトルなどを出力

  3. サイドバー有り無しによって #page の id に適用する style を変更して出力

  4. <body> 開始タグも出力しちゃってる

  5. <div id=”header” role=”banner”>~</div>
    では恐らくトップのタイトルと背景を出力してるのだろう。

ヘッダーなんだから単純に <head>~</head> にしてもらいたい所だが、オイラみたいな凡人のWP初心者には計り知れない部分があるのやろう。。。

is_singular() ?, wp_enqueue_script() ? とかとか、分からない部分も満載だけど、とりあえず

header.php は DOCTYPE、<head>~</head>、<body> 開始タグ、トップタイトルとその背景も出力していると。

ふぅ疲れた。。。今日はこの辺にしといたらぁー!!

ちっとも進まんなぁ。

No related posts.

関連記事はYARPP関連記事プラグインによって表示されています。

テーマに必要なファイル

08.03.2010
05:39

テーマとテンプレート

テーマは、Word Press で出力されるブログの概観と動作を司るファイル群で、
テーマを構成するファイルの内PHPのものをテンプレートファイルとしておく。

テーマの構成

WordPress テーマの最小構成は、

  • style.css
  • index.php

の2つ。

wp-content/themes/ の配下の各テーマのサブディレクトリを作成して配置する。

たとえば、my_theme という名前でテーマを上記 最小構成のファイルで作成するとすると、


/wp-content/themes/my_theme/style.css
/wp-content/themes/my_theme/index.php

の2つを配置してやることになる。

テーマ テンプレートファイル

参考メモとして一応、Word Press の機能から引き込めるファイルを列挙しておくが、
記憶力が皆無な私は、どうせ覚えられるもんでも無いので、その都度確認することにしよう。

index.php から始まって、必要に応じて他のファイルが読み込まれる。
テーマに対応するファイルが存在しない場合は、デフォルトのPHPファイルが読み込まれると。

クエリがなんであるか、詳細は理解していないけど。。。

style.css メインのスタイルシート(テーマで必須)
テーマのヘッダ情報も記述される
index.php メインテンプレート。
このテーマ自身のテンプレートを設けるなら index.php は必須。
(親テーマのテンプレートを利用するのではなく)
comments.php コメントテンプレート。
存在しなければデフォルトテーマの comments.php が使われる。
comments-popup.php ポップアップコメントテンプレート。
存在しなければデフォルトテーマの comments-popup.php が使われる。
home.php ホームページテンプレート。
single.php 単体記事テンプレート。個別記事が要求(クエリ)されたときに使用。
このクエリテンプレートが存在しないときは index.php が使われる。
この他のクエリテンプレートも同様。
page.php ページテンプレート。
特定のページが要求されたときに使用。
category.php カテゴリテンプレート。
あるカテゴリが要求されたときに使用。
author.php 著者テンプレート。
ある著者が要求されたときに使用。
date.php 日時テンプレート。
ある日付または時刻が要求されたときに使用。
年・月・日・時・分・秒
archive.php アーカイブテンプレート。
あるカテゴリ・著者・日付が要求されたときに使用。
このテンプレートは、各クエリ種類に対応する
category.php、author.php、date.php によって無効となる。
search.php 検索結果テンプレート。
ある検索が実行されたときに使用。
404.php 404 Not Found テンプレート。
WordPress が要求に合う記事やページを見つけられなかったときに使用。

No related posts.

関連記事はYARPP関連記事プラグインによって表示されています。

ローカルに Word Press を用意する

06.03.2010
09:45

Word Press をローカルに用意する

なにはともあれ、Word Press をローカル環境に用意しなければならない。

自信があれば、テーマ作成&テストをレンタルサーバーでやれるかもしれないが、
Word Press テーマはPHPも含むので、バグを出したら責任問題になってまう。(おーコワ)

XAMPPインストール

おいらはWindows環境なんで、云わずと知れた XAMPP 様をインストール。

できるだけ PHPとMySQLのバージョンを借りているサーバー環境に合わせておきたいが、
特別な事しなければ、メジャーバージョンだけ一致で大丈夫でしょうな。

Windows版インストーラ を使ってインストールするなら
XAMPP インストーラを使ってインストール
のページにしたがって実行すればOK。

あとは、

  1. Apache の admin ページを表示してセキュリティの設定して
  2. MySQL の admin ページを表示してパスワードの設定して
    XAMPP コントロールパネル

    XAMPP コントロールパネル

  3. C:\xampp\htdocs\.htaccess を localhost だけ許可で作成して
    
    Order deny,allow
    Deny from All
    Allow from localhost 127.0.0.1
    
  4. Word Press が使う MySQL のデータベースを作成して
    MySQL Word Press 用データベース作成

    MySQL Word Press 用データベース作成

これで一応準備は良いかな。

Word Press インストール

hoi、続いて Word Press のインストール

Word Press ダウンロード

Word Press ホームページから 「 使わせてもらいま~す! 」 と叫びながら
[ WordPress 2.9.2 をダウンロード ] ボタンを押してダウンロード。

word press ダウンロード

(2010.3.6 の最新版は WordPress 2.9.2 でした。)

ZIPで圧縮されているので、解凍ソフトで展開します。

wp-config.php 編集

そしてから、さっき MySQL で作成したデータベースを Word Press 側で指定してあげる必要があります。

ZIPファイルを展開してできた wordpress フォルダに ”wp-config-sample.php” というファイルがあるので、
UTF8が扱えるエディタで開きます。

編集が必要なのは ↓ の部分で データベース名とアクセスID、パスワードを設定します。

// ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //
/** WordPress のデータベース名 */
define('DB_NAME', 'putyourdbnamehere');

/** MySQL のユーザー名 */
define('DB_USER', 'usernamehere');

/** MySQL のパスワード */
define('DB_PASSWORD', 'yourpasswordhere');

編集できたら、”wp-config.php” という名前で保存します。

wp-config-sample.php と同じフォルダで、UTF8で保存してください。

XAMPPへアップロード

アップロードといってもローカルなので、ファイルをコピーするだけです。

XAMPPのデフォルトインストールだと、C:\xampp\htdocs\ がホームページのフォルダになっていると思うので、その下に “myblog” とかフォルダを作って Word Press のファイルを全てコピーします。

これで、アップロードは完了。

Word Press 初期設定

やっとこ、Word Press の初期設定です。
先ず、XAMPPを再起動してください。

続いてブラウザを開いて、
http://127.0.0.1/myblog/wp-admin/install.php
にアクセスします。

↓ のようなページが表示されていれば、ここまでは成功です。

ワードプレス インストール開始ページ

WordPress インストール開始ページ

テスト用ローカル環境なので、
□ このブログを Google や Technorati などの検索エンジンに表示されるようにする。
のチェックははずしておきましょう。

ブログタイトルとメールアドレスを適当に入力して、

WordPress初期設定

WordPress初期設定

wordpress をインストールボタンを押します。

即座に ↓ の様なページが表示されます。

WordPress インストール成功

WordPress インストール成功

はい、初期設定完了!
恐るべし Word Press 。初期設定が異様に簡単。

パスワードは忘れずにメモってください。
メールアドレスは適当だし、メール送信できる環境にしてないから確認もできません。

ログイン

では、ログインしてみます。

先ほどの ユーザーID と パスワードを入力して、[ログイン] ボタンを押します。

Word Press admin ログイン

Word Press admin ログイン

↓ みたいなページが表示される筈です。

Word Press 初期ダッシュボード

Word Press 初期ダッシュボード

やった!ログインできました。

パスワードの再設定

さっきの自動生成されたパスワードは覚えるの不可能なんで、パスワードの再設定をしておきましょう。

左に表示されているメニューから [ユーザー]-[あなたのプロフィール] を選択して、

Word Press ダッシュボード メニュー

WordPress ユーザープロフィール メニュー

表示されたページの一番下にある ”新しいパスワード” の項目でパスワードを設定します。

WordPress 新しいパスワードの設定

入力できたら、[プロフィール更新] ボタンを押します。

word press インストールボタン

とりあえず完了

これで、とりあえず テーマをテストする用の Word Press が用意できました。

あとは必要に応じて、記事やカテゴリを作ってやれば良いとして、
さてこれからがお勉強だな。。。。

No related posts.

関連記事はYARPP関連記事プラグインによって表示されています。

NTT フレッツ光 ネクスト 開通しました。

04.03.2010
15:27

キャンペーン攻勢に誘われて、ついに我が家も NTTフレッツ光ネクスト を契約&開通しました。

我が家の場合は、途中に古臭い HUB と ルーター を挟んでますが(一応 1000base)、それでもまづまづの速度を出してくれてます(ADSL時の3倍程度)。
東海地方で、34Mbps なら上々? (一回だけ 80Mbps って数字が出たけど、なんだったんだ?)

NTTフレッツ光 我が家の接続

  • NTT公式の 利用料1ヶ月 or 2ヶ月無料、あっと割り引き、ぐっと割り引き、工事費大幅割引、
  • 各プロバイダの料金割り引き
  • 代理店によるキャッシュバック

。。。。。。このキャンペーン群はエグイなっと。

Yahoo BB も with フレッツ 対応を始めましたが、SOFTBANKとしては緊急処置的な対策でしょうか。

元はと云えば、YBB から Yahoo BB with フレッツ光 の宣伝メールが届いた所から興味を持ったので、
長年使わせてもらった Yahoo BB 様にお別れする日が来るなんて~不思議な感覚なんですが、背に腹は変えられぬということで、、、、

でも、
iPhone がな~。。。
メールアドレスがな~。。。

NTTの ひかりTV と プロバイダの ひかりテレビ は別な場合があるので気をつけましょう。。。

NTTフレッツ光 代理店 キャンペーン情報

No related posts.

関連記事はYARPP関連記事プラグインによって表示されています。

MySQL : UPDATE

20.02.2010
19:21

SQL構文

  • 単一テーブル構文:
    UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
        SET col_name1=expr1 [, col_name2=expr2 ...]
        [WHERE where_condition]
        [ORDER BY ...]
        [LIMIT row_count]
    
  • 複合テーブル構文:
    UPDATE [LOW_PRIORITY] [IGNORE] table_references
        SET col_name1=expr1 [, col_name2=expr2 ...]
        [WHERE where_condition]

基本的な使い方

UPDATE テーブル名 SET フィールド名=値

これで、指定テーブルの全ての指定フィールドの値が設定できます。

ただ、これだとあまり実用性が無いので、レコードを特定するために WHERE条件を書いてやります。

UPDATE テーブル名 SET フィールド名=値 WHERE 条件
基本的な使い方の例1

たとえば、[ id | name | age | prop ] というフィールドを持った member という下のようなテーブルがあったとして、

id name age prop
1 名前1 15 1
2 名前2 33 1
3 名前3 27 1
4 名前4 30 1
5 名前5 20 1
6 名前6 10 1
7 名前7 3 1

いま、二十歳未満の人の prop フィールドを 0 に設定したかったら、

UPDATE member SET prop=0 WHERE age<20

となります。

No related posts.

関連記事はYARPP関連記事プラグインによって表示されています。

« Older Entries
© なんとなくプログラマ
Powered by WordPress and Artsavius Theme