覚書:サイドバーに関して

以下は、http://automattic.com/code/widgets/themes/ こちらからの転載。

現時点で「良」とされているサイドバーのマークアップは、

<ul id=”sidebar”>
<li id=”about”>
<h2>About</h2>
<p>This is my blog.</p>
</li>
<li id=”links”>
<h2>Links</h2>
<ul>
<li><a href=”http://example.com”>Example</a></li>
</ul>
</li>
</ul>

なのだそうだ。
そして、これをウィジェットに反映させるためには

<ul id=”sidebar”>
<?php if ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar() ) : ?>
<li id=”about”>
<h2>About</h2>
<p>This is my blog.</p>
</li>
<li id=”links”>
<h2>Links</h2>
<ul>
<li><a href=”http://example.com”>Example</a></li>
</ul>
</li>
<?php endif; ?>
</ul>

青文字の部分を書き足す。
そして、functions.php ファイルへの記載は

<?php
if ( function_exists(‘register_sidebar’) )
register_sidebar();
?>

そして、サイドバーがリスト表示タイプでは無い時は以下のようにする

<div id=”sidebar”>
<div class=”title”>About</div>
<p>This is my blog.</p>
<div class=”title”>Links</div>
<ul>
<li><a href=”http://example.com”>Example</a></li>
</ul>

これがウィジェットに反映するようにするには、

<div id=”sidebar”>
<?php if ( !function_exists(‘dynamic_sidebar’)
|| !dynamic_sidebar() ) : ?>

<div class=”title”>About</div>
<p>This is my blog.</p>
<div class=”title”>Links</div>
<ul>
<li><a href=”http://example.com”>Example</a></li>
</ul>
<?php endif; ?>
</div>

そして、functions.php ファイルには以下のように記載する。

<?php
if ( function_exists(‘register_sidebar’) )
register_sidebar(array(
‘before_widget’ => ”,
‘after_widget’ => ”,
‘before_title’ => ‘<div class=”title”>’,
‘after_title’ => ‘</div>’,
));
?>

さらに、もっとフレキシブルにしたい時には、

‘before_widget’ => ‘<div id=”%1$s” class=”widget %2$s”>’,
‘after_widget’ => ‘</div>’,
と記載すると良い、と書いてある。

ちなみに、%1$s とか %2$s などは以下の意味だそう。(参照サイト:http://ecn.blog4.fc2.com/blog-entry-5.html)

%1$s 投稿者名
%2$s 日付 2008-02-08
%3$s 時刻 11:33:42+0900
%4$s 日付 管理画面>オプション>一般設定>デフォルトの日付フォーマットで設定したフォーマット
%5$s 時刻 管理画面>オプション>一般設定>デフォルトの時刻フォーマットで設定したフォーマット
%6$s 登録されたカテゴリー名&リンク
%7$s 登録されたタグ名&リンク

ちなみに「$」は変数名にする為のPHPの定義

name ← 「$」がないとただの文字列
$name ← 「$」が付くと変数になる

「%」は多分色々な使われ方があって、
■余りを表示させる算術演算子としての「%」
【例】10%3 10を3で割った余りを求めている剰余算
他に、
■sprintf (文字列書式フォーマット)

【例】
$a = sprintf(‘a = %06d b = %04d’, 10, 20);

** $a には、’a = 000010 b = 0020′ がセットされます。
** 書式記号は C 言語と同じみたいです。

%b 2進
%c 文字
%d 整数
%u 符号なし整数
%f 浮動小数点
%o 8進
%s 文字列
%x 16進小文字
%X 16進大文字

(参照:http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/php_k05.htm)

という事。

それで、%1$s などが一体どんな規則性でこうなっているか、は今ひとつ分かっていない。今後の課題。

カテゴリー: PHP, WordPress, 設定, 課題 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA