web-dev-qa-db-ja.com

ループ外で使用するためのポストメタを取得するための戦略

上記の質問に対する解決策を知る必要があります。ループの外側で投稿メタ情報が必要な場合があります。たとえば、私は、投稿メタ情報に基づいて特定のベンダーの広告をそのページの特定のページのあらゆる場所に表示するテーマを開発しています。なぜなら、私はバイリンガルのブログで、言語ごとに異なるベンダーを使用するからです(CTRの理由から)。

それで、皆さんはこの種の問題に対する解決策を持っていますか?

2
ariefbayu

カスタムフィールドや投稿からの情報にメタが好きという意味ですか?

基本的にあなたがポストIDを持っている限り、あなたは望むものなら何でも手に入れることができます、ループに結び付けられません。

カスタムフィールドには get_post_meta() があります。

一般的な情報(タイトルやコンテンツなど)にはたくさんの関数があり(多くのテンプレートタグはpost idを明示的に渡すことができます。それらはデフォルトの現在のLoopアイテムになります)そしてget_post_field($field, $post);があります(ドキュメンテーションにはありませんが自己説明) 。

1
Rarst

グローバル変数$postにはすべての投稿の詳細が含まれているので、それらをループの外側で使用できます。基本的には、次のことができます。

<?php
global $post;
echo get_post_meta($post->ID, 'my-ad', true);
?>
1
sorich87