【至急・重要】ウィルスチェックのお願い

Change Style


WP: 逆引き(したいこと別)リスト

ただ今リバイズ作業中です。。

WordPress ME 2.0.x 系に関する情報です。2.1 系には当てはまらない場合があります。

目次:

  1. WordPress の設置・管理 new
    1. サブディレクトリに WP のファイルを置きたい
    2. 文字化けする
    3. サイトの表示が重いので、速くしたい
    4. RSSリーダでエラーが出る
    5. トラックバックが飛んでないかも?
    6. スパム対策
  2. サイドバーの表示変更
    1. サイドバーのカスタマイズ(全般)
    2. ページリストの表示変更
    3. カテゴリリストの表示変更
    4. 「最近の投稿 n件」とかを表示したい
    5. 月別アーカイブの表示を短くしたい
  3. デザイン・レイアウトの変更
    1. 「ページ」用テンプレートの作成
    2. カテゴリごとに表示フォーマットを変えたい
    3. 独自のデザインにしたい→新規「テーマ」作成
    4. テーマ「Default」等の「月」表示を文字化けしないようにする
    5. 記事の冒頭を抜粋表示させたい new
    6. トップページにブログ記事でない情報を表示したい new
  4. 投稿
    1. 記事のサムネイル画像のサイズ変更 update
    2. 記事の中で php を使いたい
    3. 記事の中で別の記事へのリンクを張りたい
    4. 顔文字(スマイリー)を画像で表示させたい
    5. 記事の目次を自動的に付けたい
  5. 検索
    1. 「ページ」も検索対象にしたい
    2. 検索結果をハイライト(強調)表示したい
  6. 未解決
    1. 複数カテゴリ全てに該当する記事のリストアップ & 表示
    2. 現在のページのパーマリンクを取得したい
    3. カテゴリページを表示したときの、そのカテゴリID とカテゴリスラッグを取得したい
    4. 現在のカテゴリの RSS URI を表示したい
    5. テーマの日本語化
  7. 関連ページ

WordPress の設置・管理 new

サブディレクトリに WP のファイルを置きたい
文字化けする
サイトの表示が重いので、速くしたい
  • プラグイン wp-cache — 動的に生成される各ページの HTML をファイルとしてキャッシュし、訪問者からのアクセス時にキャッシュファイルを表示(動的生成しない)。
  • gzip をオン (閲覧者が gzip 非対応環境だとサイトが見られないかも)
  • 表示速度関連記事
RSSリーダでエラーが出る
  • エラーになるフィードの URI をブラウザで表示して、
  • コンテンツに不適切な文字が含まれていないかチェック。
トラックバックが飛んでないかも?
  • 基礎知識
    • 自分のサイト宛てにテストするときの注意
      • 同じサイト宛ては、送信間隔が 15秒以上開いていないと弾かれる。弾かれても「ピン通知済み」と表示されてしまうので、ログで確認すべし。
    • 相手のサイト側で
      • 承認待ち or スパム扱いで捕獲されると、すぐには表示されない。
      • goo ブログは WP からのトラックバックを受け付けないらしい。参照(2006.5.31)
  • トラックバックログで送信結果をチェック → TBログ取得方法
  • WP におけるトラックバック問題の原因切り分け、送信テスト用スクリプト
スパム対策
  • 同梱の Akismet を有効化。(要 API Key) 関連記事
  • NGワード・コメント内リンク数で判断して、承認待ち or 削除できる(管理画面 > オプション > ディスカッション)。すり抜けが多いときなどに。
  • 他のスパム対策プラグインもある。後で参考資料を挙げる。
  • 使用テーマに Trackback Auto-Discovery が付いていると、スパムが多くなる可能性あり。

サイドバーの表示変更

