代码之家  ›  专栏  ›  技术社区  ›  markratledge

这个用于WordPress的PHP代码的语法有问题吗?

  •  0
  • markratledge  · 技术社区  · 15 年前

    似乎这方面的问题是PHP语法,但在WordPress论坛上没有运气。第一个代码块生成一个链接,指向类别“posts”中的最新post。

    <?php $my_query = new WP_Query('category_name=posts&showposts=1'); ?>
    <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
      <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>
    <?php endwhile; ?>
    

    下一个代码块应该在“posts”中显示最近一个post的自定义字段数据,自定义字段的键为“qanda”,但它不显示,也不显示任何内容。

    <?php $my_query = new WP_Query('category_name=posts&showposts=1'); ?>
    <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
      <?php echo get_post_meta($post->ID, "qanda", $single = true); ?>
    <?php endwhile; ?>
    

    谢谢,马克

    3 回复  |  直到 15 年前
        1
  •  1
  •   pixeline    15 年前

    尝试重命名第二个查询,否则WordPress会认为已经完成了。

    <?php 
    
    $my_other_query = new WP_Query('category_name=posts&showposts=1');
    
    while ($my_other_query->have_posts()) : $my_other_query->the_post();
     echo get_post_meta($post->ID, "qanda", true); 
     endwhile; 
    ?>
    
        2
  •  1
  •   Greg    15 年前

    除此之外 $single = true 应该只是 true 看起来不错…尝试 var_dump 而不是 echo 看看你得到了什么。

        3
  •  0
  •   Tyler Carter    15 年前

    你可能需要给它取个不同的名字。WordPress可能认为你已经完成了这组帖子,所以它是从最后开始的,这意味着它不再有帖子需要处理。