0

このコードを変更して、ユーザーが現在いる投稿のカスタムフィールドを取得するように表示する必要があります。

// this needs to be modified
<?php
global $post;
$args = array('category' => 37, 'post_type' => 'post' ); 
$postslist = get_posts( $args ); 
foreach ($postslist as $post) : setup_postdata($post); 
?> 
// end this needs to be modified

<?php if( get_post_meta($post->ID, "Title", true) ): ?>
<?php echo get_post_meta($post->ID, "Title", true); ?></p>
<?php endif; ?>

これが含まれるので、get_post_metaだけでは作成できません。

どうもありがとう!

4

1 に答える 1

1

これはループを無視し、現在のページのカスタムフィールドのみを表示します。get_the_ID()に注意してください。

<?php if( get_post_meta(get_the_ID(), "Title", true) ): ?>
    <p><?php echo get_post_meta(get_the_ID(), "Title", true); ?></p>
<?php endif; ?>

<?php
global $post;
$args = array('category' => 37, 'post_type' => 'post' ); 
$postslist = get_posts( $args ); 
foreach ($postslist as $post){
    setup_postdata($post);
}
?> 

そして、これはループ内から「タイトル」という名前のすべてのカスタムフィールドを出力します。

<?php
global $post;
$args = array('category' => 37, 'post_type' => 'post' ); 
$postslist = get_posts( $args ); 
foreach ($postslist as $post){
    setup_postdata($post);

    echo('<p>'.get_post_meta($post->ID, "Title", true).'</p>');
}
?>
于 2013-01-09T00:42:47.180 に答える