カスタムフィールドを使ってみる

カスタムフィールドとは、投稿記事の本文フィールドとは別に、お好みで追加できるフィールドのことです。
投稿記事画面を開いて、「表示オプション」というタブを押すと、チェックボックスがずらりと表示されるので、
「カスタムフィールド」にチェックを入れると、以下のようなフィールドが現れます。
とりあえずサンプルとして以下のように入れてみました。

20130804-1

これを記事詳細ページで表示したい場合は、以下のようなコードを
wp-content/themes/twentytwelve/content.php などに書くと表示されます。

<?php the_meta(); ?>

あるいはこんな記述でもいけるようです。

<?php echo get_post_meta($post->ID, 'システム名', true); ?>

基本は上記のような便利関数を使えばいいのですが、
お勉強を兼ねてグローバル変数 $wpdb から始めてみます。

<?php

    $results = $wpdb->get_results($wpdb->prepare("select * from wp_postmeta where post_id = %d", $post->ID));
    $cnt = 1;
    $max = count($results);
    foreach($results as $val){
        if($cnt == 1){
            echo '<ul>';
        }
        if($val->meta_key == 'システム名' || $val->meta_key == 'バージョン'){
            echo "<li>" . $val->meta_key . ": " . $val->meta_value . "</li>";
        }
        if($max == $cnt){
            echo '</ul>';
        }
        $cnt++;
    }

?>

一応こんな感じでカスタムフィールドの値が取れました。
カスタムフィールドは wp_postmeta テーブルに格納されていて、post_id をキーに参照するって使い方みたいですね。

カテゴリー: 未分類   パーマリンク

コメントを残す

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


*

* Copy This Password *

* Type Or Paste Password Here *

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>