Home > トラたま袋のWP更新履歴 > 最初にやったこと(表示制御編)

最初にやったこと(表示制御編)

細かい部分は挙げればキリがないので割愛。
トラたま袋では投稿者毎に表示を切り替えるという動作が決め手なので、それについてのメモがメイン。

ページナビゲーション(パンくず)を自作

よくわかんないけどプラグインがちょっと気に入らなかったので、目当てのものが見つかるまで自力でどうにかしてもらう。
最初の方(3日前)に書いたへなちょこなソースだから、今ならもうちょっとわかるかも知れないけど。

PHP:
  1. <?php if (is_front_page()) { } elseif (is_page) {
  2.   echo '<ul class="post-pagenavi">';
  3.   echo '<li>PageNavi:</li>';
  4.   echo '<li><a href="';
  5.   echo get_option('home');
  6.   echo '">Home</a></li>';
  7.   if (is_page() && $post->post_parent) {
  8.     echo '<li><a href="';
  9.     echo get_permalink($post->post_parent);
  10.     echo '">';
  11.     echo get_the_title($post->post_parent);
  12.     echo '</a></li>';
  13.   }
  14.   echo '<li><a href="';
  15.   the_permalink( );
  16.   echo '">';
  17.   the_title();
  18.   echo '</a></li></ul>';
  19. } ?>

以上をテーマのよさげなとこに挿入して下さい。おそらくpage.phpに入れることになるかと。
2階層しか表示できないおそまつな仕様。
if (is_front_page()) { } としているため、フロントページでは表示が省かれます。(この書き方はナンセンスなので修正予定)

なお、パンくずリストの表示スタイルについてはぐぐるさんあたりにお問い合わせ下さい。
どうやら>の表示に画像を使うとよいらしいです。

投稿者に応じて表示内容を変える+α

Authorのアーカイブを表示しているときだけ、サイドバーの内容などを変更します。
トラたま本家はAuthorのアーカイブ以外ではサイトインフォ、それ以外は個人のインフォ、という表示になってます。

応用して、投稿者に応じてタイトルバーの表示を変えたり出来るかも。というか目下実装中。

is_author()を使うだけの簡単な仕様なのですが、個人のインフォを個別pageにして、そこから内容を引っ張ってくるという面倒くさい挙動を実現するために、無駄に複雑な動きをしています。

PHP:
  1. <?php
  2.   if (is_author('toratama')) {
  3.     $page_id = 85;
  4.   } elseif (is_author('tun')) {
  5.     $page_id = 87;
  6.   } elseif (is_author('mahiru')) {
  7.     $page_id = 89;
  8.   } else {
  9.     $page_id = 91;
  10.   }
  11.   $page_data = get_page( $page_id );
  12.   $content = $page_data->post_content;
  13.   $title = $page_data->post_title;
  14. ?>

上記をsidebar.phpの上部に挿入して下さい。

is_author('unko')で投稿者が誰かを判定しています。
投稿者ページを別途作成して、そのページIDを$page_id = xx;に記入します。

$contentに記事内容、$titleに件名が代入されているので
INFORMATION的なものを出力する部分で、これらの関数?を呼び出します。

PHP:
  1. <h3 class="side-title" id="information-title"><?php echo $title ?></h3>
  2.  
  3.  <div class="information-contents">
  4.  <?php
  5.    echo wpautop($content,$br=1);
  6.    if (is_user_logged_in()){
  7.      echo '<br style="clear: both;" /><p>ログイン中:<a href="http://t3.xii.jp/wp/wp-admin/index.php">管理ページ</a></p>';
  8.    }
  9.  ?>
  10.  </div>

たとえばこんな感じ。

wpautop()で記事表示と同じように、自動で<p>や<br>を入れてあげないといけません。
そうでないと思い通りに改行されません。<p>はエディターで挿入出来ないのでやっかいです。
ただ、どうしてだかこれを使っても記事表示とは完全に同じ内容にはならないみたいです。

英語が読めない自分は、公式の関数一覧のほんのちょっとの説明をたよりにこの関数を見つけたのですが、それ以外の、説明すらない関数はわけがわからないのでお手上げ状態。
とりあえず表示には問題ないから放置しています。

コメント (Close):1

****** 11-11-18 (金) 2:29
このコメントは管理者の承認待ちです

トラックバック:0

このエントリーのトラックバックURL
http://t3.xii.jp/nawo/2010/03/09/49/trackback/
Listed below are links to weblogs that reference
最初にやったこと(表示制御編) from Seasonism Season3

Home > トラたま袋のWP更新履歴 > 最初にやったこと(表示制御編)

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

Return to page top