WordPress 3.4 でのログイン画面のロゴについて

WordPress3.4にバージョンアップしたら、オリジナルロゴやリンク先URLの設定がおかしくなったので修正しました。

[php]
/* ログイン画面 */
add_action(‘login_head’, ‘custom_login’);
add_filter(‘login_headerurl’, ‘custom_wp_login_url’);
add_filter(‘login_headertitle’, ‘custom_wp_login_title’);

// ログイン画面全般
function custom_login() {
?>
<style type="text/css">
* { margin: 0 auto; }
.login h1 a {
background: transparent url(‘<?php bloginfo(‘template_directory’); ?>/images/login_logo.png’) left top no-repeat;
height: 62px;
width: 300px;
margin: auto;
}
#backtoblog { display: none; }
</style>
<?php
}

// タイトルのリンク先
function custom_wp_login_url() {
return get_bloginfo(‘url’);
}

// タイトル
function custom_wp_login_title() {
return ‘Powered by ‘ . get_option(‘blogname’);
}
[/php]

こんな感じのものをfunctions.phpに貼り付けて使用します。

ループ外で投稿者名を取得

今更書くまでもないですが、検索した時に出てこなかったので、一応自分用の備忘録として。

[php]
$author = get_userdata($post->post_author);
echo $author->display_name;
[/php]

the_author() や get_the_author() はWordPressループ中でないと効かないので、ループ外でユーザーデータを取得して表示する方法です。

場合によっては「global $post;」とかいるかも?です。

私はアーカイブページで表示したかったので、loop.phpに上記を書いてバッチリでした。

サブカテゴリ毎に記事をまとめて表示2

前回の記事で不満だった部分を解消してみた。
具体的には以下のようにする

  1. 親カテゴリのトップページにサブカテゴリの一覧を表示
  2. 各サブカテゴリ毎に記事をまとめて表示

前回で解決できなかった問題は自動でサブカテゴリの一覧を取得してループさせながら各HTMLを出力させる事。
そもそもつまづきの原因はサブカテゴリのIDを取得できなかったから。
逆に言うと「親カテゴリに属するサブカテゴリのIDを全て取得」できれば実現可能という事になる。
そこでかなり微妙ながらサブカテゴリのIDを取得するように試みた。

(さらに…)

個別記事を属するカテゴリーと同じデザインにする

カテゴリーのトップページだけでなく、個別記事のデザインもカテゴリーと同じデザインを適用しようとした場合にどうすれば良いのか・・・。
個別ページに行った時に、single.phpの中でカテゴリーを調べて該当するページに飛ばせば良い、というのは分かるが「じゃあどういう構文?」と考えたら全然分からない。

諦めかけたがフォーラムでズバリの解決方法を発見。
フォーラム万歳!!
近いものを試したが、 $post=$wp_query->post; というのは知らなかった。これによりテンプレートタグの in_category() が効いてくれて解決。
以下がその手順。

(さらに…)

カテゴリごとにデザインを変更する

カテゴリごとでデザインを変更したい場合、ファイル名の変更だけで実現できる事を発見。試しにやってみた。

category-XX.phpファイルを作成

XXの箇所はカテゴリIDを入力(例: category-2.php)。全てのカテゴリに同じデザインを適用したい場合は、
「category.php」
とすれば良い。
ちなみに優先順位は category-XX.php > category.php

(さらに…)