Skip to content

Categories:

ワードプレス 自分中でのまとめ

えー最近、ワードプレスを使ってコーポレートサイトを作る機会が多い僕ですこんばんわ。

というか、新しい職場に入ってからWPしか触ってません。
社内では「WPでコーポレートサイトを作る君」みたいな位置づけになっちゃってます僕。。。

とまぁ何かネガティブな感じにしちゃいましたが、WPってCMSとしてかなり優秀だなっと
経験を積むたびに思います。

「こんな感じの事をしたい!」という事が、調べれば何かしらの方法で出来る。

そんな感じです。

そんな訳で、BON休みも暇なので、WPについて色々まとめ。

■プラグイン
WPの一番の強みは何といっても豊富なプラグイン。まず基本的に入れる事になるであろうプラグインを列挙。

1.PHP Execution


固定ページでもphpが動くようにするプラグイン。

個人的に必須だと思います。画像のパスを引っ張ったり、特定の部分で記事をひっぱったり…etc
他にも種類があるようですが、自分的にはコレが一番導入しやすいかと。

2.Custom Field Template pluginGet Custom Field Values


カスタムフィールドを投稿画面に追加するプラグイン。
前者がフィールド設定。後者が取得用です。

お客さんが更新をする前提のサイトで、記事のレイアウトが決まっている場合に有効でしょう。
画像はココ。この文言はココ。みたいな感じであれば、フィールドを作り、テンプレートファイルに吐き出すためのコードを指定しておけば、使うユーザーはhtml等気にしなくて済みます。

記事中の情報を、何かしらのフォームに入力しなければならない時などにも使えて
工夫次第で、とても良いCMSになるかもしれません。

後者のプラグインの取得方法はコチラを参照

3.WP-PageNavi


ページナビゲーションを簡単につけるプラグイン。

記事一覧などで1.2.3…というリンクを付けれます。WPのデフォルトは
「次へ」「前へ」という形なので、コレを使った方が使い勝手も見栄えも良いかと。
記事を取得するループの外の直下にコード<?php wp_pagenavi()?>を書くと簡単に実装できます。

ただ、ひとつ問題点が。
固定ページで使う時には一工夫しないと、正常に動作しません。
ループ部分のquery_postsに
<?php query_posts(‘cat=表示するカテゴリナンバー&posts_per_page=表示させたい件数&paged=’.$paged); ?>

という形で書かなければなりません。詳しい事は小難しくて良く分からないのですが(え)paged=’.$pagedという記述がミソのようです。

4.inquiry-form-creator


高機能なフォームを簡単に実装するプラグイン

フォーム設置プラグインでは「Contact Form 7」というプラグインがポピュラーみたいですが、このプラグインの特徴は何といっても

超簡単に超高機能なフォームが設置出来る!(しかも確認画面&返信設定付き)

インストール後、管理画面にて設定をするのですが

・郵便番号から住所自動挿入
・文字列チェック(数・形式)
・メルアドチェック(ドメイン制限付)
・自動返信設定(管理者/ユーザー)

など、その他諸々を設定する事が出来ます。そして何より日本語です。すばらすぃ。
これをデフォルトにすれば良いのにと、もう何かベタぼめですがwww

デザイナーにとって、プログラムの

/*—ココから先は編集しないでください—*/

というPGさんのコメントだったり(吐き出すのはそのタグじゃないんだ!)
置いた瞬間Internal Server Errorなど、ハイパー欝なあるあるネタだと思いますがw

このプラグインでそゆーのを少しでも減らせるといいのかなぁっと。

5.Ktai-styleWPTouch


前者がガラケー、後者がスマホ対応にするプラグイン。

携帯対応にして欲しいという要望はけっこー上がるので、その際に。

ガラケーページに関しては、一応固定ページとかを吐き出してくれるんですが、コーポレートサイトでは、1ページの文字数がかなり多くなるので、結局は携帯用の個別ページを別個に作るって形になると思いますが…。ともあれ、テンプレートなど、土台部分が作りやすくなるので、まぁ必須かなぁっと。

WPに限った事ではありませんが、「モバイルサイト」という物は何でこんなにめんどくせぃのでしょうw
過去に大きめなモバイルサイトに携わった事がありますが、その時も探り探りで
「これあってんの??」って感じでした。
んで今もその時の情報を元に構築していますが、最近のスマホの普及によりガラケーのTipsという物にあまり触れる機会がありません。その癖、機種自体は勝手に高機能になりやがります。あぁコレが「ガラケー」という物か…

