Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

WordPressとかいう大正義のCMS

弊社のコーポレートサイトを来週にリニューアルするのですが、その時に出た要件がこちら。

  • ブログ形式でメンテ出来るサイトにしたい。
  • スマホにも対応できるようにしたい。
    • 要はレスポンシブってことね。すげぇ荒く言うと。
  • トップページにはシャレオツな画像スライドショーを出したい。
  • フォトギャラリーを作りたい。
  • ニュースだけではなく、様々なカテゴリのブログ記事を書きたい。
  • お取引様のみが閲覧できるページを作りたい
    • 当然、アーカイブページや単一記事ページのサイドバーはお取引様専用メニューにしたい
  • サイト内検索を可能にしたい
  • 記事に貼られている画像はデフォルトでLightBox対応をして欲しい

・・・こんな要件も満たせるのがWordPressだ。ホントもうお金払っても使わせて頂きたい。僕のような「とにかく最低限動いてデザインはテンプレートをサクッと適用してデザインの手間を省きたい」というズボラなコーポレートサイト担当にピッタリすぎる。コンテンツを作る手間はあったけど、合間見ながらやってたらだいたい2~3週間で出来た。

その中でコンテンツを作る(文章を書いたり、既存の記事をインポートしたり)作業が2週間、WordPressのテンプレートを決定してカスタマイズするのが3日~4日ぐらいでした。

以下、ちょこっとカスタマイズした内容。

記事をカテゴリ別にアクセス制限をかけたい

allow categoriesっていうプラグインを使えば出来ます。このページが超参考になりました。

西村高速自動車2 » WordPressで特定カテゴリーにパスワードをかける。

カスタム投稿タイプに記事のカテゴリを適用したい

FAQ Managerっていうプラグインを使ってFAQページを作ったのですが、Allow Categoriesと併用していると記事のカテゴリが無いのでログインしないと表示されないようになってしまった。なので、この1行をFAQ Managerのプラグイン編集から追加して逃げた。

<?php
public function _register_faq() {

		// get options from settings page
		$faqopts	= get_option('faq_options');
		$single		= (isset($faqopts['single'])	? sanitize_title($faqopts['single'])	: 'question'	);
		$arch		= (isset($faqopts['arch'])		? sanitize_title($faqopts['arch'])		: 'questions'	);

		register_post_type( 'question',
			array(
				'taxonomies' => array('category'), //コレ

ダイナミックサイドバーを複数追加したい

function.phpをいじるだけ。大抵サイドバーの追加ロジック書いてあるから、それをコピペして増やすだけ。IDが同じだと後に書いた設定が上書きされる。これにより、FAQページ/取引様専用ページ/一般公開ページの3つで、管理画面で作ったサイドバーの内容を分岐して呼び出すことが出来るようになった。楽過ぎ。

<?php
register_sidebar(array(
		'name' => 'Sidebar2',
		'id' => 'sidebar2',
		'description' => __('Widgets in this area will be shown in the sidebar.','fkcorporation'),
		'before_widget' => '<div class="sidebar-box clearfix">',
		'after_widget' => '</div>',
		'before_title' => '<h4><span>',
		'after_title' => '</span></h4>',
));

カテゴリによってサイドバーの内容を変更したい

get_the_category()を叩いて、dynamic_sidebar('sidebarのid')をif文で切り替えるだけ。大抵sidebar.phpっていうテンプレート用のファイルがあるし。

デフォルトでリンク貼ってる画像はLightBox

そんなプラグインがあったから適用するだけ。Lightbox Plus ColorBoxとかいうのを使った。

その他もろもろ

Quick Cacheっていうキャッシュのプラグインを入れた。これ重要だよね。また、ログインに何度か失敗するとロックするプラグインも入れました。

次のアクション

Wordpressでショップが作れるWelcartというプラグインがあるそうなので、ゆっくり調べていきたい。まぁ自前で作らなくても今なら無料でいくらでもネットショップがもてるのだけれども。stores.jpとかbase.inとか。