『Wordpress』の記事一覧

[WP] ContactForm7 で AjaxZip2 を使う

【問題点】
ContactForm7では、AjaxZip2の「onKeyUp=”〜”」を input タグに組み込めない。

【解決策】
ライブラリを読み込む際に、以下を記述しておく。
※郵便番号 input : id=”zip”
※都道府県 input : id=”pref”
※住所 input : id=”addr”


Wordpressプラグイン化されていないjQueryライブラリを使おうとすると、エラーが出ますよね。

ググったところ、これは、他のライブラリとの干渉を防ぐためにのWordoress仕様のjQueryの親心だそうな。

解決策としては、JSの「$()」を「jQuery()」にすればOK。

Wordpress 2.9.2 にアップグレード

更新頻度が遅くてすみません!
今回もあまり役立つ情報ではなく、報告でございます。

ようやく重い腰を上げて、当サイトのWordpressのバージョンを2.8.xから最新の2.9.2にアップグレードしました!

及び腰だったのは、使っているサーバ(sakura)のMySQLのバージョンが4.0で、2.9.xからMySQLのバージョンが5.0以上が必須になったからなのでした。
バージョンアップ自体はサーバのコンパネからの操作で簡単にできるのですが、DBのバックアップ→リストアといういかにも不測の事態が起こりそうな作業が必要なのです。

念のため、先達のバージョンアップ報告をチェックしつつおそるおそる作業を始めたわけですが・・・・予想通りトラブル発生。

#1007 ? Can’t create database ‘データベース名’; database exists
というエラーメッセージが出てインポートできません。

よくよく先の先達のバージョンアップ報告を見ると、コメントに同様の報告がされていました。
よく見ておけば・・・
がしかし、報告されている解決手順では解決できず・・・・・

真っ青になりつつも、念のためにWordpressのプラグイン「WP-DBManager」でバックアップしておいたデータをあててみたところ、無事インポート成功!復活しました。
備えあれば憂いなし。
バックアップって、本当に大事ですね。

ちなみに、データベースが空の状態でWordpressにアクセスすると初期セットアップの画面になり、ここでセットアップ→DBプラグイン有効化→バックアップデータのリストア、の手順でリストアしたところ、Wordpressが管理側・表示側ともに真っ白になってしまいました。
ではと、データベースを一旦まるごと削除して作り直し、バックアップデータをphpmyadminの画面からインポートしたところ、無事成功、というなんとも冷や汗ものな作業工程でありました。

Wordpress 自体のバージョンアップは、そんな苦労がアホらしくなるほどあっさり簡単に成功しました。やれやれ。

4GBのUSBメモリにxamppをインストールしてみました。

PC(windows)があれば、USBメモリを挿してこれを起動するだけで、自分用にカスタマイズしたサーバー環境を実現できるというわけです。
ステキです。

で、どうせならと、ワードプレスのインストールに挑戦したところ、あっさりと動いちゃいました。

Labrid-Local

ワードプレスのテスト環境というのはもちろん、個人的な日記・データベース目的としてもおもしろいんじゃないでしょうか。
意外に簡単にできちゃいますので、興味のある方はぜひチャレンジを。

さらに「どこでも仕事ができる!(緊急用)」をテーマに、USBメモリにいろいろとアプリを仕込んでいます。
レジストリ等を汚さないアプリであることが前提なので、気兼ねなく入れたり捨てたりできて楽しいです。

それについてはまた後日。(未定)

トップページに任意のカテゴリの記事の最新○件を表示したい
という時のテンプレートカスタマイズ方法を二通りご紹介。 (続きを読む…)

ナビゲーションメニューに求められる機能の一つとして
“表示中ページまたは表示中ページの親ページを明示する”
というものがあります。

デフォルトのWordpressにはこの機能はありません。
CMSのようなデータベース型WEB構築システムで、この機能を後付けするのはかなり難しいでしょう。

そこで、以前にも紹介した弊サイトイチオシのナビゲーションプラグイン、NAVTの出番です。

このプラグインのデフォルトのCSSクラスを利用させていただきます。

