風邪で寝こんでる間に、なでしこは世界一になってるし台風は襲撃してくるし。
海外のブログですが、格子縞の背景用素材をPhotoshopとillustlator形式で配布してくれてる親切なサイトを発見したのでメモっておきます。
http://colorburned.com/2011/07/10-seamless-plaid-patterns.html
以下は掲載されてるパターン。
リリースパーティだとか、キャンプだとかビーチだとかベンチだとか、夏になってからイベントが盛りだくさんの今日この頃。
リクルートさんがやってるイベント開催支援ツールATNDに登録されたイベントのURLをコピペするだけでWordPressの記事内に表示出来ちゃうというイベント主催者様御用達のプラグインを作りました。
まだアルファ版レベルなので、仕様変更があると思いますので、ご理解いただける方のみご利用ください。
以下の機能を実装した後、公式ディレクトリに登録します。
このバージョンをダウンロードした方でも、公式ディレクトリ掲載後は自動アップデートが適用されます。
あとフィードバックを募集中です。
HTMLの改善案とかこれとマッシュアップしたら便利だよとか。大歓迎します。
ATND上のデモイベントを以下に掲載しています。デモイベントに登録された内容がh1から始まったりしてるので、ちょっとバランスが変です。
このイベントはATNDのデモです。実際に開催されることはありませんが、自由に参加/キャンセルをしてみてください(サブタイトル)
ここでは通常のHTMLの他、 Textile記法 でも記述することができます。
Textile記法では、*太字* や 斜体 、 取消線 など、HTMLを使わずに簡単に書くことができます。
うまく動かない場合は、記号の前後に半角スペースが入っているかを確認しましょう
記法については、 こちら を参考にしてください。
概要のプレビューについては PREVIEW ボタンを押してみてください。グレー地部分に変換内容が表示されます。
| 時間 | 発表者 | タイトル |
|---|---|---|
| 19:00 – 19:30 | Aさん | Aについて |
| 19:30 – 20:30 | Bさん | Bについて |
| 20:30 – 21:00 | Cさん | Cについて |
MTL(デモ)
住所: 東京都中央区銀座7-2-6 リクルートアネックス1ビル B1F(デモ)
| 日時 | 2012年02月28日15時00分 - 2012年02月29日14時30分 |
|---|---|
| 参加者 / 定員 | 48名 / 48名 (補欠者: 802名) |
| 会場 | MTL |
| 住所 | 東京都中央区銀座7-2-6 リクルートアネックス1ビル
(大きな地図)
|
| URL | http://atnd.org/ |
| 主催者 | knjko |
| 更新 | 2011年10月09日05時32分 |
textileについての詳しい情報は、以下のサイトをご参照ください。wikiフォーマットみたいなものです。
http://redmine.jp/tech_note/textile/
結論から言うと、いいのが無くていまいちなんですが、phpでtextileをパースしてくれるクラスを探したら、以下の2つのクラスが見つかりました。
しかーし、両方共php4で書かれちゃってて、メンテも長いこと止まってるんですよね。php5の環境で動かしても警告が出たりするわけではないので、問題はないのですが。。。
http://michelf.com/projects/php-markdown/
このクラスはWordPressなどのプラグイン用のインターフェースも予め記述されていますので、プラグインとして使用すれば、記事の中でtextileが使用できるそうですが、h3などが上手くパースできませんでした。
http://textile.thresholdstate.com/
wikipediaからリンクが張ってあったので期待したのですが、これも長らくメンテされておりません。
ただし、今回の要件に必要なレベルでパースしてくれました。
正規表現連発すればphp5に出来るかもって思ったんですけど。。。
というわけで、ちょっと残念な結果。
WordPress3.2へのアップグレードに伴うビジュアルエディターの不具合を修正しました。
http://firegoby.theta.ne.jp/wp/tinymce_templates
それだけです。
WP Total Hacksプラグインを使うとページでも”抜粋”が利用出来るようになります。
それならばということで、metaタグのdescriptionにこの抜粋を使えるようにしようということになりました。
以下のソースをテーマのfunctions.phpにコピペすると、抜粋に入力したテキストが<meta name=”description” content=”…” /> として出力されます。
SEOはそれほど詳しくありませんが、本文を自動的に切ったりするより、自分でテキストを入力した方がSEO的にはいいよね。そうだよね!
そういえば、WordPress3.2での初投稿です!
WordPressにはカスタムヘッダーという機能があります。

この機能を使うと以下のようにヘッダーの画像をブラウザからアップロードしてトリミングしたりすることができます。

