1

これほど単純なことは、はるかに簡単に実行できるはずです。

リストページには、特定のカスタム投稿フィールドを引き出してタイトルと情報を表示するサイドバーがあります。ここで見られるかもしれません。(「価格」から下はすべてカスタム フィールドです。)

このデータを表示する PHP ファイルのコードは次のとおりです。

if (!$preview){ 
    echo get_post_custom_listing_single_page($post->ID,'<p><span class="post_cus_field {#HTMLVAR#}">{#TITLE#} : </span>{#VALUE#}</p>');
} elseif ($preview && $_REQUEST['alook']){
    echo get_post_custom_listing_single_page(mysql_real_escape_string($_REQUEST['pid']),'<p><span class="{#HTMLVAR#}">{#TITLE#}</span> : {#VALUE#}</p>');
} else {
    echo get_post_custom_listing_single_page_preview($post->ID,'<p><span class="post_cus_field {#HTMLVAR#}">{#TITLE#} : </span>{#VALUE#}</p>');
}

投稿の下部(主な情報の下)でこれを再作成したいだけです。ループを再作成してから上記の情報を呼び出す必要があると思いますが、これを理解するのに苦労しています。

助けてくれるWordpressの専門家はいますか?

(また、最終的には、個々のカスタム投稿フィールド (「価格」、「宿泊施設」など) を呼び出して、それをタブまたはアコーディオン スクリプトで表示できるようにしたいと考えています。)

ありがとう!

4

2 に答える 2

4

single.php または別の対応するテーマ ファイルに挿入されたこのループによって、すべての投稿のカスタム フィールドをエコーできます。

 $custom_fields = get_post_custom( get_the_ID() );
  $my_custom_field = $custom_fields['my_custom_field'];
  foreach ( $my_custom_field as $key => $value )
    echo $key . " => " . $value . "<br />";

それよりも、カスタム投稿フィールドのキーがわかったら、それらを 1 つずつ呼び出すことができます。

echo get_post_meta( get_the_ID(), 'custom-field-key', true);

最初のループは、適切なキーが何であるかを知るためのものなので、それ以降は必要ありません。

于 2013-01-27T16:21:59.937 に答える
1
$custom_fields = get_post_custom( get_the_ID() );

if  ($my_custom_field = $custom_fields['custom_field Name'])
{

  foreach ( $my_custom_field as  $value )
{
   echo 'Price: '.$value ;
}

}
于 2016-11-21T06:26:45.833 に答える