[wp] 投稿サムネイルに記事やフル画像へのリンクを張る

WordPressに新しく実装された投稿サムネイル用のタグthe_post_thumbnail()は出力されるのが画像だけなんだけど、
これにページへのリンクとか拡大画像とかのリンクをつけたいと思うことがあったので関数作った。

構文

 the_linked_post_thumbnail($size = 'medium', $linkto = 'image', $attr = NULL) 

$size
画像のサイズ。文字列(thumbnail, medium, large, full)か配列( array(32,32) )で。

$linkto
リンク先。image=フルサイズの画像url、page=投稿記事、NULL=リンクしない

$attr
画像の属性。連想配列形式で指定する

$default_attr = array(
			'class'	=> "zoom",
			'title'	=> 'クリックで拡大',
		);

“[wp] 投稿サムネイルに記事やフル画像へのリンクを張る” の続きを読む

[wp] ページタイトルとパンくずリンクを統一する

ページタイトルとかパンくずナビとかがリンクしてないのが気持ち悪かったので、
WordPressのタイトル周りの統一感を出す関数を作ってみたYO。

シングルページ

タイトルだと「ページタイトル » カテゴリー等 | サイト名」 になり、
パンくずでは「ホーム > カテゴリー等 > ページタイトル」になる。記号はお好みで変更可。
$localから始まるグローバル変数はテンプレートページ内のどこでも使用出来る。

“[wp] ページタイトルとパンくずリンクを統一する” の続きを読む

[wp] GoogleMaps を記事本文内に埋め込むショートコードの作成(基本)

各記事ごとにマップを埋め込むのはプラグイン使えばいいんだけど、
地図のポイントと記事を連動させる必要がない場合もあるし、
WordPressのページ機能で作成されたページ(例えば会社概要だとか)にだけ埋め込みたいとか、
地図に表示するマーカーが複数あるとか、タブで表示する情報を自由に制御したい…なんてケースもあるわけで。

プラグイン使うほどでもないならショートコード自作して埋め込めばいいじゃないか! 😀 という記事です

単体マーカー

“[wp] GoogleMaps を記事本文内に埋め込むショートコードの作成(基本)” の続きを読む

[wp]投稿された画像のサムネイルが表示される記事一覧ページを作る

以前書いた記事 [WP]画像サムネイルを投稿された記事へのリンク付きで表示 の応用編です。
ページテンプレートをちょっと弄って、画像のサムネイルがずらっと並ぶ一覧ページを作る方法について解説します。

Sample

表示するのは、記事に投稿された画像(のサムネイル)・記事タイトル・カテゴリー名、の3つとします。
記事に関連付けられていない画像(ライブラリから引っ張った画像)は表示されません。
※上記のサンプル画像のwordpressでは、サムネイルの最小サイズを100x100pxの切り抜き設定にして、それを表示しています。

※記事のギャラリーに投稿された画像のサムネイルを利用するもので、
2.9で実装された投稿サムネイル機能とは全く別物です。ご注意ください。
“[wp]投稿された画像のサムネイルが表示される記事一覧ページを作る” の続きを読む

[wp] WordPress2.7 記事に添付された画像を取得して表示

WordPress2.7は画像に「大サイズ」が加わって全部で4種類になりました。
記事から投稿された画像を出力する内容のエントリーはこれまでに何度か書いてますが、
wp_get_attachment_image() を利用して画像をゲットする関数を作ったので晒しておきます。

関連記事

“[wp] WordPress2.7 記事に添付された画像を取得して表示” の続きを読む

[WP]WordPressテンプレートカスタマイズ用小技メモ(3)