とても便利な機能ですよね。
ですが、今回制作したサイトでは、この部分は選択した記事の投稿サムネールをスライド表示しているため使いませんでした。
でも、こんな便利な機能をオフにしておくのは、もったいない。
というわけで、このカスタムヘッダー機能を利用して、サイト上部のロゴ画像を変更できるようにするためのテクニックをご紹介します。
このテクニックを使用すると、Googeのようにイベントなどに合わせてロゴを変更できますので、とっても便利です。
カスタムヘッダーを使用したロゴの設置結果は以下のような感じです。
管理画面は以下のような感じ。
ロゴ画像を新規にアップロードできることに加えて、あらかじめ用意した画像の中から選択することもできます。
(この例ではクリスマスシーズン用のロゴをあらかじめ用意しています。)
カスタムヘッダーを使用するための要点は以下のとおりです。
これらを実現するためのfunctions.phpに記述するべきソースは以下のような感じです。
// デフォルトのロゴまでのURL
define('HEADER_IMAGE', get_bloginfo('stylesheet_directory').'/img/logo.png');
ロゴ画像の幅と高さ
define('HEADER_IMAGE_WIDTH', 380);
define('HEADER_IMAGE_HEIGHT', 80);
// 今回は使用しないので''としておく
define('HEADER_TEXTCOLOR', '');
// カスタムヘッダーを有効にするための記述
add_custom_image_header('', 'my_admin_header_style');
// その他のロゴ画像を配列で指定する。
register_default_headers( array(
'Merry Christmas' => array(
'url' => get_bloginfo('stylesheet_directory').'/img/xmas.png',
'thumbnail_url' => get_bloginfo('stylesheet_directory').'/img/xmas.png',
'description' => 'クリスマス用ロゴ'
),
)
);
// 管理画面用のスタイルの設定。多くの場合以下のままでいい。
function my_admin_header_style() {
?>
<style type="text/css">
/* Shows the same border as on front end */
#headimg {
background-repeat: no-repeat;
}
</style>
<?php
}
ここまでの作業で管理画面側の作業は終わりです。
実際のサイトのほうにロゴを設置するには、テーマファイルの中のheader.phpを編集します。
今回制作したサイトでは以下のような感じです。
header_image()関数をコールすればカスタムヘッダーで指定された画像までのURLを取得できます。
<h1>
<a style="background-image:url(<?php header_image(); ?>);" href="<?php echo home_url('/'); ?>">
<?php bloginfo( 'name' ); ?>
</a>
</h1>
あと、style.cssには以下のような感じ。
これはお好みでどうぞ。
#header h1 a
{
width: 380px;
height: 80px;
display: block;
background-repeat: no-repeat;
overflow: hidden;
text-indent: -9999px;
}
以上でカスタムヘッダー機能を応用したロゴ画像の設置は終了です。
ヘッダー画像もロゴも管理画面からアップロードしたい時は、@jim0912さんがいい方法をブログに書いてくれてます。
http://www.warna.info/archives/885/
ロゴ画像のリサイズが出来ないのですが、両方同時に使う場合にはおすすめです。
お客様から快く承諾を頂いたので、最近公開したお客さんのサイトでやってることを本日から何回かに分けてざくっと紹介します。
条件によっていろいろですが、今回はtwenty tenテーマの子テーマとして作成しました。
twenty tenはテーマフレームワークとしてもよく出来ているので、個人的に気に入ってます。
トップページをウィジェット化するメリットはメンテナンス性です。
他のページと違ってトップページは、キャンペーンやイベントなどに応じてタイムリーにコンテンツを変えていきたいという要望が少なからずあります。
そんな時に。メインコンテンツの部分もサイドバーウィジェットで構成すると、お客様でも柔軟なカスタマイズが可能になりますので、細かいことをあまり言われなくなります。(笑)
たとえば、Twenty Tenの子テーマでトップページをウィジェット化するのはとても簡単です。
まず、テーマのfunctions.phpに以下のソースをコピペしてください。
register_sidebar( array(
'name' => 'Home Widget Area',
'id' => 'home-widget-area',
'description' => 'The HOME widget area',
'before_widget' => '<div id="%1$s" class="home-widget-container %2$s">',
'after_widget' => '</div>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
));
次にloop-index.phpというファイルを作成して以下のソースをコピペするだけです。
<?php dynamic_sidebar('home-widget-area'); ?>
以上でトップページ内のメインループ部分がウィジェット化されました。
トップページのメインコンテンツ部分をウィジェット化するのはとても簡単ですが、デフォルトのウィジェットではいろいろと心細いですよね。
そのため、以下のようなウィジェットプラグインを自作してインストールしています。
CSSやJavaScriptはデザインに合わせてゴニョゴニョする感じです。
ウィジェットプラグインは、WordPressプラグインの中でも簡単な部類に入りますので、興味がある人は自作しちゃいましょう。
WP Total Hacksをアップデートしました。
今回のアップデートはWordPress3.2への対応です。
ホントは新しい機能を実装したものをリリースする予定だったのですが、ビジュアルエディターまわりの処理が3.1と3.2の間で、互換性が無くなってしまったため、後始末に手こずりました。
このブログでも自作プラグイン上でビジュアルエディターを設置する方法について解説させていただきましたが、もう過去の遺物です。
以下では本来の趣旨とはちょっとかわりますが、WordPressプラグイン開発から見たビジュアルエディターなどの変更点についてご説明します。
自作プラグインでビジュアルエディターをつけることはあんまりないと思いますが…
本来ならソースを上げて説明したいところですが、めんどくさいので省略します。
従来のWordPressではビジュアルエディターを出力するためのtiny mce用の設定をwp_tiny_mce()で出力して、そのあとでthe_editor()でビジュアルエディター用のHTMLを出力するという流れでした。
しかし、3.2以降ではthe_editor()のみで最低限必要な処理が出力されるようになり、wp_tiny_mce()をthe_editor()とあわせて実行するとJavaScriptやHTMLのコンフリクトが発生します。
どうやらカスタマイズしたエディターを出力するためのパラメータをwp_tiny_mce()やその他のフックでゴニョゴニョしなければならないようです。
ですが、もともとデフォルトのままだったので、今回はそのへんは追っかけていません。
WordPress3.2から追加された”なんちゃらかんちゃらモード”(フルスクリーンのあれですw)は、the_editor()実行時にフルスクリーン用のHTMLを出力するのですが、悲しいことにこのHTMLにはフックがありません。
なので、自作プラグイン側で the_editor() する際には以下のような感じで、フルスクリーン用のtinyMCEプラグインを解除する必要があります。
add_filter('tiny_mce_before_init', array(&$this, 'tiny_mce_before_init'), 999);
public function tiny_mce_before_init($init)
{
$init['plugins'] = str_replace(
array('wpfullscreen',',,'),
array('', ','),
$init['plugins']
);
return $init;
}
ちなみに上記のソースをそのまま使うと記事などの投稿画面でもボタンが消えちゃいますので、以下のページを参考に適切な条件分岐などをしましょう。
http://firegoby.theta.ne.jp/archives/2236
jQueryの1.6から $(‘foo’).attr(‘checked’); は、$(‘foo’).prop(‘checked’); に書き換えてねという情報を聞いていたんですが、その後1.6.1が再度リリースされて、従来の $(‘foo’).attr(‘checked’); でも動くようにしたよんということだったので、完全にタカをくくっていました。
実際にWordPress3.2に同梱されているjQueryは1.6.1なので、オッケーと思っていたんですが、実際には動きません。
というわけで、.attr(‘checked’) を、もし自作テーマなどで使用しているなら、.prop(‘chekced’) に変える必要があります。
WordPressには、jQueryが同梱されているので、テーマのfunctions.phpに以下のように記述すればテーマ側でも簡単にjQueryがロードされます。
wp_enqueue_script('jquery');
でも、この方法だとjQueryのバージョンがWordPressに依存してしまうので、互換性の問題が生じたりする可能性があります。
そんな場合は、functions.phpで以下のように記述することで、テーマ側だけ別のバージョンのjQueryを使用しつつ、GoogleのCDNを使ってプチ高速化もできちゃいます。
add_action( 'init', 'jquery_register' );
function jquery_register() {
if ( !is_admin() ) {
wp_deregister_script( 'jquery' );
wp_register_script(
'jquery',
'https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',
false,
null,
true
);
}
}
wp_enqueue_script('jquery');
テーマのfunctions.phpに書いてあるので、is_admin()の条件分岐は不要だと思いますが、プラグインとして書き直すことも多いので、念のため記述しておきました。
こうしておけば、管理画面ではWordPress同梱のjQueryが使用されます。
以下のような要望もありますので、これはWP Total Hacksに実装する予定ですが、UIにてこずっております。^^
海外のブログでGoogleやYahoo、Facebookなどの過去のデザインを集めた記事があったのでご紹介します。
How 30 Most Popular Websites looked in The Past?
ここでは、私が個人的に気になったものをご紹介します。
なんと、まだBetaの文字がついてます。
ロゴの末尾にビックリマークが付いていたんですね。
これは本家のYahoo!ですが、日本のYahoo!もこんなんでしたよね。
ネットで始めて検索したキーワードってなんだったんだろう?とか考えちゃいました。
あのAmazonはここから始まったんですねー。
すごい。感慨深いものがあります。
上述したサイトと比べると、わりと最近のものになると思うのですが、ださいっすねw
でも、このfacebookの6年間の変化を考えると、ヘコんでしまいます。
案外、最近までこんな感じだったような。
Appleこんなんだったんですね。
この時点でSteve Jobs氏が復帰していたようです。iMacが出る直前ぐらいですよね。
他にもたくさんりますのでぜひ見てあげてください。
http://ginva.com/2011/06/most-popular-websites-looked-in-the-past/