サイドバーのカスタマイズ(全般)
ページリストの表示変更
  • テンプレートタグ wp_list_pages の ()内のパラメータで変更可。初期値でよいものは指定しなくてok。指定順序不問。複数指定は & で繋ぐ。
  • 参照: WordPress CODEX » wp_list_pages
  • 使用例:

    1. 例1) ページの「表示順」に表示/サイドバー用に li タグ内に h2 見出し付き ul リスト形式/親子表示(デフォルトなので指定なし)

      <?php wp_list_pages('sort_column=menu_order&title_<h2>' . __('Pages') . '</h2>'); ?>
    2. 例2) ページの「表示順」に表示/見出しなし ul リスト形式/親ページのみ表示

      <ul>
      <?php wp_list_pages('sort_column=menu_order&title_li=&depth=1'); ?>
      </ul>
      
    3. 例3) ページID=18 の子ページのみ表示/ページの「表示順」に表示/見出しなしリスト形式/「 - Y.n.j」というフォーマットで更新日を表示。ページに入っていない項目続きで表示。rose にて使用。

      <ul>
      <?php wp_list_pages("child_of=18&sort_column=menu_order&title_li=&show_date=modified&date_format= - Y.n.j"); ?>
      <li>他の項目</li>
      </ul>
      
カテゴリリストの表示変更
  • テンプレートタグ wp_list_cats の()内のパラメータで変更可。初期値でよいものは指定しなくてok。指定順序不問。複数指定は & で繋ぐ。
  • 参照: WordPress CODEX » wp_list_cats
  • テーマ「EasyAll」では別のテンプレートタグ list_cats を使っているので、指定方法が異なる。
  • 使用例:

    1. 例1) カテゴリ名順/投稿数表示/親子表示・投稿のないカテゴリ非表示(デフォルトなので指定なし)

      <?php wp_list_cats('sort_column=name&optioncount=1'); ?>
      
    2. 例2) 現在のこのサイト(power source*)のサイドバー
      記事数表示/RSSフィードへの画像付きリンク表示/カテゴリID順・親子表示・投稿のないカテゴリ非表示(デフォルトなので指定なし)

      <li id="categories"><h2>Categories</h2>
      <ul>
      <?php wp_list_cats('optioncount=1&feed=RSS&feed_image=フィードアイコン画像のURI'); ?>
      </ul>
      </li>
  • カテゴリの表示順序について

    • パラメータ sort_column はカテゴリID 順かカテゴリ名順の 2択*2 で、カテゴリID はカテゴリ追加時に自動採番されるものなので、名前順にしたくないときは、カテゴリの追加順序に配慮が必要。
    • 私は、後から追加になりそうな位置に空カテゴリを入れておいた。デフォルトでは該当記事がなければカテゴリリストに表示されないので問題ない。
    • wp_list_cats('sort_column=name') としたときの表示順は、カテゴリ名がアルファベットのものが先に、漢字のものが下になるが、漢字のカテゴリ名の前に半角スペースを入れたところ、そのカテゴリが一番上に表示された。この半角スペースは、wp_list_cats と 各記事でカテゴリを表示するテンプレートタグ the_category の表示時には取り除かれたので、WPコアではアリな手法なのかもしれない。*3
      公式文書を見つけていないのと、カテゴリ名を扱うプラグインで考慮されるかが問題。興味のある方は試したり調べてみてください。
  • 表示順を変更できるプラグインがあるっぽい。ID を付け替えるタイプと、カテゴリリスト表示関数を工夫するタイプがあったような。(調べて出直します。。)
「最近の投稿 n件」とかを表示したい
月別アーカイブの表示を短くしたい
  • テンプレートタグ wp_get_archives のパラメータを使ってプルダウンメニューにする。(私のはまだ未完成。Java Script オフでも動くようにしたい。)
  • CSS で高さを指定してスクロールさせるとか。

デザイン・レイアウトの変更

「ページ」用テンプレートの作成
  • 「ページ」は、記事と違って、ページ毎に表示レイアウトを選択できる。その表示レイアウトを定義したものを「ページ・テンプレート」という。
    これを自分で作り、使用しているテーマのディレクトリに入れるだけで、ページ作成画面でテンプレートを選択できるようになる。
  • ページ・テンプレートの説明と作り方: 参照: WordPress CODEX » Page Templates
  • 「ページ」の表示は、「ページ」作成時に選択したページ・テンプレート、何も選択しなければ page.phppage.php が存在しなければ index.php のレイアウトで表示される。
  • ちなみに、WP ME に同梱されるテーマに含まれる「ページ・テンプレート」は次のとおり。

    • Default: デフォルト(page.php), Archives (archives.php)、Links (links.php)
    • EasyAll: デフォルト(page.php), Guest Book (guestbook.php), Pahe width comments (pagewidthkomment.php)
    • Classic: ページ・テンプレートなし
  • ファイル名やテンプレート名が同じでも、その内容が違えば表示も異なる。
  • そのページ・テンプレートの入っているテーマでしか適用されないことに注意。
