タグ: テーマ

ちょっと頭の片隅においておくといいかもしれないWordPress関連の2つの論争

日本では殆ど話題にも上らなかったのですが、今年(2010年)初夏のころ、海の向こうではWordPressに関して2つの大きな論争が持ち上がってました。1つはWordPressが採用しているライセンス「GPL」とその商用利用に関する論争。もう1つは3.0から新たに加えられた“機能”に関する論争です。1つ目の論争は、一応、解決しています。2つ目は、3.1にて何かしらの対応がされると思いますが、本質的には解決していません。

技術的な話題ではないのでスルーされがちですが、WordPressの本質に関わることなので、日本の開発者やユーザーの皆さんも「こういうことが起こっている」程度でもいいので、知っておき、頭の片隅にでも置いていた方がいいのでは?と思い記事にしてみました。

2つの大きな論争とは:

  1. WordPressが採用しているGPLライセンスに関する論争
  2. WordPress3.0に埋め込まれた”P”に関するコード

です。

なお、僕もこの2つの論争をはじめから全てフォローできているわけではありません。静まったと思ったらまた再熱したりしています。議論が交わされている場所も無数にあります。それから、僕自身はWordPressコアの開発には加わっていないので、裏事情までは知りません。幾つか英語の記事や、Trac上のチケット、そしてそれらに寄せられたコメント等を読んで、状況を大体把握できたしだいです。そこはご了承下さい。

修正(2010-10-29 00:31):記事のタイトルの「片隅に」の「に」が抜けていたので修正しました。 thanks @naokomc

Continue reading

ManabiTheme – IntermediateLevelを公開します

以前公開した、「ローカル環境にて、ソースコードからWordPressテーマを学ぶことを目的とした、テーマを学ぶ為のテーマ - ManabiTheme(学びテーマ)」の続きを公開します。前回公開したのはEntry Level(初級編)ですが、今回はIntermediate Level(中級編)です。

ダウンロード:ManabiTheme – IntermediateLeve ver.0.9

ManabiThemeを作成した経緯と、その特徴は、初級編の記事を参照してください。デザインの変更もありません。

中級編に追加したテンプレートファイルは以下の5つ。

  • single.php
  • archive.php
  • page.php
  • search.php
  • functions.php

テーマの機能としては、サイドバーのウィジェットに対応しています。

初級編と同様に、解説をコメントで説明していますが、初級編で書かれていたコメントは一部を除いて全て削除しています。分からない箇所があれば、初級編のテンプレートファイルをもう一度参照して下さい。もちろん、中級編にて新たに追加したテンプレートタグや、逆に削除したテンプレートタグは、初級編のように解説をコメントで説明しています。
Continue reading

ManabiTheme – EntryLevelを公開してみます

WordCamp Fukuoka 2010の2次会@APIカフェにて紹介させていただいた、「テーマを学ぶ為のテーマ」、名付けてManabiTheme、を公開します!

このManabiTheme(学びテーマ)は、「テーマを学ぶ為のテーマ」として作成しました。外部に公開するWordPressブログ用のテーマとしても使用可能ですが、それよりは、ローカル環境(XAMPP等)にてWordPressテーマを学ぶ為に使用されることを主たる目的として作成しています。

WordCamp Fukuoka 2010

ManabiThemeを作成した経緯

去年の秋頃だったと思うんですが、@khoshinoさんが、とあるWordPressの勉強会にてこんな趣旨のつぶやきをされました。

「テーマを学ぶ為のオススメのテキストやサイトは?」

このつぶやきに反応して、僕を含めて何人かの方がオススメしたのを纏めると。

「一番良いテキストブックは良いテーマ。」

僕はWordPressのテーマを1.5系からいじっているのですが、ある程度基礎的な事が分かると、あとはダウンロードしてきたテーマのコードを読んで学びました。XHTMLとCSSも、「これは!」と思うサイトのソースを読んでましたね。

で、@khoshinoさんに「ではどのテーマが良いですか?」と聞かれて改めて気がついたのですが、最近は「勉強するならこれがいいですよっ」と1つ進められるテーマがないんですよねぇ。WordPressが多機能になるにつれ、テーマの中身が複雑化しました。例えばサイドバーのウィジット化やコメントのスレッド化です。そして、公式レポジトリにアップされるテーマの数が多くなるにつれ、テーマ作者は競うように高機能化を進めていく。例えば、管理画面から各種設定が行えたり、様々な種類のレイアウトからお好みのを選択できたり。悪くはもちろんないんですが、テーマを独学する為の教材としては敷居が高くなってしまった感は否めませんね。

