私はかなりPHP/wordpressに慣れていません、そしてこれは実際に私がグーグルを通して質問に答えることができなかったのは初めてです!私は一般的にPHP/WPに慣れるように取り組んでいますが、すでに達成する必要があることについていくのに十分なほど早く学ぶことはできないようです。私の無知を我慢してください。私はあらゆるアドバイス、または正しい方向への推進に感謝します。
基本的に、私はいくつものチュートリアルをたどり、Jared DatchのCMBスクリプトを使用して、一連のメタボックス、カスタム分類法、および特定の役割を持つユーザーを許可するカスタム機能を含むカスタム投稿タイプ( 'report')を完成しました。この投稿タイプのみにアクセスします。すべてがWPバックエンド(今のところ)にあるべきです - 箱からのデータは保存されていてプロパティなどを取得しています.
次に、私はsingle-report.phpテンプレートを作成し、続いてcontent-report.phpテンプレート(私は12個の子テーマを使用しています)を作成しました、そして理解しているように、私はcontent-report.phpテンプレートで何かをする必要があります。個々のページにカスタムメタボックスからの情報を表示します。
自分のカスタム投稿タイプ「レポート」に関連付けられているすべてのメタボックスを、さらにスタイリングや配置ができるように表示したいです。これまでのところ、私はdo_meta_boxes()とget_post_meta()を試してみましたが、どちらも情報がまったく表示されないため、どちらも適切な使い方を非常に基本的な方法で理解していないと思います。
Get_post_meta()が必要なもの(個々のメタボックスからデータをエコーして整理できるようにする機能)を提供してくれると私は信じています。これが私のページテンプレートへの挿入方法です。
<?php get_post_meta( get_the_ID(), 'date-time');
echo get_post_meta( get_the_ID(), 'date-time'); ?>
フロントエンドから見たときに、その場所には「配列」しか表示されません。私は私の「練習」版のカスタム投稿タイプとメタボックスについても同じ問題を抱えていたので、それはタイプミス以上のものであると思います - 非常に基本的なものが欠けているということです。
私はこれでどんな助けにでもとても感謝するでしょう、そしてこれまでこれまで読んでさえくれてありがとう!
あなたのコードを見ると、すべてのメタキーは_cmb_
というプレフィックスがついているように見えます。あなたの開始時間キーはtext_datetime_timestamp
なので、プレフィックスと組み合わせて、あなたはフェッチしたいです:
get_post_meta( get_the_ID(), '_cmb_text_datetime_timestamp', true );
3つ目のパラメータに注意してください。true
に設定すると単一の値を取得します。これは、単一のキーの下に複数の値を保存できるため、結果として値の配列が得られるためです。
メタデータが保存されているすべてのキーを確認する最も簡単な方法は、 get_post_custom_keys
です。
$custom_field_keys = get_post_custom_keys();
foreach( $custom_field_keys as $key => $value ) {
echo $key . " => " . $value . "<br />";
}
それをループに入れると、メタデータが保存されているすべてのキーの名前がわかります。