Home > WP > WPメモ

WPメモ Archive

特定のカテゴリのみ除去して表示

かねてより日記をHomeに表示しないようにしたかったのですが、
今回修正を加えてみました。トラたま袋同様、変更箇所を忘れないためにメモ。

参考URL:WPカスタマイズ講座

トップのメニューにカテゴリー「日記」を追加して、日記はそっちから表示するように。
新着記事やRSSには引き続き表示されるようになっています。

凡ミスで何時間も悩むと死にたくなる

Executable PHP widgetのウィジェット上で$postを使うとバグる。
fanction hogehoge($post)としても正常に呼び出せない。
条件分岐タグはうまくいくのに。

このせいで2時間ぐらい無駄に悩んでしまったし、出来そうなコードを無理だと思っていくつか破棄してしまった。
ほんと罠である。死にたい。

用途は分からないけど、親ではなく子(2階層目)のIDを取得する方法

さて、今日WordPressのフォーラムで書いた内容をちょっとだけメモします。

元記事はこちら

PHP:
  1. function ps_get_root_page( $cur_post, $cnt = 0 ) {
  2.     if ( $cnt> 100 ) { return false; }
  3.     $cnt++;
  4.     $post_temp = get_post( $cur_post->post_parent );
  5.     if ( $cur_post->post_parent == 0 ) {
  6.         $root_page = $cur_post;
  7.     } elseif ( $post_temp->post_parent == 0 ) {
  8.         $root_page = $cur_post;
  9.     } else {
  10.         $root_page = ps_get_root_page( get_post( $cur_post->post_parent ), $cnt );
  11.     }
  12.     return $root_page;
  13. }

$root_page->IDで子のpageIDが取得できます。

この挙動はかなりややこしくて、文章で説明するのは困難なのですが、
例えばゲームメーカー(親)-スクエニなど(子)-ドラクエなど(孫)-シリーズタイトル(曾孫)という関係があったとして、
たとえばDQ4(曾孫)とかを表示してるとき

スクエニ(子)以下のページ、つまりドラクエ(孫)やDQ1(曾孫)、DQ2(曾孫)、FF(孫)、スターオーシャン(孫)などを表示して
任天堂(子)やSCE(子)やSEGA(子)など、およびそれ以下のページ(マリオなど)は表示しない

という動作をさせることが出来る。
元々JSでポップアップツリー表示とかできるから、正直なんに使うのか全然わからないけどね。

ちなみにchild_of=ぐらいしか使いどころないと思うけど、child_ofだとそのID自体のページはリスト化されないので、
リストに子も含めたければ、別途$root_page->IDで各種情報を取得して記述してあげる必要があります。

参考にしたのはこの質問

get_post_ancestors()を使いたかったんだけど、多分この仕様じゃ使えないんじゃないかと思う。

インストール済みプラグイン

トラたま袋とこちらにインストール済みのプラグインについて。
PDO (SQLite) For Wordpressで動くよって話なので現在使ってるかどうか、また、どっちで使ってるかについては言及しません。

管理画面マニュアル

正常。

Cleverness To-Do List

正常。Firefoxだとテキストリンク拡張でプレーンテキストなURLがリンクになるので、各種管理ページへの簡易リンクとしても便利。

Cloudy Tags

正常。

Executable PHP widget

正常。これを参考にして自作ウィジェットが作れたらいいなあ。

iG:Syntax Hiliter

要調整。まずjsがちゃんと動かない。PLAIN TEXT表示時、記事が書き出される際にPHP(たぶんテーマ)で出力されたTabとかも認識して、全体が超絶インデットされてしまう。ちゃんと動いてるサイトのjsを拾ってきて使ったほうがいい。
インストールディレクトリを変更するとjsのリンクが動かなくなるので、get_settings('home')をget_option('siteurl')に変更する必要有り。

Lightbox 2

たぶん正常。

Permalink Redirect

個別URL指定が怪しい。新旧パーマリンクは正常。

Target Blank In Posts And Comments

未検証。

WordPress.com Stats

正常。

Wordpress Google Analytics Reports

たぶん正常。ちゃんとした動作はまだ未知数。
PHP出力で作動中。Googleさんの設定のフィルタリング機能がいまいちよくわからないので、is_user_logged_in()で出力制御中。