テンプレートカスタマイズするときに使えそうなソースをつらつら書き散らすよ!(その1その2
自作関数ネタが多いです。

METAタグのgeneratorを消す

デフォルトだとheadにwordpressが自動でgeneratorを追加しますが

<meta name="generator" content="WordPress 2.7" />

meta name=”generator”はセキュリティ的に入れない方がいいと言われてます。
これ入ってるとバージョンアップサボってるのもモロバレ。(ex:このブログ)

アクティブテーマのfunctions.phpに以下1行追加

remove_action('wp_head', 'wp_generator');

remove_action()関数は必要のない動作を一発で消す事が出来るので覚えとくと便利。

keyで指定したカスタムフィールドの値を取得する

プラグイン使わなくても一応出来るよ。ってことで。

functions.php

function getCustom($key,$id) {
	$custom = get_post_custom_values($key, $id);
	if(count($custom)!=1)
		return implode("<br />",$custom);
	else
		return $custom[0];
}

値が複数ある場合は改行でくっつけてから帰します。

テンプレートファイルのループ内

print getCustom("key",get_the_ID());

the_ID()使うならループ内、変数とかに入れておけばループ外でもいける。
直接テンプレートファイル内に関数の部分入れて処理しても良い。
“[WP]WordPressテンプレートカスタマイズ用小技メモ(3)” の続きを読む

[WP]WordPressテンプレートカスタマイズ用小技メモ(2)

テンプレートカスタマイズに使えそうなソースをつらつらとまた書き散らす。その1はこちら
今回はテクニカルなものが多いかもしれない。

グローバルメニュー的なもの

ページとかカテゴリー単体にリンクしたい場合には、get_category_link()及びget_permalink()を使う。
引数はそれぞれカテゴリーIDとページIDです。

<ul id="glovalnavi">
	<li><a href="<?php echo get_option('home'); ?>" rel="index" title="< ?php _e('Go to site top.'); ?>">HOME</a></li>
	<li><a href="<?php echo get_category_link(1);?> " rel="category" title="< ?php _e('View all posts in Event information.'); ?>">イベント情報</a></li>
	<li><a href="<?php echo get_permalink(1); ?> " rel="page" title="< ?php _e('Sample Page.'); ?>">ページ</a></li>	
</ul>

パンくずリンクぽいもの

single.phpとかにHOMEとカテゴリと記事タイトルのリンクを出すだけで作れます。
ループ内に以下のソースを入れる。

<p><a href="<?php bloginfo('home'); ?>" title="< ?php _e('Home'); ?>">< ?php _e('Home'); ?></a> &gt; < ?php the_category(' | ') ?> &gt; <span>< ?php the_title(); ?></span></p>

もっと実用的にタイトルと連動させるならこの記事の関数が便利だと思う。

“[WP]WordPressテンプレートカスタマイズ用小技メモ(2)” の続きを読む

[WP]カスタムフィールドの値で記事を並び替える

質問された、カスタムフィールドで設定した値で記事を並び替えて表示するサンプルを晒してみる。
オススメ度とかでランキングっぽいことしたい時に使えるのか・・・な?
やってることはarray_multisortによる多次元配列のソートです。

サンプル関数の使い方は次の通りです。

  1. 記事にソート用のカスタムフィールドを作成
  2. 10進数の半角数字で値を入力
  3. テンプレートの表示したいところにサンプルのコードを入れる

以上。
サンプルソースは用途に応じて適当に変更するといいと思います。

参考ページ

追加

  1. 他のカスタムフィールドも表示したい場合
  2. ページナビゲーションによる分割表示

“[WP]カスタムフィールドの値で記事を並び替える” の続きを読む

[WP]オリジナルテーマ作成方法いろは(壱)

wordpressのオリジナルテーマ作成について語ってみるテスト。
ブログっぽいWebサイトテンプレートを作ったので、これを利用して作る方法を追う。
同タイトルの連番シリーズになっています。合言葉は「欲しいテーマが無いなら作ればいいじゃない!」
この記事は配布テンプレダウンロードからheader.phpとfooter.php作成まで。

全体で出てくる主な内容

  • アーカイブページとシングルページのレイアウト変更(3カラムと2カラム分岐)
  • 自作テンプレ・CSSファイル呼び出し
  • サイドバーウィジェット関連
  • FLASHの表示
  • ループについての解説

用意するもの

  • UTF-8が扱えるエディタ(PHPとHTMLの色分け表示できると見やすい)
  • WordPress本体(ローカル環境が望ましい)
  • XHTML/CSSテンプレート(なんでもいい)

テーマのテンプレートファイル構造がいまいちよく分からないという方は
事前にテンプレートファイルの仕様と構成を見ておくと分かりやすくなるとおもいます。
ファイルの編集は一応wordpressのテーマエディタでも出来なくはないです。

注意

  1. 対象バージョンは2.5~2.6です。下位バージョン対策も一応します。
  2. 手順はすごく・・・俺流です
  3. サンプルデザインをそのまま使うならコピーライト消しちゃダメ
  4. 貼ってあるソースそのまま使うとエラーになるかも(全角混入注意報)
  5. 途中レイアウト崩壊したらXHTMLソースをチェックしよう

“[WP]オリジナルテーマ作成方法いろは(壱)” の続きを読む

[WP]moreタグの出力ソースを変更する

<!–more–> で記事を区切ったときに出力される続きを読むリンクや、ターゲットに使われてるspanタグそのものを変更する方法について。

デフォルトだと、全文が表示されたときに挿入されるソースはこうです。

<p><span id="more-4"></span></p>

たとえばこれを次のようにDivへ変更する


<div id="more-4">

the_content_more_link について追加
“[WP]moreタグの出力ソースを変更する” の続きを読む