ならば、それに適したテーマを作ってみよう、と思って作成したのがこのManabiThemeです。他人のソースコードを(良い意味で)盗み、学ぶのは、スキルアップに不可欠だと個人的には思います。このManabiThemeがその入り口となってもらったり、きっかけの1つになってもらったら幸いです。

ManabiThemeの特徴

幾つか特徴をご紹介いたします。

Continue reading

ファビコンとテーマの色とthe_date関数を変更・修正

このブログで使っているテーマ(スクラッチから作成した自作テーマ)を3カ所変更しました。

ファビコンを変更。

  • 上部の2色のバーを秋っぽい色に変更。
  • サイドバーのLatest Postsの日付をthe_date関数からthe_time関数へ修正。
  • ファビコンは古いロゴを元にした画像のままだったので、新しいロゴに変更しただけです。最後にファビコンを作成したのは随分昔だったので、その時に書いた記事を元に作成(笑)。

ページ上部の2色の線は、主に十二単のかさねいろを参考にしてます。今回は秋のかさねいろから朽葉を使いました

the_date関数からthe_time関数というのは、WPループを使ってこのように最新の記事やコメントリストを表示させた場合、the_date関数だと同じ日に投稿された記事の内ループの最初の記事しか日付が表示されないのです。修正前のスクリーンショットを見てください。

20091029_Waviaei

WordCamp Kyoto 2009 – Photo#3と#4の記事は、同じ10月25日に投稿されています。なので、the_date関数だと、ループで先にでてきた#3の方にしか日付が表示されません。これを解決するには、the_date関数をthe_time関数に置き換えます。そうすると、同じ日付でもきちんと投稿日が表示されます。

僕がテーマを作成したり編集・カスタマイズしたりし始めた頃に2~3度ハマったところです。皆さん、気をつけてください!(僕は今回すっかり忘れてしまってました…汗)

ちなみに、日本語版のCodexにもちゃんと書かれていますね。

テンプレートタグ/the date – WordPress Codex 日本語版

テンプレートタグ/the time – WordPress Codex 日本語版

ブログのデザインを少し変更 – ver.7

ブログのデザインをちょこっと変えました。これで少しすっきりしたかと。右側の黄色を取っ払おうかどうか考えましたが、結局は以前よりもちょっとだけ細くして、メインコンテンツとの間のホワイト・スペースを増やしました。

20091003_Waviaei_renew1

その他には、コメントやコメント周りや…
Continue reading

訪問者のブラウザをWordPressの機能で判別する方法

訪問者が利用しているブラウザを判別するには幾つか方法があります。WordPressテーマの場合、PHPを使える事ができるので、PHPで実装している場合が多いと思います。そして判別した結果を、echoで返す。

これを、WP2.8から新たに加えられたテンプレート・タグbody_classに、add_filterを使って表示してやると、たとえばこんな風に:

[xhtml]<body class="home blog logged-in safari">[/xhtml]

表示されて、すごくすっきりします。と、言うティップスをHow to detect the visitor browser within WordPressにて発見。やり方は、元記事にあるコードをfunctions.phpに記述するだけ。簡単です。いまさらns4の判別が必要なのかはともかく、iphoneも判別対象になっていますね。ここらへんは日本仕様に合わせて変更できるかも。

[復刻版]WordPressテーマガイド(4)WPテーマの構造と仕組み

この記事についてこの記事は2007年5月に公開した物を再アップした物です。詳しくはこの記事を参照してください。

ここでは具体的にWordPressテーマのファイルやディレクトリ構造を見ていきます。

最低限必要なテンプレート・ファイルはどれなのか?

モジュールは?

などなど、テーマの中身が分かると思います。

Continue reading

[復刻版]WordPressテーマガイド(3)XHTMLからWPテーマへ

この記事についてこの記事は2007年5月に公開した物を再アップした物です。詳しくはこの記事を参照してください。

WordPressの他にサーバ・インストール型のブログ・ツールを使用した事がある方は、テーマのフォルダ内を覗いただけでWordPressテーマの仕組みは大体分かるんじゃないかと思います。

ここでは、前章で述べたウェブ・スタンダードに準拠する形でコーディングされたXTHML+CSSのブログ・デザインが、どの様にテンプレート・ファイル、更にWordPressテーマと成っていくのかを追っていきます。

XHTMLからテンプレートへ(一般的な仕組み)

