1

1 つの投稿に 2 つの「カスタム フィールド」が割り当てられています。これらの「カスタム フィールド」はどちらも同じ名前ですが、「値」が異なります。現時点では、以下のコードはリンクの 1 つだけを示しています。両方を表示するようにしています。そのため、「Featured-Blog」という名前の別の「カスタム フィールド」を追加すると、それらすべてが引き続き表示されます。

カスタム フィールドの
1)名前: Featured-Blog および値: 704 (704 は postID)
2)名前: Featured-Blog および値: 699 (699 は postID)

各投稿へのリンクを表示するために使用されているコード。(表示するカスタム フィールドの 1 つだけを取得できます)

出力のスクリーンショット

ここに画像の説明を入力

使用中のコード

<?php $related = get_post_meta($post->ID, "Featured-Blog", $single=true);

        $related=explode(',',$related);
        $args = array_merge( array('post__in'  => $related, $wp_query->query ) );
        query_posts($args);
        if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

        <div id="<?php the_ID(); ?>">
            <a href="<?php the_permalink();?>"><p class="caption"><?php the_title(); ?></p></a>
        </div>

    <?php endwhile; else: ?>
    <p>no related</p>
    <?php endif; wp_reset_query();?>

以下は、私が最初に使用しようとしていた古いコードですが、最終的に使用することはありませんでした。これは実際に私の「カスタムフィールド」の両方をプルします。投稿のタイトルではなく「タイトル」と表示されているため、明らかにコードが異なっていることがわかります。しかし、以下のコードを簡単に修正できない限り、複数の「カスタム フィールド」を表示できることを示すために、このコードを例として使用しています。上記の作業スクリプトに組み込むことができるコード形式の一部かもしれません。上記のコードとこの下のコードは、私がやろうとしていることに非常に近いものです。一方のように見えますが、もう一方が必要とするものがあります。

出力のスクリーンショット

ここに画像の説明を入力

<div id="related-posts">
<?php
  $custom_fields = get_post_custom($post_id); //Current post id
  $my_custom_field = $custom_fields['Featured-Blog']; //key name
  foreach ( $my_custom_field as $key => $url )
 echo $key ="<a href='".$url."'>TEST</a><br /><br /><br/>";
?>
4

1 に答える 1

1

を使用するときfalseの代わりに渡すだけです:trueget_post_meta()

$related = get_post_meta( $post->ID, "Featured-Blog", false );
var_dump( $related );

を使用するvar_dumpと、変数の生の内容を確認できます。とにかく、配列を受け取るので、次のように簡単に実行できます。

$related = get_post_meta( $post->ID, "Featured-Blog", false );
$args = array_merge( array('post__in'  => $related, $wp_query->query ) );

get_post_custom一方、投稿のすべてのカスタム フィールドを取得し、最後に同じ結果を生成します。値に対して追加のコマンドを実行するだけです。

を使用しないでquery_postsください。

于 2013-10-20T17:05:15.013 に答える