wp_dropdown_categories()

カテゴリーリストを出す際、ドロップダウンにする必要のある案件に出くわしました。
これは、wp_list_categories()をつかってfor文…いやforeach文!?などと考えつつ調べていたら、こんな便利なタグがありました。何でもそろってるなぁWordPress…。

ちなみに「カテゴリー」ではなく「投稿の月別アーカイブ」へのリンクをドロップダウンにするときはwp_get_archives()をつかいます。

引数

Codexへどうぞ

コード記述例

<form action="<?php echo get_home_url(); ?>" method="get">
<?php wp_dropdown_categories(); ?>
<input type="submit" name="submit" value="GO" />
</form>

 

構築中に突然、NotFound や InternalServerError になったら…。

構築中にサイトがNotFound や InternalServerErrorになってしまった。
親ブログは大丈夫だけれど、子ブログへ行けない…などなど。

謎のURLがらみのトラブルは、htaccessを疑ってみるのが近道かもしれません。

直前にどんな操作をしましたか?正しく書けているでしょうか?
確認してもエラーがなおらない場合は…さらにエンコーディングまわりも疑ってみましょう。

エンコーディング 改行コード BOM 表示結果
SHIFT JIS CR なし NotFound
SHIFT JIS CR+LFまたはLF なし OK!
UTF-8 CR なし NotFound
UTF-8 CR+LFまたはLF なし OK!
UTF-8 CR+LFまたはLF あり InternalServerError

htaccessは、UTF8のBOMなしで書きましょう。
改行コードはCRがNGのようです。

Windowsの方はメモ帳を使うとBOMが入ってしまうので気をつけてください。
Dreamweaverをお使いの方は、画面上部「修正」→「ページプロパティ」でエンコーディングが修正できます。
くれぐれもBOMにチェックは入れないように…。

ページプロパティウィンドウ見本

「NotFound 」「 InternalServerError」が画面に表示されている状態というのは結構あせりますが…、落ち着いて復旧にのぞみましょう!

 

さて、上記を確認しても大丈夫なのに、
子ブログを作ろうとしたら「サイトのアドレスがないか、または間違っています。」と出てしまって先へ進めない…。

そんな時は子ブログのサイトのアドレスを確認してみましょう。
アンダーバー「_」が入っているとNGです。私はこれを知らずに結構悩みました(^^;)

get_permalink()

記事のパーマリンクをPHPの値として返します。echo で出力させることもできます。
the_permalink()との違いは、引数として記事のIDを使える点です。

位置

ループ内・外

引数

  • id (整数)- 記事の数字ID。ループ内で使用した場合、デフォルト値は表示中記事のID。

コード記述例

<p><a href="<?php echo get_permalink(5); ?>">記事ID5へのリンク</a></p>

 

カスタムフィールドで入力した数字に自動でカンマを入れるには

価格など、数字の百の位と千の位の間にカンマをいれたいとき、ありますよね。

eer

この数字をカスタムフィールドで入力出来るようにした場合、このカンマが自動で入ってくれなくて困ったことはありませんか?

type=text で作ったカスタムフィールドの入力エリアに「5324」と入れても、
ユーザー画面には「5324」と、そのまま出てしまう。

rrrr

 

そんな時には、PHPの関数「number_format()」を利用すればOKです!
カスタムフィールド取得の関数「get_post_meta()」を
更に囲むかたちで使用します。

コード記述例

カスタムフィールドのKeyが”price”の場合

<?php echo number_format(get_post_meta($post-&gt;ID,’price’,true));?>

便利ですね〜。