こ こに一般的なブログのトップページ(ホーム)が有るとします。ブログ・ツールはWordPressでも、Movable Typeでも、Serene Bachでも、何でもかまいません。ヘッダー、サイドバー、フッターがあり、コンテンツ部分には最近の記事が幾つか表示されています。このページは XHTMLでコーディングされ、外部CSSファイルによって見た目がコントロールされています。この何の変哲も無いウェブ・スタンダードな XHTML+CSSが目の前にあると思ってください。そしてCSSはいったん横に置き、XHTMLの方に注目します。

「目印」に置き換える

ブ ログでは、状況によって表示内容が変化する箇所が幾つかあります。記事のタイトル、日付、カテゴリ、タグ等はもちろんの事、トップページやアーカイブ表示 は時系列で記事が並んでいるので、新しい記事を投稿するたびに古い記事は下へ下へと移動していきます。さらに、例えばサイドバーにカテゴリの一覧をリスト 表示しているとすると、新たなカテゴリを作れば自動的にそのリスト付け加えて更新、表示してくれれば非常に便利です。

Continue reading

[復刻版]WordPressテーマガイド(2)ブログのデザイン

この記事についてこの記事は2007年5月に公開した物を再アップした物です。詳しくはこの記事を参照してください。

WordPressテーマの説明に入る前にブログで実践されるウェブ・デザインを知っておく必要があります。正直言って、WordPressテーマ をカスタマイズ、もしくは作成するにあたって重要なのはPHPよりも、XHTML+CSSでコーディングされたウェブ・スタンダードなサイトを作れるスキ ルです。(データベースからの結果を操作する、設定パネルを作る、等のよほど凝ったカスタマズでない限り。)

ここでは、WordPressテーマの構造を理解するのに必要な一般的なブログのレイアウトと、ウェブ・スタンダードとの関連性についてだけを簡単に解説します。XHTMLとCSSのスキルが足りないと感じている方は、ほかのサイトや書籍も参考にして下さい。

ブログ・デザインの定番

最 近は幾つか個性的なデザインも出てきましたが、まだまだ下の画面のようなデザインが一般的ではないでしょうか。ヘッダー(Header)とフッ ター(Footer)にサンドイッチされる形で、コンテンツ(Content)とサイドバー(Sidebar)があります。画面はWordPressの ディフォルト・テーマですが、ここではサイドバーが右に配置されています。テーマによっては、右側に表示されていたり、左右両方に表示されていたりしま す。

Continue reading

[復刻版]WordPressテーマガイド(1)イントロダクション

この記事についてこの記事は2007年5月に公開した物を再アップした物です。詳しくはこの記事を参照してください。

WordPressテーマのカスタマイズ方法や作成方法を求めてここにたどり着いた方には説明不要だとは思いますが、一応書いておきます。

WordPressとは?

WordPress はPHP+MySQLで構築されるコンテンツ・マネジメント・システム(CMS)で、主にサーバ・インストール型のブログ・ツールとして使用されていま す。日本での知名度と使用率はまだまだメジャーとは言えませんが、海外ではMovable Typeと人気を二分するほど有名で人気があり、一部ではMovable Typeを抜き去ったとも言われます。今年になって登場したレンタル版(登録無料)も好評で、WordPress人気にますます拍車がかかっています。

Continue reading

[復刻版]WordPressテーマ:作成とカスタマイズのガイド

2007年の5月に書いた「WordPressテーマ:作成&カスタマイズ」と言う記事を復活させる事にしました。正確には、当ブログの記事ではなく、サブドメインで公開してた別サイトです。それを数回に分けて記事にする事にしました。

今回この古~いガイドを記事として投稿する事にした理由は:

  • 古くても、未完成でも、何かWPコミュニティにcontributeできる物は公開しておきたい
  • waviaei.comが存在した期間の中でも、index.phpに次ぐ第2位のページビューを獲得しているページを、お蔵入りにするのは(需要はともかく)個人的にもったいないと感じる

この2点です。そして注意してほしいのは:

  • WordPress2.0~2.2頃に作成したので、それらバージョンに基づいて書かれている
  • そして今回復活させるにあたり、最新バージョンに合わせて内容を編集したりはしていない

の2点です。 Continue reading

Random Image Script

20090517_waviaei

サイドバーの上の方にある、Aboutの部分の写真をランダムに表示させるスクリプトを入れました。jQueryのスライド系プラグインも面白そうだったのですが、とりあえず以前もやった事のあるPHPスクリプトを用いたやり方で実装。ただし今回はMattがずいぶん昔にリリースしたRandom Image Scriptを利用。