タグ: wordpress

Dave’s WordPress Live Search

Dave’s WordPress Live Search
これでインクリメンタルサーチがWordpressに実装できます。

  • 検索結果の表示件数
  • 何文字入力されるまで待つか
  • メタデータ、サムネイル、抜粋の表示・非表示

なんかも選択できるので現状では必要十分な検索窓強化です。
唯一の難点は、検索結果が0件だった時になにも表示せずに終わってしまうことぐらいかな。
「0件だったよ」くらい言ってくれれば良いと思うの。

Advanced Most Recent Posts Mod

Advanced Most Recent Posts Mod
これで「最近の固定ページ」が実現できる。
なぜデフォルトの Widget には「最近の投稿」と「最近のコメント」があって「最近の固定ページ」がないんだろう。固定だからかw

Browser Update Ribbon

Browser Update Ribbon
これを使うと一定のバージョン以下のブラウザを使ってるユーザを任意のページに誘導させるリンクを表示することができる。
ただ、「特定のページでのみ発動」というわけにはいかず、サイト全体で発動してしまうので注意が必要かと。

WP-PostViews

WP-PostViews で、投稿や固定ページの View Count がわかる。
PostViews という名前だけど、Post も Page もカウントできる。
ついでに Most View などを表示できる widget もついてくるので、その辺を表示させたいときにも有効。

Post Views Count という似たプラグインもあって、こちらは固定ページ一覧画面に View Count を表示できたり WP-PostViews にない機能もあるけど、 widget には固定ページが表示できないっぽい。

ここでは基本的に固定ページに記事を追加しているので WP-PostViews の方を採用してます。
設置してみるとこんなページなのに見に来てくれる人がいるんだなぁ、と感謝感謝です。

CMS Tree Page View

CMS Tree Page View
管理画面の投稿一覧や固定ページ一覧にツリービューを導入することができる。
が、現状だと「Edit」「View」「Add」の3コマンドしか発行できない。
「ゴミ箱へ送る」がないので、Tree View 表示だけにしてしまうとページを削除することができなくなってしまう。
新規ページを現在選択中ページの後ろに作成するか、子ページとして中に作成するか選択できるところなんかはすごくいいのに、
もったいない気がする。

複数の一般人が利用する会社側のサイトには入れられませんでした。

サイドメニューから不要なものを削除

サイドメニューの「リンク」や「ツール」、「設定」メニューを管理者以外には見せないように改変する。

hijiriworld Webさまにやりたい事そのものが掲載されている。
公式は Function Reference/remove menu page あたりに。
プラスアルファでユーザーレベルで処理を分岐させる。
と言ってもifを一つかますだけ。

function katz_remove_menu() {
  if (!current_user_can('level_10')) {
    remove_menu_page('edit-tags.php?taxonomy=link_category'); // リンク
    remove_menu_page('tools.php'); // ツール
    remove_menu_page('options-general.php'); // 設定
#    remove_menu_page('index.php'); // ダッシュボード
#    remove_menu_page('edit.php'); // 投稿
#    remove_menu_page('upload.php'); // メディア
#    remove_menu_page('edit.php?post_type=page'); // コンテンツ
#    remove_menu_page('edit-comments.php'); // コメント
#    remove_menu_page('plugins.php'); // プラグイン
#    remove_menu_page('users.php'); // ユーザー
  }
}
add_action('admin_menu', 'katz_remove_menu');

引数はそれぞれのメニューのリンク先です。

本来なら User Role Editor で権限を調整して、そこで許可されていないものは非表示になるはず。
なんだろうけど、「リンク」とか「ツール」とか、親メニューとして残っちゃうものがあったのでコレで調整することに。

エディタ画面から不要なものを削除

投稿や固定ページのエディタ画面に存在する
「カスタムフィールド」や「スラッグ」を元から見えないようにしておく。