話それまくりましたが。。。

貧相になりがちなモバイルサイトなので、アイコンや画像で見栄えを良くしたいですが
このプラグインを普通に使った場合、固定ページに画像を指定するとリンクになってしまいます(テンプレに書き込むと普通に表示されますが)

これを回避するには
http://bloggingfrom.tv/wp/2008/12/23/939を参考に。

<?php
function ks_keep_amazon_image($replace, $orig, $src) {
if (preg_match(‘#^サイトのアドレス/wp-content/plugins/ktai-style/themes/classic/img/#’, $src)) {
$replace = $orig;
}
return $replace;
}
add_filter(‘image_to_link/ktai_style.php’, ‘ks_keep_amazon_image’, 10,3);
?>

という物をfunctions.phpに記載すると、画像が表示されます。
上記サイトでは、amazonの画像を表示するためのTipsとして紹介されていましたが
リンクに変更される部分を表示させたい画像のurlにすればいけるんじゃないか??と思い試してみたら上手く行き、社内で一人ガッツポーズを取ってしまいましたwww

後者のプラグインは、入れた瞬間に綺麗にスマホ対応になります。
固定ページの情報(テキスト・画像など)も綺麗に出力されるので便利です。
ただ、このプラグイン英語なので、テンプレートファイルとか凄くワケワカメです。
これはもう少し勉強すれば使いこなせるのになぁーと感じています。

余談ですが、最近このプラグインがクラッカーによってバックドアを仕掛けられていたというなんとも怖いお話がありました。レンタルサーバーなどでは、強制的にアップデートをかけるなどの対処をした所もあるみたいですが(お陰でテーマファイルが消えてた事が…)
該当するverの人はアプデを。

■カスタム投稿タイプをうまく使う

カスタム投稿タイプというのは、まー簡単に言うと
「まったく新規の投稿方法を定義する」
って感じでいいんでしょうか(自信が無い…)

また、従来のカテゴリーの役割を

「カスタム分類(タクソノミー)」
と呼びます。

小さな規模のサイトではあまり使う必要は無いでしょうが
カテゴリーが膨大だったり、記事毎にレイアウトが特殊だったりと
扱う情報数が大きくなる場合には非常に有効です。

導入方法としては、プラグインが一番簡単なのですが

もしパーマリンク設定もプラグインで制御していたりすると
色々とめんどくさいので、個人的にはfunction.phpに記述する方法のが確実かなぁと思います。

記述方法はコチラが参考になります

この方法はまだ一案件でしか試していないのですが、たぶんこの機能をフル活用すれば
かなり大規模なサイトでも構築可になるんじゃないでしょうか。(テンプレートも自由に定義出来るので)

これを使ってかつ、パーマリンクの設定をする場合は、パーマリンク用のプラグインを使うと上手くいくのですが
前案件では、サーバーの種類がIIS(インフラ関係はよくわかんないけどWindowsサーバーみたいです)で少しハマりました。

パーマリンクでの書き換えはサーバーの「mod_rewrite」というモジュールを使って行っているようなのですが
IISのサーバーではそれがありません。その代わりに「URL Rewrite Module」という物を使って同じような動作を再現できます。

参考はコチラ
web.configに上記中のコードを書き込みアップ。

んで、固定ページなどはこれで正常にリンクを吐き出してくれるのですが、カスタム投稿で定義したページに関してはどうしても上手くいきませんでした。恐らくですが、パーマリンク設定のプラグインが、このweb.configを使えないのではないかと…
パーマリンク用のプラグインは、設定後、.htaccessを更新するのですが、まずIISは.htaccessは使えないみたいだし…ていうかまず、レンタルサーバーだからそのフォルダの権限無いし…
てな感じで、前案件ではパーマリンクを設定出来ずじまいでした…いやもうインフラ関係になってくると俺の範囲外でしょうよ(汗)これだけが心残りな案件でした。

んーーーーー。
何か自分の中で整理しようとしたのですが半分も出来なかったwww
んまー日々精進ですなぁ。このブログも無知な時に作ってしまったので近いうちに作り直したいなぁ

Posted in web.


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.

*