まず、管理画面のNAVT用管理画面を開き、設定したいナビゲーショングループのギアアイコンをクリックし、グループのオプション画面を開きます。
オプション画面の『CSS』タブをクリックしてCSSクラスの設定画面を開き、『NAVTのCSSクラスを使用』にチェックして保存します。

NAVTでデフォルトCSSに設定

NAVTのデフォルトCSSは、表示中ページ・表示中ページの親ページのリンクの li タグにそれぞれ、以下のクラスを割り当てています。

  • current_page_item:表示中ページ
  • current_item_parent:表示中ページの親ページ

このクラスにCSSでデザインを割り当ててやればOKです。

※注記
この方法を使った場合、トップなどに特定カテゴリの記事一覧を表示する等のカスタマイズに query_posts タグを使っている場合、『表示中ページ』がカスタム表示した特定カテゴリになってしまう事があります。
その場合は、query_posts ではなく get_posts を使うようにすればOKです。

NAVTのデフォルトCSSは他にも便利なクラスがたくさんあるので、テンプレートに合わせてNAVTをカスタマイズするのではなく、NAVTに合わせてCSSをコーディングしておくと便利です。

以下に使えそうなNAVTのCSSクラスをかいつまんでご紹介します。

ULタグに適用

  • menu
  • (設定画面で自ら設定したグループ名)
  • msie / firefox / safari / opera :(閲覧ブラウザ)
    ※Google Chromeでは safari になります。

LIタグに適用

  • erow/orow :(奇数/偶数)
  • (スラッグ)-cat/page :(カテゴリー/ページ)
  • current_page_item :(表示中ページ)
  • current_item_parent :(表示中ページの親ページ)

Aタグに適用

  • navt-plink/navt-clink/navt-ilink :(NAVTの取り扱い種別)
  • current_item :(表示中ページ)
    ※表示中ページの親ページにはクラス無し

Wordpress の バージョン 2.8.1 がリリースされました。
多くのバグが修正されたとの事なので、Labrid WP でもバージョンアップを敢行しました。
(とはいえ自動アップは怖いので手動で・・・)

  1. WP-DBManager プラグインでデータベースをバックアップ
  2. ダッシュボード>プラグイン管理画面から、全プラグインの使用を停止
  3. FTP にてサーバ上の Wordpress 関連ファイルを全てダウンロード
  4. 公式サイトから Wordpress 2.8 日本語版をダウンロード
  5. 解凍した全ファイルを FTP にてアップロード
  6. ダッシュボードにアクセスし、データベースをアップグレード
  7. ダッシュボード>プラグイン管理画面から、全プラグインの使用を開始

2.8 → 2.8.1 は自動アップグレードで行いましたが、問題なく無事アップグレード完了しました。

参考までに・・2.8 の新機能についてはこちら
以下に個人的によさげだと思う新機能を抜粋してみます。

なかなかいじり倒す時間がとれないのが辛いところ・・・

Wordpress のバージョン2.8がリリースされていますが、アップデートにはいろいろ不具合があるようで、検索すると様々な不具合報告が寄せられています。

コリスさんのところで情報がまとめられていましたので紹介します。
WordPress 2.8のアップデートの注意点と対処法 | コリス.

日本語公式サイトの発表はこちら

2.8にアップデートの際は手動でとありますが、何が何でもアップデートしないと困るという状況でないならアップデートしないのが一番かと思います。

2.8にアップデートしていないWordpressでは管理画面の上部に常に

WordPress 2.8 が利用可能です ! アップデートしてください。

と出ていますが、当面の間はうっかり寝ぼけてクリックしないよう注意しましょう。

ほぼ紹介記事で申し訳ないですが、仮にも Wordpress関連記事を書いているサイトの責務として投稿させていただきました。

最近、お問い合わせフォームからのスパムメールが届くようになったので、これの対策を施すことにしました。

Labrid WP では、Contact Form 7 というフォームプラグインを使っています。
このプラグインは Akismet のスパムフィルター機能を利用できます。