てな感じで、いまんとこMySQL非サポートのせいで動かないものはあまりないです。
(何個か脱落したし、肝心のサムネイル表示プラグインがダメだったけど……)

プレビュー出来ない

WPでたびたびプレビュー機能がおかしくなる。
そうなるとis_user_logged_in()にも反応しない。とても不便。

最初はトラたま袋で発生。
WordPressのURL(実際にデータがあるURL)とサイトURL(見せかけのURL)が、それぞれレンサバ登録時のURL、マルチドメイン取得後のURL、となってなっていたせいで、Cookiにログイン情報が反映されなかったのが原因。

二つのURLのドメインを合わせたら正常動作した。

今回はトラたま袋とこのページで、ログインしているIDが両方ともadminになってたせいで、ログイン情報が混乱していたのが原因らしい。
どこかには「IDとPASSが同じだったから」と書いてあったのだけど、うちのPASSは別物なので、単純にIDで判定している様子。

管理者を追加して、このページのログインIDをadminから変更したら、正常動作した。

PASSは変更前と同じだけど、もちろん大丈夫。
Cookieはドメイン(unko.comとwww.unko.comは別扱い)とuserIDで管理されてるから妥当な挙動ですね。

サムネイル表示Todo

  • 任意の場所にサムネイルのリストを表示(基本sidebarだけど、pageにも置ける柔軟性が欲しい)
  • 新着xx件の画像をサムネイル
  • サイズはアスペクト比を変更せず、かつ規定サイズ以内に整形して表示
  • クリックで画像の拡大 (記事に飛ぶ必要はない)
  • リスト化する画像を条件指定
  • リスト用サムネイルサイズを別途用意
    • 本体を解析してthumbnail以外のサイズでもthumbnailと同じ処理をさせるサイズをもうひとつ用意するようにコードを書き換える
  • 添付しただけの画像もサムネイル化

もう90%完成。

判明したこと&Todo

新規投稿の挙動でわかったこと

  • Tabの入力にはFirefoxのアドオンが必要
  • 箇条書き(Alt+Shift+U)中にShift+Enterで
    こうなって、さらにShift+Enter→箇条書きで

    • ここに来る
  • 戻す時はEnter2回。結構便利ね

WPの挙動でわかったこと

  • 『WordPress のアドレス』と『ブログのアドレス』どちらか一方のみをマルチドメインにすると、ログイン情報が保持されない
    • 記事ごとのパスワードが、正しく入力しても許可されなくて大変
    • 『変更をプレビュー』もできないワロタ

デフォルトテーマでわかったこと

  • index.php≠最初に読み込むページ
    • カテゴリーや月別アーカイブはindex.php?
    • パーマリンク先は『単一記事の投稿』(single.php)
  • sidebarが灰色いのは、実は画像だった
  • single.phpはclass="widecolumn"、index.phpはclass="narrowcolumn"
    • single.phpにget_sidebarさせるなら、narrowcolumnで。
    • さらに背景画像も別途読み込ませる必要が。
  • なぜsingle.phpが必要なんだろうか。無駄にしか思えない。
  • 箇条書きの表示がダサい

Todo

  • 著者名に応じて違うガジェットを表示→出来そう →出来た
  • パーマリンクでも著者名を判別してガジェットを表示→デフォルトで出来るのかあやしい
  • 著者名に応じて別々のタイトルバー→パーマリンクで出来なそう

    • 基本著者別じゃなくなったのでこだわる必要がなくなった。
    • single表示のときだけ、author判別してもいいかも。(ガジェットはわかりにくくなるからそのままで)
  • まず上の3つを試して、出来なければあきらめてマルチユーザー版にする →デフォルト偉すぎ
  • 著者名adminは明示的にリクエストされない限りどこにも表示されないようにする
  • 記事ごとにコメント可能レベルの設定(たぶんプラグイン)
  • 著者のみアイコン表示(たぶんテーマカスタマイズ)
  • 箇条書き表記を一般的なものに
  • アクセス解析
  • 新着記事に投稿者名表示
  • ログイン中のみ表示するメニューを設置
  • 投稿者アーカイブに投稿者名を表示

ホーム > WP > WPメモ

カテゴリー
タグクラウド
アーカイブ
RSS トラたま袋の新着
フィード

Return to page top