web-dev-qa-db-ja.com

メタボックスの値を取得する方法 - WP タッツチュートリアル

私はこれらのツリーチュートリアルをカスタムメタボックスを作成するために行いました。

  • wp.​​tutsplus.com/tutorials/reusable-custom-meta-boxes-part-1-intro-and-basic-fields/
  • wp.​​tutsplus.com/tutorials/reusable-custom-meta-boxes-part-2-advanced-fields/
  • wp.​​tutsplus.com/tutorials/reusable-custom-meta-boxes-part-3-extra-fields/

しかし、個々のフィールドから値を呼び出す方法がわかりません。私はこのphpスクリプトを使いました

$meta = get_post_meta($post->ID, $field['id'], true);
echo $meta;

しかし、idは機能しません。誰かが私が悪いことを知っていますか。

これが私のfunction.phpです http://www.4shared.com/file/8jmKqGFY/functions.html

そしてここに私のindex.phpです http://www.4shared.com/file/iAWwZim7/index.html

1
Itachi

コードを見直した後、メタコンテンツがどこに保持されているかに応じて、変更する必要があることがいくつかあります。

試してみると

$meta = get_post_meta( get_the_ID(), 'custom_text', TRUE );
echo 'The meta content is: ' . $meta;`

それはあなたに適切なメタを与えるはずです。

あなたは、ページコンテンツに対してこの関数を呼び出しているので、メタコンテンツが保持されていない限り、何も出力されません。

それが役立つことを願っています!

3
Cristian

get_the_ID()を使用できないテンプレートファイル(プラグインファイルを使用しているなど)を使用していない場合は、まずメタコンテンツに関連付けられている投稿オブジェクトへのポインタを取得し、次に$post->IDを使用します。

たとえば、メタボックスを表示する関数を定義するためにadd_meta_boxを使用した場合(たとえばdisplay_meta_box)、メタボックスの値を次のように取得できます。

function display_meta_box( $post ) {
  $meta = get_post_meta($post->ID, "meta_key", true); 
  echo "<input name='x' value='$meta' />";
}
0
che-azeh