カテゴリごとに表示フォーマットを変えたい
独自のデザインにしたい→新規「テーマ」作成
テーマ「Default」等の「月」表示を文字化けしないようにする
記事の冒頭を抜粋表示させたい new
  • 「続きを読む」の形式で記事を表示させるには?
    • 方法: 記事投稿画面で、区切りたい位置に <!--more--> を挿入。ビジュアルリッチエディタの場合はボタン画像 2つめ。
    • 表示の調節: テンプレートタグ the_content() のオプションで指定。
    • 続きをその場で表示させたい → プラグイン使用。(例)Show Hide “more” with WordPress
  • アーカイブページ等で、「続きを読む」ではなく、2-3行の抜粋文を表示させるには?
    • 表示方法:
      • 抜粋を表示させたいテンプレートファイルのループ内に、テンプレートタグ the_excerpt() があれば OK。
      • the_content() になっている場合、表示は「続きを読む」になっていると思うので、the_excerpt() に置換。
      • 両方ともない場合は、本文も抜粋も表示されないので、ループ内の表示させたい位置に the_excerpt() を挿入。
    • 出力内容は 2種類: サイト上での抜粋表示・トラックバック送信・フィード配信(抜粋設定時)に使われる。
      1. 記事投稿画面で、抜粋オプション欄に抜粋文を入力。
      2. 抜粋オプションを入力せず、記事表示時に、本文の冒頭から一定語数分を出力させる。
        • (注)日本語の場合、WP デフォルト(本家版・MEとも)では抜粋が正しく行なわれない。*4 jamさんのパッチを当てれば解決。参照:WP: 抜粋表示時の全文出力を修正
トップページにブログ記事でない情報を表示したい new

普通の webサイトのトップページのように、総合案内を出したりしたい場合。方法はいくつかある。
参照: Creating a Static Front Page « WordPress Codex

  1. プラグインを使用。
  2. 専用テンプレートファイル home.php を設置。
  3. index.php 内で is_home() を使う。
    うちはコレ。is_home() だけだと次ページにも表示されてしまうので、こんな感じにしてます。

    <?php if ( is_home() && !is_paged() ) {
        include (TEMPLATEPATH . "/トップページ用テンプレートファイル名");
    } ?>

    「トップページ用テンプレートファイル」は、index.php を見やすくするために 1ファイルにまとめたもの。include の位置にコードを書いても OK。

投稿

記事のサムネイル画像のサイズ変更 update
記事中に表示されるサムネイルのサイズを変更するには wp_shrink_dimensions() 関数と inline-uploading.php を編集しなければならないようです。
WordPress Japan » Wordpress ME 2.0 - Docs » 投稿記事への画像挿入
  • どう直すかなあ。。。対象は、
    • wp-admin/admin-functions.php - wp_shrink_dimensions()
    • wp-admin/inline-uploading.php
  • new プラグイン Flexible Upload を使えば自由自在。 :-)
記事の中で php を使いたい
記事の中で別の記事へのリンクを張りたい
  • リンクを張る文字列が記事名でよい場合 — プラグイン Easy Post-to-Post Links などを使う。
  • リンクを張る文字列を任意にしたい場合 — テンプレートタグ get_permalink() を使う。
    • 記事中で php を使えるようにした上で、次のように書く。
      • <a href="<?php echo get_permalink(記事ID); ?>" title="記事名とか">リンク文字列</a>
      • PHP Markdown の場合: [リンク文字列](<?php echo get_permalink(記事ID); ?> "記事名とか")
    • 投稿記事・ページのどちらにもリンク可能。ID は、編集画面へのリンク URI や 管理画面 > 管理 などで確認できる。
    • 定型文として AddQuicktag に登録すると便利。
  • 記事の末尾での一覧表示なら、
    • 関連記事を表示するプラグインを使用。関連付けが手動・自動のもの、同カテゴリを表示するものなどがある。
    • リンクされる側の記事からトラックバック。他サイトからのトラックバックと一緒くたになるけど、新しく書いた記事側で処理できるから簡単。
