この記事は2年以上前に書かれたものです。
情報が古い可能性があります。
情報が古い可能性があります。
photo credit: teamstickergiant via photopin cc
検証バージョン
- WordPress3.5.1
ソースコード
single.php
<?php while ( have_posts() ) : the_post(); ?>
<script>
//カスタムフィールドの値を入れるJavaScriptの配列変数を定義
var cf = new Array();
<?php
//カスタムフィールドの値を取得
$field = post_custom( 'cf' );
if ( is_array( $field ) ) : ?>
<?php
/**
* JavaScriptの配列変数にカスタムフィールドの値を追加
* (同じ定義名のカスタムフィールドが複数ある場合の処理)
*/ ?>
<?php foreach( $field as $value ) : ?>
cf.push( '<?php echo esc_html( $value ); ?>' );
<?php endforeach; ?>
<?php elseif ( $field !== false ): ?>
<?php
/**
* JavaScriptの配列変数にカスタムフィールドの値を追加
* (カスタムフィールドが単一の場合の処理)
*/ ?>
cf.push( '<?php echo esc_html( $field ); ?>' );
<?php endif; ?>
//取り敢えずJavaScriptで出力してみる
for( var i=0; i < cf.length; i++ ) {
document.write( '<p>' + cf[i] + '</p>');
}
</script>
<?php endwhile; ?>
カスタムフィールドの入力
カスタムフィールドは以下のように入力しました。

ブラウザでの実行結果
おはようございます。 こんにちは。 こんばんは。
出力されたHTML
ブラウザからソースを表示して出力されたHTMLを確認してみると以下のようになっています。
<script>
//カスタムフィールドの値を入れるJavaScriptの変数
var cf = new Array();
cf.push( 'おはようございます。' );
cf.push( 'こんにちは。' );
cf.push( 'こんばんは。' );
//取り敢えずJavaScriptで出力してみる
for( var i=0; i < cf.length; i++ ) {
document.write( '<p>' + cf[i] + '</p>');
}
</script>