Akismet は、Wordpress に標準装備されている強力なスパムフィルタープラグインです。
まずはこれを有効にします。
※Akismet を有効にするには、WordPress.com で取得できる API キーが必要です。WordPress.com のアカウントをまだ持っていなければ WordPress.com で取得することができます。

次に、Contact Form 7 のフォーム作成画面(ツール>Contact Form 7)で、フォームの「名前」「メールアドレス」「URL」の入力項目に、それぞれ以下の Akismet オプションを追記します。

  • 名前akismet:author
    例: [text* your-name akismet:author]
  • メールアドレス→ akismet:author_email
    例: [email* your-email akismet:author_email]
  • URL→ akismet:author_url
    例: [text your-url akismet:author_url]

※初期入力オプションを設定してある場合、そのオプションより前に上記 Akismetオプションを記述しないと、フォームタグが有効に認識されずそのまま出力されてしまうので注意。

設定が終わったら、このオプションが正常に働いているかテストします。
名前欄に『viagra-test-123』(必ず Akismet にスパムとして補足される名前)と入力して送信すると・・・

toi_akismet

このようなメッセージが出て、送信できませんでした。

これでメールフォームのスパム対策完了です。
今後は問合せフォームからのメールの内容を見て、本当にスパムかどうか、削除してよいかどうかと悩まずに済む事でしょう :)

カテゴリー一覧用のテンプレートは、

デフォルトテンプレート:category.php
(カテゴリーID)用のテンプレート:category-(カテゴリーID).php

とする事で、カテゴリー毎に違うテンプレートファイルを読込んでくれます。

では、詳細画面用のテンプレートでは・・・? (続きを読む…)

Wordpressサイトの制作開始から公開までのフローを、最も少ない手順で実現できる方法を考えてみました。

Wordpressには、Wordpress本体のインストールURLと異なる公開URLを設定できる機能があるので、これを利用しています。 (続きを読む…)

プラグインをモリモリ盛った Wordpress。
それがある日突然クライアントから「IE6 でスクリプトエラーになるんだけど」なんて連絡がきたら・・・考えただけでも恐ろしいです。 (続きを読む…)

今回は、ヘッダー画像をランダムに変更する仕掛けをWordpressのテーマに仕込んでみます。
アクセスする度にサイトのイメージが変わるので、訪問者に常に新鮮な印象を感じていただけます。
導入が簡単な割に、効果の高いカスタマイズです。 (続きを読む…)

Wordpress を汎用のCMSとして使う場合、以下のような仕様の特設ページを作成する必要がある事があります。

  • キャンペーン等のような強力にプッシュしたい特設ページを単独で作成
  • 特設ページへのリンクとして、全ページにバナー画像を配置

そういった場合のカスタマイズ方法の一例として、私の行ったカスタマイズを簡単にご紹介します。 (続きを読む…)

Wordpress を共用SSLで使うのは不可能?

共用SSL で Wordpress のメールフォーム(お問い合わせ等)のSSL化を試みました。

かなりしつこく調査してみましたが、現状では共用SSLでのSSL化は無理、という結論。残念。

が、そもそもなぜSSL化が必要か、というと、お問い合わせフォームのようなメールフォームでは通信をSSLを通して暗号化する事が常識になっているからなんですね。
本当は、入力内容をそのままメール送信するフォームでは、SSLは無意味であるにも関わらず。
入力側(ブラウザ?サーバ間)をSSLで暗号化しても、出力側(サーバ→メール送信)が暗号化されていないので、意味は無いんです。
あるとすれば『安心感』。運営側にとってはそれも大事。
だから無意味でも皆コストをかけてSSL化するんですね。

話がそれました。
現状ではどうやら、共有SSLでWordpressの特定ページをSSL化するのは不可能なようなので、Wordpress を導入しようとしていて、SSLを使う予定があるなら、多少高くても独自SSLが使えるサーバを選ぶのが正解のようです。

※管理画面をSSL化するのはセキュリティを高める手段としては有効です。
こちらは Admin-SSL を使えば共有SSLでもSSL化できるようです。
Admin-SSL プラグインについてはまた別の記事にて。