WordPress制作、カスタマイズ、Webシステム開発とSEO対策

WordPressで子テーマのディレクトリURIを求める場合の関数

WordPressで、テーマのディレクトリを求める関数は、bloginfo()関数にこんな引数を入れると出てきます。

bloginfo(‘template_directory’);

使用例

<img src="<?php bloginfo('template_directory');?>/images/mainImg.jpg" />

出力ソース

<img src="http://sample.com/wp-content/themes/parent/images/mainImg.jpg" />

ただし、テーマを子テーマにして運用している場合、親テーマのディレクトリ名が出てきてしまいます。
そんな時は、次の専用関数を使います。

get_stylesheet_directory_uri()

使用例

<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/mainImg.jpg" />

出力ソース

<img src="http://sample.com/wp-content/themes/child/images/mainImg.jpg" />

厳密にはスタイルシート(style.css)のあるディレクトリのURIを取得する関数なんですが、これで子テーマのスタイルシートの場所が出力できるのでひとまず解決です。

Contact Form7 で送信後にページ遷移する

WordPressのメールフォーム実装に人気の国産プラグインContactForm7。
Ajaxで軽快に動いて便利です。

ところでこのプラグイン、
・確認画面を出さない
・送信後にページ遷移をしない
というのがデフォルトの挙動となっています。
これはこれでユーザビリティ思想として結構かとは思うんですが、実際の運用時には少し困ることがあります。

確認画面が出ないのはいいとして、送信後にページ遷移をさせるのはWeb広告やアクセス解析でコンバージョンを計るときには必須です。(お問い合わせの送信完了をイベントとしてログを取りたい時)

そんな時は、ContactForm7の編集画面の最下部、「その他の設定」の欄に次のコードを挿入します。

on_sent_ok: "window.location.href = 'http://example.net/entry/form/thankyou/';"

http…のところには、遷移したいサンキューページのURLを入力します。
これで、送信が成功したメッセージが表示された瞬間にサンキューページにリダイレクトさせることができます。

WordPress「最新情報」欄の決定版! ページの更新情報とポストの投稿を合成して出力する

一般的な企業サイトには、必ずといっていいほどある「最新情報」欄。
「○月×日 ○○のページを更新しました」とか「○月×日 新製品のお知らせです」というもの。

しかしこの「○○のページを更新しました」というのが曲者なんですよね。

「ページを更新した」という情報は最新情報として伝えたいものの、そのためだけにわざわざ投稿を作成するのも面倒くさいし、その投稿の詳細ページが「○○のページを更新しました(リンク)」だけになってしまうのは間抜けだし、かと言って他に書くべきことも見当たらない。

そんなジレンマを解決する方法がこちらです。
ページの更新情報と、ポストの投稿を合成して、「最新情報」欄に出力します。
「投稿」はこれまでどおり投稿のシングル詳細ページに飛ぶけど、ページの更新情報はそのままページヘのリンクになるという仕組み。

(さらに…)

トップページにカスタム投稿タイプの更新リストを表示する

こちらの『WordPressテクニック』は、ここのところ毎営業日更新(土日祝日休み)でお届けしているわけなんですが、せっかく更新しているので本体サイトのトップページでも更新情報を流そうと考えました。

現在は、一般的な企業サイトのスタイルとして、「最新情報」という欄で、『投稿』のリストを表示させています。
この下に、カスタム投稿タイプの更新リストも表示してみましょう。
(さらに…)

WordPressのカスタム投稿タイプで独立コンテンツを作る方法まとめ #wacja2012

さて今回、会社のサイトに『WordPressテクニック』というWordPressのTips、技術情報を投稿していくコンテンツを新設するにあたり、会社情報とは独立した扱いにするために、カスタム投稿タイプを使用しました。
そこで、WordPressテクニックの一発目として、そのプロセスを記録して公開しておきます。
(さらに…)