顔文字(スマイリー)を画像で表示させたい
  • 設定・入力方法:
    1. 管理画面 > オプション > 投稿設定 にて、「フォーマットオプション::-)や:-Pをグラフィックに置き換えて表示する」にチェックを入れ、設定を更新する。
    2. 記事で「:-)」などの記号を記入する。
  • (注)顔文字記号の前の半角スペース込みで定義されているので、半角スペースを入れないと変換されない。←私は当初、スペースを入れてなくて変換されませんでした。(^-^;
  • 参照: WordPress Codex » Using Smilies
  • 画像に変換できる顔文字は wp-includes/vars.php にて定義されている。
  • 投稿画面でスマイリー画像をクリックして挿入できるプラグイン、スマイリー画像を変更・追加できるプラグインもある。
記事の目次を自動的に付けたい

検索

「ページ」も検索対象にしたい
検索結果をハイライト(強調)表示したい

未解決

かなり個人的なニーズだけど。。

複数カテゴリ全てに該当する記事のリストアップ & 表示
現在のページのパーマリンクを取得したい
$_SERVER['PHP_SELF'] だと WordPress のトップページの URL になってしまうし。
カテゴリページを表示したときの、そのカテゴリID とカテゴリスラッグを取得したい
カテゴリ名の取得はテンプレートタグがあるんだけど。
現在のカテゴリの RSS URI を表示したい
カテゴリアーカイブ表示時に、当該カテゴリの説明文を表示させているので、そこに feed へのリンクも添えたい。せめて現在のカテゴリのパーマリンク URI が取得できれば、feed/ を付ければ完成するのにー。仕方ないので、サイドバーのカテゴリリストに feed アイコンを付けてます(この方法は上述)。
テーマの日本語化
同梱テーマの日本語用データは wp-includes/languages/ 下のファイルに含まれているけど、他のテーマ用に日本語データを追加したいときは、これを作り直さないといけないのか?
WordPress Codex » Translating WordPress — ここに載ってるのかな・・・。
  1. 文字コードを指定できるエディタを使うこと。 [back]
  2. sort_order で昇順/降順は選べる [back]
  3. WordPress.com で「ページ」の表示順を変える方法として、先頭の半角スペース数で制御する方法が載っていた ので、カテゴリでも試したら出来た、という話。なお、普通のWPの場合、ページには「表示順」という項目があるので、半角スペースを使う必要はない。 [back]
  4. 抜粋語数のカウントを単語間のスペースで行なっているため [back]

YOU、これも読んじゃないなYO!

  • No Related Posts

7 Responses to “WP: 逆引き(したいこと別)リスト”

  1. Zero Cool :

    始めまして。いつも参考にさせて頂いております。
    早速ですが、サイドバーにリストされている Recently Updated はどうやって表示させていらっしゃるのでしょうか?もしよろしければ教えて頂きたいのですが・・・以前から、Recently Updated をリストしたかったのですがどうしてもできません・・・宜しくお願い致します。

  2. ぼの :

    Zero Coolさん、はじめまして。
    Recently Updated は、「Customizable Post Listings」というプラグインの 4種類の関数のうち、c2c_get_recently_modified() を使って表示させています。
    導入メモの記事に、プラグインの配布元やドキュメントへのリンクがありますので、そちらから飛んでみてください。(ドキュメントは、私の記事だと英語の解釈が怪しいので、原文がおすすめです。)

    ご希望の機能とマッチするといいのですが。。。 :-)

  3. Zero Cool :

    ぼの様!
    やりました!できました!!私がやりたかったことが!!!本当に感謝感激です。有難うございました。これからも本当に興味深い記事を宜しくお願い致します。

  4. ぼの :

    やったぁー!よかったですね、Zero Coolさん!ぼのまでうれしくなりましたー。 :-D

  5. o xein', angellein... :

    このブログを立ち上げるまで その2…

    tag []Popularity: unranked [?]… (more…)

  6. WordPress情報関連サイト一覧 :

    […] power source ≫ WP: 逆引き(したいこと別)リスト […]

  7. Wordpress カスタマイズ・・・のための 「関数」 | 頭脳外部メモリー 「独学で趣味を満喫」 :

    […] Wordpress Codex    本家テンプレートタグの説明・・・英語 power source*    逆引き(したいこと別)リスト […]

コメントをどうぞ