カテゴリー: WordPress

  • 【初心者向】WordPressインストール後の必須設定3項目について

    WordPress のインストールだけでも結構苦労したのに……この後は一体何をすればいいんだ! という初心者向けの記事。もしくは、今まで何となくWordPress 使ってきたけど、本当に今のままでいいのか分からない! という方向け。
    WordPress の初期設定の基本的な項目 3 つ、一般設定・投稿設定・パーマリンク設定について。

    WordPress 3.5 を元にした内容です。画面の表示など、仕様が異なる可能性があります。

    1.一般

    ここでのポイントは 2 点。サイトタイトルとキャッチフレーズです。特に注意したいのが、ここで設定するタイトルやキャッチは視覚的に現れるものだということです。
    どういうことでしょうか?
    ウェブサイトというのは見せる対象が 2 通りあります。ひとつはぼくたち人です。そしてもうひとつは検索エンジンです。検索エンジン向けのタイトルは All in One SEO Pack というプラグインで設定しますので、ここでの設定は人向けに行ってください。
    つまり、実際にウェブサイトを見た人の目に入ってくるサイトのタイトルということです。キャッチフレーズも同様です。「訪問者にどんなメッセージが伝われば、このサイトをより見てもらう事ができるのか?」ということを考えて付けるのもいいでしょう。非表示設定もできますので、あまり深く考えずに付けても OK です。

    ポイント

    一般設定でのサイトタイトル・キャッチフレーズは人に向けて SEO タイトルは All in One SEO Pack で検索エンジンに向けて設定

    2.投稿設定

    ここでの設定はとりあえず 1 点だけで OK です。その他は追々で構いません。ではその 1 点とはどこか? それは更新情報サービスです。ここには、いわゆる Ping の送信先を書き込みます。ブログを更新した際にその更新情報を送ってくれます。

    Ping の送信先

    以下に代表的な Ping の送信先をピックアップしました。そのままコピペするもよし、他の送信先を追加するもよし、逆に削除するもよし。ご自由に設定してください。ただし、あまり送信先が多くなりすぎないように!

    http://rpc.pingomatic.com/ http://rpc.pingomatic.com/
    http://blog-search.net/up.php
    http://blog.goo.ne.jp/XMLRPC
    http://blog.with2.net/ping.php/1143367/1295154496
    http://blogsearch.google.com/ping/RPC2
    http://bulkfeeds.net/rpc
    http://ping.bloggers.jp/rpc/
    http://ping.fc2.com
    http://ping.gpost.info/xmlrpc
    http://ping.myblog.jp
    http://ping.rss.drecom.jp/
    http://rpc.pingomatic.com/

    ちなみに、Ping はちょっとブログの記事を修正するなどの更新をした場合にも送信されてしまうようです。そうなると、頻繁に送信されて “うざい” ので、プラグインなどで送信を制限できます。オススメのプラグインはこちらです。

    また、複数の WordPress サイト管理している場合など、Ping の管理を一括で行えるサービスもあります。この PINGZONE というサービスも使い勝手がよさそうでした。

    整形

    あと、これは好みですが、ぼくは一番上の【整形】のところのチェックも外しています。海外で使われる顔文字( :-) とか、:-P など)が、絵文字に置き換えられる設定になっています。
    このサイトでは CSS や PHP のコードを記述することが多いのですが、この設定が原因でコードの一部がスマイルマークに変わっていたことがあって、その時このチェックを外しました。それまで気にもしていませんでしたが、思わぬ落とし穴でした。

    3.パーマリンク設定

    パーマリンク設定画面

    パーマリンク設定は重要です。SEO 的にも重要です。パーマリンク設定はいくつか選択肢が用意されていますし、自分で好きなようにカスタマイズすることもできます。このサイトのパーマリンクは、ドメインの後に投稿名が来る形にしています。設定画面にある 5 つ目の設定です。
    そして、この設定をオススメします。
    主な理由は以下の 3 つです。

    パーマリンクを投稿名にすべき3つの理由

    理由1)永続性がある

    パーマリンクの目的はひとつに永続性です。そのリンクが半永久的に有効なようにするのが役割です。そのため、できるだけWordPressの各種設定変更の影響を受けない形が理想です。例えばカテゴリーやタグの名前をパーマリンクに差し込んだ場合は、カテゴリー名やタグ名を変更した際にパーマリンクが変わってしまい、永続性が失われてしまいます。

    理由2)意味のある文字列にできる

    リンクにも意味がある方がよい、というわけです。ユーザーが URL を覚えやすくするには、URL に意味を持たせる方が効果的ですからね。そういうわけで、デフォルト設定のポスト ID だけなんていう意味のない文字列のパーマリンクは絶対にやめましょう。
    URL に含まれるキーワードは検索対象にもなります。例えば Google で「WordPress」と検索すると、タイトル以外にも URL が検索キーワードとしてヒットしているのが分かると思います。話はそれますが、そういう意味ではキーワードを意識した日本語URLも効果的です。(ただし、日本語にすると URL が長くなりすぎるので注意)
    検索結果のURLにキーワード

    理由3)長くなりすぎない

    パーマリンクが長すぎると、SEO 的に良くないという情報もあります。Sorezki SEO Plus という SEO チェックの GoogleChrome プラグインからは、あまりに長い URL は警告を受けてしまいます。順位が下がる程影響を与えることはないようですが、URL が長くなるとページのサイズが大きくなるためユーザビリティ的にもよろしくありません。
    パーマリンクにカテゴリー名などを含めると、これが長くなる原因になってしまいます。カテゴリーを階層構造にしているとなおひどいです。【 親カテゴリー/子カテゴリー/投稿名.html 】みたいになります。なので、余計な情報は挟まず、適度にキーワードを盛り込んだ投稿名ベースのパーマリンクがオススメというわけです。

    パーマリンクは投稿名ベースで!

    というわけで、パーマリンクは投稿名ベースの 5 つめにすることをオススメします。もしくは、投稿名の前に固定の架空ディレクトリを挟んでもいいと思います。

    http://ドメイン/好きなキーワード/投稿名/

    WordPress のバージョン 3.3 より前は、投稿名のみは非推奨となっていて、一文字でもいいから投稿名の前に何か挟むように言われていました。(例えば、http://ドメイン/a/投稿名/ みたいな感じです。)バージョン 3.3 以降は選択肢にもしっかり用意されたので問題ないようです。
    ちなみに、パーマリンクに特定にキーワードを挟む場合は、カスタム構造で設定します。例えば、

    http://ドメイン/blog/投稿名/

    というパーマリンクを設定する場合は、カスタム構造をチェックし以下のように入力します。

    /blog/%postname%/

    また、末尾に.htmlなどの拡張子を入れるのはパーマリンクの永続性を保つ観点からよくないようです。しかし、WordPressサイトの表示速度の観点からすると、キャッシュを利用した表示速度アップのために.htmlがあった方がいいようです。どちらを選ぶか正解はありませんが、迷うようなら無しでいいと思います。

    参考記事

    パーマリンクに関してはこちらを参考にしてください。
    — URL最適化5つのSEOポイント | Web担当者Forum
    — WordPressでSEOに有利かつ短い究極のパーマリンク設定(2012年用最新版!)
    — WordPressのパーマリンク設定を最適なものにカスタマイズする

  • サイドバーウィジェットを増やすWordPressカスタマイズ方法

    WordPress のカスタマイズに役立つ、サイドバーウィジェットの追加方法をメモしておきます。ウィジェットを追加してレイアウトを整えれば、カスタマイズの自由度は飛躍的に高まります。
    例えば・・・
    ヘッダーとコンテンツの間に、ウィジェットで管理できるスペースを設置したり
    ヘッダー下・コンテンツ上にウィジェット
    3カラム用のサイドバーウィジェットを用意したり
    3カラム用ウィジェット
    幅の違うウィジェットをサイドバーに設置したり
    サイドバーウィジェットを2列
    ウィジェットを使えば、ダッシュボードのウィジェット管理画面からいつでも自由に好きなようにコンテンツを入れ替えることができるので非常に便利です。
    この部分にあったらいいな〜というコンテンツを自由に追加できます。もちろん、テンプレートに直接 HTML で書き込んでも OK ですが、作業が面倒だと思います。それよりも WordPress の管理画面から変更できた方が便利だと思いませんか?
    ウィジェットを好きなように追加・配置できれば、こういったことが可能になります。

    WordPressに新規でウィジェットを追加する

    ウィジェットの追加はとても簡単です。決まったコードを追記するだけ。それを表示するのも簡単。以下詳しく見ていきます。

    (1) ウィジェット用のコードを追加

    さて、本題に入って行きます。使用しているテンプレートは WordPress のデフォルトテンプレートとしておなじみの Twenty Eleven です。が、基本的に WordPress 全てのテンプレートに共通する内容です。
    ウィジェットを追加するには、【functions.php】に、以下を追記してください(※functions.php をカスタマイズする場合は子テーマの作成をオススメします)。

    【注意】functoins.phpをWordPressの子テーマに追加する場合

    register_sidebar( array(
    	'name' => __( 'サブサイドバー', 'twentyeleven' ),
    	'id' => 'sidebar-6',
    	'description' => __( '新規で追加したウィジェットです', 'twentyeleven' ),
    	'before_widget' => '<aside id="%1$s" class="widget %2$s">',
    	'after_widget' => '</aside>',
    	'before_title' => '<h3 class="widget-title">',
    	'after_title' => '</h3>',
    ) );

    id を【sidebar-6】、つまり 6 番目としているのは、Twenty Eleven の場合すでにデフォルトで 5 つのウィジェットが設定されているからです。新たに追加すると 6 番目になるわけです。
    もちろん、名称は任意で決めてもらって大丈夫です。
    また、【name】の部分は管理画面上に表示されるので、分りやすく日本語やカタカナで OK です。
    これで新しいウィジェットが追加されました。管理画面のウィジェットを見てみると、追加した項目が表示されていると思います。
    新しいウィジェットの追加

    Twenty Eleven 以外のテーマを使用している場合のウィジェット追加方法は?

    上記のコードで基本的にはウィジェットを追加できますが、細かい点はコピペでは印象が悪い気がします。例えば、、、name の部分に ‘twentyeleven’ と入っていたり、、、before_title に <h3> が指定されていたり。
    これらの指定はテーマによって異なりますので、今使用しているテーマの functions.php を開いて【register_sidebar】と検索をしてみてください。ウィジェットに関するコードが見つかるはずです。ここの記述を子テーマの functions.php にコピペし【name】や【id】の部分を任意の値に変更すれば、テーマに合ったウィジェットを追加できるはずです。

    (2) ウィジェットのコードをテーマに追記して表示させる

    続いて【sidebar.php】など、ウィジェットを追加したいテーマファイルを子テーマにコピーして、以下のコードを追記します。

    
    		<?php endif; // end sidebar widget area ?>
    	</div><!-- #secondary .widget-area -->
    
    
    	<div id="tertiary" class="widget-area" role="complementary">
        		<?php dynamic_sidebar( 'sidebar-6' ); ?>
    	</div><!-- #tertiary .widget-area -->
    
    <?php endif; ?>

    Twenty Eleven の場合、メインサイドバーに対しての id が secondary(第2)となってますので、第3ということで tertiary としています。ちなみに 4 番目は quaternary、5 番目は quinary です。
    これでサイドバーに新しいウィジェットエリアが追加されました。
    追加されたウィジェット
    他のウィジェットと同じように使用することができます。後はレイアウトを好きなように整えればいいのですが、これは CSS のカスタマイズになります。

    Twenty Elevenのサイドバーに関する仕組みについて

    ここで、Twenty Eleven のサイドバーについてまとめておきたいと思います。どのテンプレートファイルが、どこに反映されて、CSS ではどのように指定されているのか・・・?? このようなことが分ってもらえると思います。
    Twenty Eleven は 2 カラムのテンプレートです。デフォルトでは 5 つのウィジェットが用意されています。その内、1 つはサイドバー用、1 つはショーケーステンプレートのサイドバー用、残りの 3 つはフッターに表示されるサイドバー用です。
    また、CSS に関しては以下のように指定されています。

    • ウィジェット1:メインサイドバー(#secondary)
    • ウィジェット2:ショーケースサイドバー(.widget-area)
    • ウィジェット3:フッターエリア1(#supplementary #first)
    • ウィジェット4:フッターエリア2(#supplementary #second)
    • ウィジェット5:フッターエリア3(#supplementary #third)

    ※フッターエリアのスタイルは全て #supplementary で指定されており、#first〜#third は使われていません。
    基本的なテンプレートの構造は、ヘッダーから始まり、コンテンツ部分が来て、サイドバーを吐き出し、最後にフッターを吐き出す、という流れになっています。つまり、CSS でレイアウトなどを一切指定しなかった場合、以下のように上から順番に表示されるようになっているということです。
    CSSの指定が無いTwenty Eleven
    Twenty Eleven の場合、いくつかのテンプレートがあり、サイドバーに関しては右サイドバーと左サイドバーの両方を選択できるようになっています。これは、要するにサイドバーを【float】で右に回り込ませるか、左に回り込ませるかの違いです。コンテンツの幅を狭めて、回り込ませるスペースをつくり、サイドバーが横に並ぶように CSS でレイアウトを指定しているわけですね。
    Twenty Elevenのレイアウト
    そのため、コンテンツの幅をちょっと広げると、サイドバーは回り込むスペースを奪われ、コンテンツの下に位置するようになってしまいます(理屈を把握するためにも、試してみてください)。

    ウィジェットのレイアウトを整える

    追加したウィジェットは CSS を使ってレイアウトを整えることができます。これによって、3 カラムに構成にしたりコンテンツ部分にウィジェットを表示させたり、結構自由な使い方ができるようになります。
    具体的なカスタマイズ方法は、別途詳しくまとめたいと思います。
    基本的には、各ウィジェットに id を指定してしているので、その id に対して float や width や margin などを調節すればいいだけです。
    例えば先ほどの例で言うと、Twenty Eleven に追加した 3 つ目のウィジェットは【id=”tertiary”】にしました。このウィジェットのレイアウトを調節する場合は【tertiary】で指定してあげれば OK というわけです。
    Firefox などのブラウザの拡張機能である Firefbug などを使って、レイアウトを確認しながら調節していけば、そんなに難しくないと思います。
    ぜひ挑戦してみてください。

  • 「LINEで送る」ボタンをWordPressに(しかもスマホでのみ)設置・表示させる方法

    2015.6.26 追記
    LINEで送るボタンのデザインが変わっていたようなので、最新のものに解説画像などを変更しました。

    ものすごい勢いでユーザー数を増やしている LINE。その LINE が公式のソーシャルメディアボタンをリリースしました。
    それがこちら・・・

    LINEで送るボタン!

    LINEで送るボタンデザイン一覧
    設置に関してはこちらに記載されています。とても簡単そうです。WordPress 向けのタグもちゃんと用意されていて、とてもありがたいですね。
    早速設置してみようと思ったのですが、どうもスマホ対応のみのようです。スマホでサイトやブログを見ている人がこの「LINEで送るボタン」を押すと、記事タイトルや URL を簡単にシェアすることができるというわけです。
    しかし、PC で閲覧している人が「LINEで送るボタン」を押してしまうと、LINE の公式サイトへとジャンプしてしまいます。つまり、せっかく見に来てくれているユーザーを、自分のブログから離脱させてしまうのです。なので、設置するのはいいけど、スマホでは表示・PC では非表示にした方がいいなという見解に至りました。

    まず基本:LINEで送るボタンをWordPressに設置する方法

    まずは LINEで送るボタンを設置する手順を示しておこうと思います。

    (1) ボタン画像をダウンロード&アップロード

    「LINEで送るボタン」の画像は自分のサーバーに自分で設置する必要があります。まずは、こちらのページの最下部から、ボタンの画像フォルダをダウンロードしてください。【linebutton】というフォルダがダウンロードできると思います。
    中には画像ファイルが 5 種類入っています。

    (2) ボタン画像をアップロード

    ダウンロードした画像は、フォルダ(linebutton)ごとサーバーにアップしましょう。どこにアップしてもいいんですが、子テーマファイルに images フォルダを用意してその中に入れるのがいいと思います。

    wp-content

    ∟ themes

    ∟ twentyfifteen(親テーマ)

    ∟ twentyfifteen-child(子テーマフォルダ)

    ∟ images

    ∟ linebutton( ← フォルダごとアップロード)

    ∟ 5つの画像ファイル

    (3)「LINEで送るボタン」タグの編集

    LINEで送るボタンの WordPress 用のタグは、以下のようになっています。

    <a href="http://line.me/R/msg/text/?<?php the_title(); ?>%0D%0A<?php the_permalink(); ?>"><img src="[ボタン画像のURL]" width="[ボタン幅]" height="[ボタン高さ]" alt="LINEで送る" /></a>

    任意で指定するのは 3 つあります。

    • ボタン画像の URL
    • ボタン画像の幅
    • ボタン画像の高さ

    URL は絶対パスで指定。幅や高さは使いたい画像ファイル名にある数字をそのまま当てはめれば大丈夫です( px などの単位は不要)。

    <a href="http://line.me/R/msg/text/?<?php the_title(); ?>%0D%0A<?php the_permalink(); ?>"><img src="http://ドメイン/wp-content/themes/twentyfifteen-child/images/linebutton/linebutton_40x40.png" width="40" height="40" alt="LINEで送る" /></a>

    (4) テンプレートに「LINEで送るボタン」を貼る

    次に WordPress のテンプレートに「LINEで送るボタン」のタグを書き込みましょう。どのテンプレートに書き込むか悩むところですが、今回は【content.php】に書き込みました。他の候補としては、【content-single.php】や【comments.php】などが上げられます。
    詳しくはこちらを参照ください。

    どこに「いいね!」ボタンなどのソーシャルプラグインのタグを埋め込めばいいのか?

    スマホで閲覧している人にのみ「LINEで送るボタン」を表示させる条件分岐分岐タグの使い方

    さて、普通の設置方法が分かったところで、次は条件分岐タグを使ってスマホで見ている場合のみ「LINEで送るボタン」を表示させたいと思います。PC で見た場合は非表示なるというわけです。
    条件としては・・・

    もし、スマホでアクセスされている場合は表示、それ以外は非表示

    という指定ができれば OK ですね。

    PCサイトとスマートフォン用サイトを分ける条件分岐タグを発見

    スマートフォン用のコンテンツを指定できる条件分岐タグを探してみたところ、やはりありました!さすがです!
    そのタグはこちら

    wp_is_mobile()

    ただし、WordPress のバージョンが 3.4 以降ということで、使用する場合はバージョンに気をつけてください。

    スマホ向け条件分岐タグの設置例

    「LINEで送るボタン」をスマホ向けサイトでのみ表示されるようにする、具体的なソースコードはこちらです。

    <?php if ( function_exists('wp_is_mobile') && wp_is_mobile()): //スマートフォン向け ?>
    	<!-- ここに「いいね!ボタン」などソーシャルプラグインのコードを記載 -->
    	<!-- ▼ LINEで送るボタンここから ▼ -->
    	<a href="http://line.me/R/msg/text/?<?php the_title(); ?>%0D%0A<?php the_permalink(); ?>"><img src="[ボタン画像のURL]" width="[ボタン幅]" height="[ボタン高さ]" alt="LINEで送る" /></a>
    	<!-- ▲ LINEで送るボタンここまで ▲ -->
    <?php elseif ( is_search() || is_home() || is_archive() ) : //このタグは無くてもOK ?>
    <?php else: //スマートフォン以外 PC向け ?>
    	<!-- ここに「いいね!ボタン」などソーシャルプラグインのコードを記載 -->
    <?php endif; ?>

    if の後に function なんたらかんたらと、なんだかややこしい事が書いてありますが、参考にさせて頂いたサイトに書かれていた通りのやっておりますので、詳しいことは分かりません。ただ、WordPress のバージョン 3.4 以前バージョンであったとしてもエラーにならない書き方のようです。

    実際にどのように表示されているのか・・・?

    条件分岐タグを使えばご覧の通り、
    LINEで送るボタンのPC表示とスマホ表示
    PC で見たときは「LINEで送るボタン」は表示されませんが、スマホで見ているときはちゃんと表示されています。
    ちなみに、スマホ向けの表示を WordPress のプラグイン WPtouch で設定している場合は、テンプレートファイルに書き込んだソーシャルプラグイン関係がうまく表示できません。
    この点は解決できませんでしたが、EZ zenback などを使って組み込むと上手くいくようです。ただし、その場合は条件分岐タグが使えなくなるので、スマホ用の CSS で表示・非表示を変えるしかないのかな〜・・・と思います。
    ぜひ試してみてください。

  • WordPressの投稿記事一覧を抜粋表示する条件分岐タグの使い方-メイン・カテゴリー・タグ・アーカイブページなど-

    WordPress で投稿した記事の表示方法には 2 通りあります。1 つは全文表示。もう 1 つは抜粋表示です。
    使い分けとしては、、、

    • トップページやアーカイブページなどでは抜粋表示
    • 記事全文を読みたい場合の個別投稿ページでは全文表示

    というのがベターだと思います。
    しかし、WordPress のデフォルトテンプレートである Twenty Eleven や Twenty Twelve など、初期設定のままだとトップページやアーカイブページでも全文表示なっているます。いちいち タグを挿し込むのも面倒くさい・・・。他のテンプレートでも同じようになっているかもしれません。
    この記事では、条件分岐タグを使って全文表示と抜粋表示を使い分ける方法をご紹介します。

    条件分岐タグの役割を理解しよう

    まず、簡単にWordPressの条件分岐タグについて説明しておきたいと思います。理屈はそんなに難しくないはずです。PHPを使っていますが、特に専門的な知識がなくても使えてしまう便利さがあります。(少なくともぼくはPHP、よく分っていません)
    条件分岐タグの基本構造は・・・

    もし【条件1】なら【表示1】、それ以外は【表示2】でお願いね

    というものです。簡単ですよね?これを実際のPHPのタグに合わせて見てみましょう。

    <?php if ( 【条件1】 ) : ?>
    【表示1】
    <?php else : ?>
    【表示2】
    <?php endif; ?>
    もし <?php if ( 【条件1】 ) : ?>
    【表示1】 任意のタグ
    それ以外は <?php else : ?>
    【表示2】 任意のタグ
    条件指定終わり <?php endif; ?>

    といった感じです。あとは、これらを踏まえて指定したい条件と表示させたい内容のタグを埋め込んでいけばいいというわけです。

    条件を複数指定したい場合

    条件を複数指定したい場合は、【 || 】この縦2本のラインを挟めばOKです。例えば、「もし、【条件1】【条件2】【条件3】の場合は・・・」というような指定をしたい場合は以下のように指定します。

    <?php if ( 【条件1】 || 【条件2】 || 【条件3】 ) : ?>

    多分、抜粋表示をさせたいのはカテゴリーページやタグページなど、複数に渡るはずなので、この複数の条件指定を覚えておきましょう。
    ちなみに、この線( → | )なんて呼ぶのか分りませんが、キーボードの右上にあるはずです。。。

    条件分岐タグを使って全文表示と抜粋表示を切り替える

    さて、いよいよ実践です。今回は以下のように指定したいと思います。

    抜粋表示 トップページ(投稿一覧)
    アーカイブページ(archive.php)
    検索結果一覧ページ(search.php)
    全文表示 個別投稿ページ(single.php)
    固定ページ(page.php)など

    つまり、文章にしてみると、『もし、トップページ・アーカイブページ・検索結果エページの場合は抜粋表示にして、それ以外の場合は全文表示にしてね』となります。
    ちなみに、アーカイブページとは、「カテゴリーページ」・「タグページ」・「作成別ページ」・「日付別ページ」の結果を全て含んでいます。なので、条件としてはアーカイブページを指定しておけばOKです。

    全文と抜粋を着替える条件分岐タグの指定例

    全文表示と抜粋表示の切り替えを指定するためには以下のように記述します。

    <?php if ( is_home() || is_archive() || is_search() ) : ?>
    	<?php the_excerpt(); ?>
    <?php else : ?>
    	<?php the_content(); ?>
    <?php endif; ?>

    ちなみに、トップページを指定する WordPress の条件分岐タグは

    is_home()

    カテゴリーページを指定する条件分岐タグは

    is_archive()

    検索結果一覧ページを指定する条件分岐タグは

    is_search()

    です。
    また、抜粋表示を示す WordPress のタグは

    <?php the_excerpt(); ?>

    全文表示を示すタグは

    <?php the_content(); ?>

    です。実際はスタイルシートの指定やその他の PHP が記述されていると思いますが、単純化するとこのようになっています。

    タグはどこに書き込めばいいのか?

    ここからは Twenty Eleven、もしくは Twenty Twelve を元に解説していきます。条件指定の仕方は WordPress 共通していますので、お使いのテンプレートに合わせてカスタマイズしてみてください。
    それでは、まずは content.php を開きましょう。Twenty Eleven は 35 行目、Twenty Twelve は 33 行目辺りから、コンテンツの表示方法についての記述があります(子テーマに複製してから作業してくださいね)。

    <?php if ( is_search() ) : // Only display Excerpts for Search ?>
    <div class="entry-summary">
    	<?php the_excerpt(); ?>
    </div><!-- .entry-summary -->
    <?php else : ?>
    <div class="entry-content">
    	<?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyeleven' ) ); ?>
    	<?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?>
    </div><!-- .entry-content -->
    <?php endif; ?>

    元々の記述内容は、『もし、検索結果一覧ページなら抜粋表示にして、それ以外は全文表示にしてね〜』となっています。なので、単純に最初の

    <?php if ( is_search() ) : // Only display Excerpts for Search ?>

    の部分を

    <?php if ( is_search() || is_home() || is_archive() ) : // Only display Excerpts for Search ?>

    に変更すれば OK です。
    簡単ですね。ぜひ試してみてください。

  • 【注意】functoins.phpをWordPressの子テーマに追加する場合

    以前、子テーマの作成方法についてお伝えしましたが今回はその続きです。
    ちなみに、この記事を理解するには、まず WordPress の子テーマについて理解して置く必要があります。子テーマについてはこちらの記事にまとめていますので、「子テーマって何!?」という場合は、まずこちらからチェックしてください。

    【重要】WordPressテーマをカスタマイズするなら子テーマを作れ!

    子テーマにfunctions.phpを加えたい場合

    さて、この子テーマ、カスタマイズしたい部分だけ、カスタマイズしたいファイルだけを上書きすることができる便利な機能なんですが、functions.php に関しては扱いに注意が必要です。
    その注意点を一言でまとめるなら・・・

    『追加はできるが、上書きはできない』

    という感じでしょうか。もうちょっと詳しく説明していきましょう。

    テンプレートファイル(header.phpやcontent.phpなど)やスタイルシートを子テーマで作成した場合

    通常、子テーマにテンプレートファイルやスタイルシートを作成した場合、該当する部分を上書きすることになります。
    WordPressの親テーマと子テーマの関係
    例えば、元々のスタイルシートにはブログのタイトルの文字色が黒で指定されていたとします。しかし子テーマのフォルダの中に追加したスタイルシートで、新たにブログタイトルの文字色を赤に指定すると、こちらの設定が反映されます。
    つまり、親テーマで指定している要素を改めて指定し直す事ができるので、上書きしていると言えると思います。

    functions.php を子テーマで作成した場合

    一方で functions.php を子テーマのフォルダの中に作った場合は同じようになりません。親テーマに記述されていることを上書きしてくれないのです。
    もし、親テーマに記述してあることを改めて記述してしまうと、エラーが発生して WordPress が表示できなくなってしまいます(恐ろしい・・・)。そのため、functions.php の内容を変更したい場合は、親テーマの方を直接いじる方が無難です。
    当然、親テーマのアップデートがあったりなんかすると、変更した内容が失われてしまいますので、注意が必要です。
    しかし、親テーマに記載されていない内容を追加したい場合は、子テーマ内に functions.php を作ってカスタマイズすることができます。子テーマフォルダ内に作成した functions.php をカスタマイズする場合は、追加したい内容を以下のように記述していく感じです。

    <?php
    /* ここに新しく追記 */
    ?>

    functions.php をカスタマイズしたい場合は注意してください。

  • WordPressをインストールした後にディレクトリ名(つまりURL)を変更する方法

    WordPress をインストールした後に、ディレクトリ名を変更したいと思った事はありますか? ディレクトリ名の変更 = URL の変更です。つまり、

    http://ドメイン/ディレクトリ

    このディレクトリの中に WordPress のファイルが一式アップロードされている状態です。この状態でディレクトリの名前を変更したいと思います。ちなみに、ディレクトリというのはフォルダと同じような意味です。

    WordPressがインストールされているディレクトリ名変更の手順

    ディレクトリ変更の順番は以下の4段階(実質3段階?)です。

    1.一般設定で希望のディレクトリ名に変更する

    まずは、WordPress のダッシュボードにある【設定】の中の【一般設定】に、WordPress がインストールされている URL が表示されていると思います。そこの【WordPressアドレス(URL)】と【サイトアドレス(URL)】の両方を、好きなディレクトリ名に変更してください。
    WordPressのルートディレクトリを変更する

    2.一旦落ち着く

    ディレクトリ名を変更すると、WordPress にアクセスできなくなります。
    404 file Not Found
    まぁ当然です。ここで「やばい…」と焦るかもしれませんが、正常な反応なので安心してください。

    3.サーバー上のディレクトリ名を変更する

    次は FTP ソフトなどを使って、WordPress がインストールされているサーバーへアクセスしてください。そして、多分「名前を変更」みたいな操作ができると思いますので、ディレクトリの名称を変更した名前に変えましょう。

    4.再度ログインする

    サーバー上のディレクトリ名の変更が済んだら、新しい URL で WordPress のダッシュボード(管理画面)にアクセスしましょう。管理画面へのアクセスは以下の URL です。

    http://ドメイン/新しいディレクトリ名/wp-login.php

    ブログの URL の後に【 /wp-login.php 】、もしくは【 /wp-admin 】のどちらかを打ち込めば OK です。これで新しい URL に変更することができました。
    ちなみに、途中でディレクトリ名を変えるのは、あまりよい事ではないと思います。特にアクセスがある程度あるのであれば、URL の変更はアクセスができなくなったりなど、ユーザビリティを損ないます。もし、どうしてもディレクトリ名を変更しなければならない場合は、ちゃんとリダイレクトの設定もしておきましょう。

    参考にさせて頂いたブログ

    ― wordpressをインストールしたディレクトリ名を変更する

    ありがとうございます!

  • WordPressテーマTwenty Twelveの投稿ページを抜粋表示にする方法

    2012/12/22 追記
    もっと簡単に設定する方法が分りました。
    詳しくはこちらの記事をご覧ください。
    > WordPress の投稿記事一覧を抜粋表示する条件分岐タグの使い方

    WordPress がバージョンアップして 3.5 になりました。それに伴って、新テンプレートの Twenty Twelve も登場。だいぶシンプルで無駄のないデザインになっています。ミニマルデザイン好きなので個人的には好きです。カスタマイズの方もおもしろくなりそうです。
    Twenty Twelve も、以前 Twenty Eleven 同様、ブログの最新の投稿が一覧で表示されているページは各投稿が全文表示されてしまいます。厳密に言うと検索結果などの場合は抜粋表示されるようになっていますが、トップページの最新投稿では全文表示の記事が数記事ならぶとスクロールが非常に面倒になってしまいます。
    トップページに最新記事一覧を表示させる際には抜粋表示されていた方がいいと思うので、カスタマイズ方法をメモしておきたいと思います。

    結論:最新投稿記事を一覧表示するには条件分岐タグを使う

    条件分岐タグを使うとうまくいきました。
    条件分岐タグとは、WordPress のタグのひとつで、「○○の場合は■■を表示して」のような指示を出すためのタグです。これを使う事によってトップページ(フロントページ)に記事全文が一覧表示されることはなくなり、抜粋表示ができるようになります。

    変更するテンプレートと、タグの記述方法

    変更を加えるテンプレートは【content.php】です。子テーマにコピーしてから編集してくださいね。
    3 行目に以下のような記述があります。

    <?php if ( is_search() ) : // Only display Excerpts for Search ?>
    <div class="entry-summary">
    <?php the_excerpt(); ?>
    </div><!-- .entry-summary -->

    これは、「もし検索結果なら・・・」という条件を示して、「その場合は【excerpt】、つまり抜粋で表示してね」という指示をしています。この条件を仮に【条件1】としておきます。
    そして、その下に以下のようなタグを追記すると・・・

    <?php elseif ( is_home() ) : ?>
    <div class="entry-summary">
    <?php the_excerpt(); ?>
    </div><!-- .entry-summary -->

    「もし、【条件1】でない場合は、こっちの条件を適用してね」という指示を出すことができます。同じように抜粋にするタグを埋め込んでいるので、「もし、条件1でない場合は、抜粋で表示してね」という意味になります。一応こちらの条件は【条件2】としておきましょう。

    条件分岐タグ【is_home】の意味

    ここで指定している条件は、表示設定におけるフロントページの表示で【最新の投稿】を指定している場合のトップページや、【固定ページ】を指定している場合の投稿ページに反映されます。

    各個別投稿記事を見る場合は全文表示に

    これでトップページで投稿記事が一覧表示されている場合に抜粋記事として表示させることができます。そして、記事タイトルをクリックすると全文表示の個別投稿記事のページが表示されるようになります。
    その条件を指定しているのは、先ほど【条件2】のタグを追記した後に書かれている【else】から始まる部分です。意味としては、「【条件1】でも【条件2】でもない場合は〜」ということで、この場合は全文表示などを指示しています。

    参考にさせて頂いたブログ

    ありがとうございます!

  • WordPressでトップページのみヘッダー画像を表示させるカスタマイズ法

    WordPress をサイト用にカスタマイズするなかで、ヘッダー画像は大事な要素だと思います。しかし、トップページではインパクトを与えることができても、他のページでは必要なかったりします。
    なので、トップページのみヘッダー画像を表示させるカスタマイズはできないものか、情報を探しておりました。
    そして、実際にトップページのみヘッダー画像を表示させ、他のページではヘッダー画像を表示させないというカスタマイズができたので、メモしておきたいと思います。

    結論:条件分岐を使う

    条件分岐タグを使えば、そのタグで指定した条件の場合にだけ、任意のソースを表示してくれるようになります。
    このタグには様々なものがあり、メインページ、カテゴリーページ、個別投稿ページなどの条件を指定することができ、そのページだけで表示させたいものを吐き出すことができます。
    > 各種条件分岐タグについてはこちら

    条件分岐タグを使って、トップページのみヘッダーを表示させる

    条件分岐タグには色々な種類がありますが、トップページに何を指定しているかで、ちょっと使い方が異なるようです。今回は大きく 2 パターンについてメモしておきたいと思います(以下トップページ=フロントページとして話しを進めていきます)。

    フロントページに固定ページを指定している場合

    今回はサイトタイプのため、フロントページには固定ページを指定していました。つまり、WordPress の設定において、【表示設定】の【フロントページの表示】の部分で【固定ページ】を選択し、任意の固定ページをフロントページに指定してたということですね。
     
    フロントページに指定した固定ページにのみ、あるソースを表示させる場合、以下のタグを使用します。

    <?php if(is_front_page() ): ?>
    	フロントページのみで表示させたいこと
    <?php endif; ?>

    で、これをどこに書き込むか、ということですが、、、今回はフロントページが表示された場合のみ、つまりドメインへのアクセスがあった場合にのみヘッダー画像を表示させたいわけなので、【header.php】に書き込みます。
    以下のように、ヘッダー画像を条件分岐タグで囲ってしまえば OK です。

    <?php if(is_front_page() ): ?>
    	<div id="header-img">ヘッダー画像</div> /* idを指定していると、CSSで編集しやすくなります */
    <?php endif; ?>

    Twenty Eleven を使っているのであれば、カスタムヘッダーに関する記述が 78 行目から 117 行目辺りまでなので、その間を条件分岐タグで囲みます。そうすると、トップページでしかヘッダーが表示されなくなるというわけです。

    <?php if(is_front_page() ): ?> /* ここから下を囲みます */
    			<?php
    				// Check to see if the header image has been removed
    				$header_image = get_header_image();
    				if ( $header_image ) :
    					// Compatibility with versions of WordPress prior to 3.4.
    					if ( function_exists( 'get_custom_header' ) ) {
    						/*
    						 * We need to figure out what the minimum width should be for our featured image.
    						 * This result would be the suggested width if the theme were to implement flexible widths.
    						 */
    						$header_image_width = get_theme_support( 'custom-header', 'width' );
    					} else {
    						$header_image_width = HEADER_IMAGE_WIDTH;
    					}
    					?>
    			<a href="<?php echo esc_url( home_url( '/' ) ); ?>">
    				<?php
    					/*
    					 * The header image.
    					 * Check if this is a post or page, if it has a thumbnail, and if it's a big one
    					 */
    					if ( is_singular() && has_post_thumbnail( $post->ID ) &&
    							( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array( $header_image_width, $header_image_width ) ) ) &&
    							$image[1] >= $header_image_width ) :
    						// Houston, we have a new header image!
    						echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
    					else :
    						// Compatibility with versions of WordPress prior to 3.4.
    						if ( function_exists( 'get_custom_header' ) ) {
    							$header_image_width  = get_custom_header()->width;
    							$header_image_height = get_custom_header()->height;
    						} else {
    							$header_image_width  = HEADER_IMAGE_WIDTH;
    							$header_image_height = HEADER_IMAGE_HEIGHT;
    						}
    						?>
    					<img src="<?php header_image(); ?>" width="<?php echo esc_attr( $header_image_width ); ?>" height="<?php echo esc_attr( $header_image_height ); ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" />
    				<?php endif; // end check for featured image or standard header ?>
    			</a>
    			<?php endif; // end check for removed header image ?>
    <?php endif; ?>

    フロントページに最新の投稿を指定している場合

    フロントページの指定が固定ページではなく、ブログの最新投稿一覧ページだった場合、別の書き方があるようですので、補足として紹介しておきます。
    タグは以下のものを使います。

    <?php if(is_home() && !is_paged()): ?>
    	フロントページで表示させたいこと
    <?php endif; ?>

    これで、トップドメインのページにアクセスした場合にのみ、任意のソースを表示させることができます。
    ちなみに、

    <?php if(is_home()): ?>
    	フロントページで表示させたいこと
    <?php endif; ?>

    のように書いた場合(後半の【 && !is_paged() 】が無い場合)、トップドメイン以外の 2 ページ目、3 ページ目の投稿一覧ページでもフロントページ扱いにされてしまうようです。個別投稿(single.php)とかだと、フロントページ以外、ということになるんでしょう。

    結局どっちがいいのか?

    フロントページを示す条件分岐タグは大きく2パターンあるようですが、フロントページを固定ページにしていた時の条件分岐タグでも、ブログの最新投稿をフロントページとして扱ってくれます。ただし、逆は無理のようです。
    つまり、

    フロントページの指定
    【is_front_page()】の場合 最新の投稿
    固定ページ
    【is_home()】の場合 最新の投稿のみ

    というようになっています。
    WordPress をサイトタイプにカスタマイズしたい場合は、前者の方を使っておいた方が間違いないでしょう。

    参考にさせて頂いたブログ

    ― WordPressをカスタマイズするなら絶対覚えておきたい条件分岐やカスタム投稿タイプなどいろいろ

    ありがとうございました!

  • 投稿記事ごとにSEO対策ができるAll in One SEO Pack活用法

    WordPress(ワードプレス)は SEO に強い。これは Google の検索エンジン部門の責任者である、マット・カッツさんが公言していることです。だからといって、WordPress を使っていればそれだけで万事 OK というわけにもいきません。そこで、プラグインの出番です。
    WordPress には非常に使い勝手のいい SEO 対策プラグインがあります。All in One SEO Pack です。もはや WordPress とセットと言ってもいいくらい有名で、使用している人も多いプラグインのひとつですね。
    このプラグインを使えば、記事ごとに SEO の内部対策ができます。今回は All in One SEO Pack を活用したSEO対策についてです。ただ、この記事は All in One SEO Pack をインストールした後の設定についての話しではありません。毎回アップする記事で SEO 対策をするための All in One SEO Pack の使い方についてです。
    インストール後の設定については、こちらの記事が分かりやすかったです。
    ▶ WordPressのSEO対策プラグイン「All in One SEO Pack」

    All in One SEO Packで、検索エンジン向けに記事タイトルを最適化する

    まず、基本的に SEO というのは Google の検索エンジンロボットを始めとする、機械を相手にしているということ。そして、実際にサイトを訪問するのは人間であるということ。この違いを理解しておく必要があります。
    そして SEO はロボット向けにサイトを最適化しましょう、ということなので、All in One SEO Pack も基本的にはロボット向けに使用した方がいいでしょう。
    例えば、All in One SEO Pack を使えばブログのタイトルを検索ユーザー向けとロボット向けの 2 種類設定することができます。

    一般設定の画面から行う、検索ユーザー向けのサイトタイトル

    要するにサイト上に表示されるタイトルということです。

    一般設定でのタイトル設定

    All in One SEO Packを使って設定できる検索エンジン向けのタイトル

    All in One SEO Packの設定画面でのタイトル設定

    個別の記事でも、以下のように 2 通りのタイトル設定ができます。

    サイト上に表示される投稿記事タイトル

    投稿記事タイトル

    検索エンジン向けの記事タイトル

    All in One SEO Packで設定できるタイトル

    SEO 効果をねらうと、どうしてもキーワードをごちゃごちゃと盛り込んでしまうことになってしまいがちですよね。ですが、All in One SEO Pack を使えば、検索エンジン向けに、検索キーワードを意識したタイトルを別途設定することができます。
    サイト上では、基本的に記事編集画面で設定したタイトルが表示されます。

    SEO向けのディスクリプションやキーワードの個別投稿設定

    SEO Description や、SEO Keyword は、設定しても SEO 効果は期待でいないという意見もありますが、ここもしっかり設定しておいた方がいいと思います。なぜなら、最近はソーシャルメディアでシェアされる可能性があるからです。
    OGP 設定にもよりますが、シェアされた際に記事のサムネイルや記事の詳細などの抜粋表示は、ここでの設定が引用されるケースがあります。なので、抜かり無く設定しておきましょう。
    なお、SEO Description は、記事の冒頭などをそのまま引用するのはよろしくないようです。しっかり記事の要約をした文章を記載するようにしてください。

    タイトルやメタ情報の文字数について

    サイトのタイトルを SEO 向けに設定したり、記事の詳細やキーワードを設定したりする際、気を配って欲しいのが文字数です。
    文字数が規定数をオーバーすると、検索エンジンに良い評価を受けません。それを考慮して、長過ぎず、且つ必要な情報を盛り込んだ設定にする必要があります。All in One SEO Pack のデフォルトの設定ですと、検索エンジンに認識される記事タイトルは、以下のようにブログタイトルも含んでいるはずです。

    記事タイトル | ブログタイトル

    ※All in One SEO Pack の設定画面では%post_title% | %blog_title%のようになっています。

    投稿タイトルの後にブログタイトル

    つまり、ブログタイトルの文字数も含めて、全体のタイトル文字数を整える必要あります。SEO 的に 60 文字までが最適だとした場合、ブログタイトルが 10 文字だと記事タイトルとして 50 文字まで使えるということですね。
    もちろん、デフォルトの設定のままである必要はないので、ブログタイトルを含めないように変更できます。しかし、SEO 的にはブログタイトルを含んでいた方がいいようです。

    文字数のチェックと把握

    これらのチェックは GoogleChrome の拡張機能である、Sorezki SEO Plus を使ってやっています。まずはタイトル文字数を把握して、記事タイトルの文字の長さを調節してみて、最適な長さを確認してみてください。たぶん、60 文字だと思いますが、英語は半角、日本語は全角、みたいな関係もあってはっきりしないので、1 度チェックしてみてください。
    なお、SEO Description や SEO Keyword も、文字数制限がありますので、注意してください。
    All in One SEO Pack がその力を発揮するのは、このような個別投稿記事にもしっかりとした内部対策 SEO を施せることだと思います。作業はちょっと面倒ですが、地道にコツコツ、1 つの記事を最大限に有効活用できるよう、SEO 設定をしてみてください。