hijiriworld Webさまにやりたい事そのものが掲載されているので、これを改変する。
公式は Function Reference/remove meta box あたりに。

function katz_remove_edit_widgets() {
  remove_meta_box('postexcerpt', 'post', 'normal'); // 抜粋
  remove_meta_box('postcustom', 'page', 'normal'); // カスタムフィールド
  remove_meta_box('slugdiv', 'page', 'normal'); // スラッグ
  remove_meta_box('authordiv', 'page', 'normal'); // 作成者
  remove_meta_box('commentstatusdiv', 'page', 'normal'); // ディスカッション
  remove_meta_box('formatdiv', 'page', 'normal'); // ページ属性
  remove_meta_box('postimagediv', 'page', 'normal'); // アイキャッチ画像
}
add_action('admin_menu', 'katz_remove_edit_widgets');

第1引数はそれぞれの Widget を囲んでいるDIVタグのID。
第2引数は投稿だったら[ post ]、固定ページだったら[ page ]。

コレでいいかな。

msgfmt のバージョンを上げる

poファイルをmoファイルに変換するときに
『キーワード “msgctxt” は知りません』
とか言われて処理を打ち切られるとき。

msgfmt -V

で確認すると

msgfmt (GNU gettext-tools) 0.14.6

・・・
ってことで古いんだよそれ。

msgfmt は gettext に含まれているものなので

yum update gettext

でアップデートかけます。

msgfmt (GNU gettext-tools) 0.17

わぁい

ちなみに
『メッセージが二重に定義されています』
にも効果アリでした。

Resize tag cloud

Resize tag cloudでタグクラウド部分のフォントサイズを変更します。
サイトに行くと「2年以上更新されてないけど…」みたいな注意書きが出ますが、気にしない事にします。
コレを使うことでこんなことをしなくても良くなるということです。

今はF2 Tag Cloud Widgetに移行しました。

Ninja Page Categories and Tags

Page Tagger の場合は固定ページにタグ付けすることができる。
Ninja Page Categories and Tags の場合はタグ付に加えてカテゴリ分けもできる。

これでページ属性をつけた上でタギングし、カテゴリーも分けられる。
3種類も分類があるとかえって混乱するかもしれない。

!?
いままでPage Taggerでつけていたタグ、Ninja Pageでも認識されているようなのだが、
タグクラウドWidgetから該当するタグを選択しても0件になる…

取り急ぎPage Taggerに戻します。

4.style.css にテーマ情報を付加して最低ラインは終了

ここまでやると

  • index.php
  • header.php
  • footer.php
  • sidebar.php
  • functions.php
  • style.css

の6ファイルができている、はず。
最後に、style.cssにテーマ詳細を付加する。
現在の style.css はこれだけ。

#header, #main, #footer {
  width: 1000px;
  text-align: center;
  border: 1px solid #FF9999;
}
#content {
  float: right;
  width: 100%;
  margin-left: -260px;
  border: 1px solid #99FF99;
}
#widget {
  float: left;
  width: 240px;
  border: 1px solid #9999FF;
}
#footer {
  clear: both;
}

コレの頭に

/*   
Theme Name: Katz_Test
Theme URI: http://katzplus.com/
Description: katzのテスト用テーマ
Author: katzplus
Author URI: http://katzplus.com/
Version: 0.0.1
*/

このくらい追加する。

できあがったら、6ファイルすべてをひとつのディレクトリの中に入れて
「WordPressインストールディレクトリ/wp-content/themes」
の中に配置する。
実際には themes 配下はどれだけ深くディレクトリを掘っても認識されるっぽいけど、わかりにくくなるだけなので themes の直下に置くことにする。
とりあえずはコレで最低限完成。

1記事テンプレートやコメントテンプレートがないとか
見栄えがヒドイとか
まだまだやることはいっぱいあるけど、これで画面が真っ白になっていなければ最低限のモチベーションは維持できる、かも。